1982 lines
75 KiB
Protocol Buffer
1982 lines
75 KiB
Protocol Buffer
// Copyright 2020 Google LLC
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
syntax = "proto3";
|
|
|
|
package google.storage.v1;
|
|
|
|
import "google/api/field_behavior.proto";
|
|
import "google/iam/v1/iam_policy.proto";
|
|
import "google/iam/v1/policy.proto";
|
|
import "google/protobuf/empty.proto";
|
|
import "google/protobuf/field_mask.proto";
|
|
import "google/protobuf/wrappers.proto";
|
|
import "google/storage/v1/storage_resources.proto";
|
|
import "google/api/client.proto";
|
|
|
|
option go_package = "google.golang.org/genproto/googleapis/storage/v1;storage";
|
|
option java_multiple_files = true;
|
|
option java_package = "com.google.storage.v1";
|
|
|
|
// Manages Google Cloud Storage resources.
|
|
service Storage {
|
|
option (google.api.default_host) = "storage.googleapis.com";
|
|
option (google.api.oauth_scopes) =
|
|
"https://www.googleapis.com/auth/cloud-platform,"
|
|
"https://www.googleapis.com/auth/cloud-platform.read-only,"
|
|
"https://www.googleapis.com/auth/devstorage.full_control,"
|
|
"https://www.googleapis.com/auth/devstorage.read_only,"
|
|
"https://www.googleapis.com/auth/devstorage.read_write";
|
|
|
|
// Permanently deletes the ACL entry for the specified entity on the specified
|
|
// bucket.
|
|
rpc DeleteBucketAccessControl(DeleteBucketAccessControlRequest) returns (google.protobuf.Empty) {
|
|
}
|
|
|
|
// Returns the ACL entry for the specified entity on the specified bucket.
|
|
rpc GetBucketAccessControl(GetBucketAccessControlRequest) returns (BucketAccessControl) {
|
|
}
|
|
|
|
// Creates a new ACL entry on the specified bucket.
|
|
rpc InsertBucketAccessControl(InsertBucketAccessControlRequest) returns (BucketAccessControl) {
|
|
}
|
|
|
|
// Retrieves ACL entries on the specified bucket.
|
|
rpc ListBucketAccessControls(ListBucketAccessControlsRequest) returns (ListBucketAccessControlsResponse) {
|
|
}
|
|
|
|
// Updates an ACL entry on the specified bucket. Equivalent to
|
|
// PatchBucketAccessControl, but all unspecified fields will be
|
|
// reset to their default values.
|
|
rpc UpdateBucketAccessControl(UpdateBucketAccessControlRequest) returns (BucketAccessControl) {
|
|
}
|
|
|
|
// Updates an ACL entry on the specified bucket.
|
|
rpc PatchBucketAccessControl(PatchBucketAccessControlRequest) returns (BucketAccessControl) {
|
|
}
|
|
|
|
// Permanently deletes an empty bucket.
|
|
rpc DeleteBucket(DeleteBucketRequest) returns (google.protobuf.Empty) {
|
|
}
|
|
|
|
// Returns metadata for the specified bucket.
|
|
rpc GetBucket(GetBucketRequest) returns (Bucket) {
|
|
}
|
|
|
|
// Creates a new bucket.
|
|
rpc InsertBucket(InsertBucketRequest) returns (Bucket) {
|
|
}
|
|
|
|
// List active object change notification channels for this bucket.
|
|
rpc ListChannels(ListChannelsRequest) returns (ListChannelsResponse) {
|
|
}
|
|
|
|
// Retrieves a list of buckets for a given project.
|
|
rpc ListBuckets(ListBucketsRequest) returns (ListBucketsResponse) {
|
|
}
|
|
|
|
// Locks retention policy on a bucket.
|
|
rpc LockBucketRetentionPolicy(LockRetentionPolicyRequest) returns (Bucket) {
|
|
}
|
|
|
|
// Gets the IAM policy for the specified bucket.
|
|
rpc GetBucketIamPolicy(GetIamPolicyRequest) returns (google.iam.v1.Policy) {
|
|
}
|
|
|
|
// Updates an IAM policy for the specified bucket.
|
|
rpc SetBucketIamPolicy(SetIamPolicyRequest) returns (google.iam.v1.Policy) {
|
|
}
|
|
|
|
// Tests a set of permissions on the given bucket to see which, if
|
|
// any, are held by the caller.
|
|
rpc TestBucketIamPermissions(TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) {
|
|
}
|
|
|
|
// Updates a bucket. Changes to the bucket will be readable immediately after
|
|
// writing, but configuration changes may take time to propagate.
|
|
rpc PatchBucket(PatchBucketRequest) returns (Bucket) {
|
|
}
|
|
|
|
// Updates a bucket. Equivalent to PatchBucket, but always replaces all
|
|
// mutatable fields of the bucket with new values, reverting all
|
|
// unspecified fields to their default values.
|
|
// Like PatchBucket, Changes to the bucket will be readable immediately after
|
|
// writing, but configuration changes may take time to propagate.
|
|
rpc UpdateBucket(UpdateBucketRequest) returns (Bucket) {
|
|
}
|
|
|
|
// Halts "Object Change Notification" push messagages.
|
|
// See https://cloud.google.com/storage/docs/object-change-notification
|
|
// Note: this is not related to the newer "Notifications" resource, which
|
|
// are stopped using DeleteNotification.
|
|
rpc StopChannel(StopChannelRequest) returns (google.protobuf.Empty) {
|
|
}
|
|
|
|
// Permanently deletes the default object ACL entry for the specified entity
|
|
// on the specified bucket.
|
|
rpc DeleteDefaultObjectAccessControl(DeleteDefaultObjectAccessControlRequest) returns (google.protobuf.Empty) {
|
|
}
|
|
|
|
// Returns the default object ACL entry for the specified entity on the
|
|
// specified bucket.
|
|
rpc GetDefaultObjectAccessControl(GetDefaultObjectAccessControlRequest) returns (ObjectAccessControl) {
|
|
}
|
|
|
|
// Creates a new default object ACL entry on the specified bucket.
|
|
rpc InsertDefaultObjectAccessControl(InsertDefaultObjectAccessControlRequest) returns (ObjectAccessControl) {
|
|
}
|
|
|
|
// Retrieves default object ACL entries on the specified bucket.
|
|
rpc ListDefaultObjectAccessControls(ListDefaultObjectAccessControlsRequest) returns (ListObjectAccessControlsResponse) {
|
|
}
|
|
|
|
// Updates a default object ACL entry on the specified bucket.
|
|
rpc PatchDefaultObjectAccessControl(PatchDefaultObjectAccessControlRequest) returns (ObjectAccessControl) {
|
|
}
|
|
|
|
// Updates a default object ACL entry on the specified bucket. Equivalent to
|
|
// PatchDefaultObjectAccessControl, but modifies all unspecified fields to
|
|
// their default values.
|
|
rpc UpdateDefaultObjectAccessControl(UpdateDefaultObjectAccessControlRequest) returns (ObjectAccessControl) {
|
|
}
|
|
|
|
// Permanently deletes a notification subscription.
|
|
// Note: Older, "Object Change Notification" push subscriptions should be
|
|
// deleted using StopChannel instead.
|
|
rpc DeleteNotification(DeleteNotificationRequest) returns (google.protobuf.Empty) {
|
|
}
|
|
|
|
// View a notification configuration.
|
|
rpc GetNotification(GetNotificationRequest) returns (Notification) {
|
|
}
|
|
|
|
// Creates a notification subscription for a given bucket.
|
|
// These notifications, when triggered, publish messages to the specified
|
|
// Cloud Pub/Sub topics.
|
|
// See https://cloud.google.com/storage/docs/pubsub-notifications.
|
|
rpc InsertNotification(InsertNotificationRequest) returns (Notification) {
|
|
}
|
|
|
|
// Retrieves a list of notification subscriptions for a given bucket.
|
|
rpc ListNotifications(ListNotificationsRequest) returns (ListNotificationsResponse) {
|
|
}
|
|
|
|
// Permanently deletes the ACL entry for the specified entity on the specified
|
|
// object.
|
|
rpc DeleteObjectAccessControl(DeleteObjectAccessControlRequest) returns (google.protobuf.Empty) {
|
|
}
|
|
|
|
// Returns the ACL entry for the specified entity on the specified object.
|
|
rpc GetObjectAccessControl(GetObjectAccessControlRequest) returns (ObjectAccessControl) {
|
|
}
|
|
|
|
// Creates a new ACL entry on the specified object.
|
|
rpc InsertObjectAccessControl(InsertObjectAccessControlRequest) returns (ObjectAccessControl) {
|
|
}
|
|
|
|
// Retrieves ACL entries on the specified object.
|
|
rpc ListObjectAccessControls(ListObjectAccessControlsRequest) returns (ListObjectAccessControlsResponse) {
|
|
}
|
|
|
|
// Patches an ACL entry on the specified object. Patch is similar to update,
|
|
// but only applies or appends the specified fields in the
|
|
// object_access_control object. Other fields are unaffected.
|
|
rpc PatchObjectAccessControl(PatchObjectAccessControlRequest) returns (ObjectAccessControl) {
|
|
}
|
|
|
|
// Updates an ACL entry on the specified object.
|
|
rpc UpdateObjectAccessControl(UpdateObjectAccessControlRequest) returns (ObjectAccessControl) {
|
|
}
|
|
|
|
// Concatenates a list of existing objects into a new object in the same
|
|
// bucket.
|
|
rpc ComposeObject(ComposeObjectRequest) returns (Object) {
|
|
}
|
|
|
|
// Copies a source object to a destination object. Optionally overrides
|
|
// metadata.
|
|
rpc CopyObject(CopyObjectRequest) returns (Object) {
|
|
}
|
|
|
|
// Deletes an object and its metadata. Deletions are permanent if versioning
|
|
// is not enabled for the bucket, or if the `generation` parameter
|
|
// is used.
|
|
rpc DeleteObject(DeleteObjectRequest) returns (google.protobuf.Empty) {
|
|
}
|
|
|
|
// Retrieves an object's metadata.
|
|
rpc GetObject(GetObjectRequest) returns (Object) {
|
|
}
|
|
|
|
// Reads an object's data.
|
|
rpc GetObjectMedia(GetObjectMediaRequest) returns (stream GetObjectMediaResponse) {
|
|
}
|
|
|
|
// Stores a new object and metadata.
|
|
//
|
|
// An object can be written either in a single message stream or in a
|
|
// resumable sequence of message streams. To write using a single stream,
|
|
// the client should include in the first message of the stream an
|
|
// `InsertObjectSpec` describing the destination bucket, object, and any
|
|
// preconditions. Additionally, the final message must set 'finish_write' to
|
|
// true, or else it is an error.
|
|
//
|
|
// For a resumable write, the client should instead call
|
|
// `StartResumableWrite()` and provide that method an `InsertObjectSpec.`
|
|
// They should then attach the returned `upload_id` to the first message of
|
|
// each following call to `Insert`. If there is an error or the connection is
|
|
// broken during the resumable `Insert()`, the client should check the status
|
|
// of the `Insert()` by calling `QueryWriteStatus()` and continue writing from
|
|
// the returned `committed_size`. This may be less than the amount of data the
|
|
// client previously sent.
|
|
//
|
|
// The service will not view the object as complete until the client has
|
|
// sent an `Insert` with `finish_write` set to `true`. Sending any
|
|
// requests on a stream after sending a request with `finish_write` set to
|
|
// `true` will cause an error. The client **should** check the
|
|
// `Object` it receives to determine how much data the service was
|
|
// able to commit and whether the service views the object as complete.
|
|
rpc InsertObject(stream InsertObjectRequest) returns (Object) {
|
|
}
|
|
|
|
// Retrieves a list of objects matching the criteria.
|
|
rpc ListObjects(ListObjectsRequest) returns (ListObjectsResponse) {
|
|
}
|
|
|
|
// Rewrites a source object to a destination object. Optionally overrides
|
|
// metadata.
|
|
rpc RewriteObject(RewriteObjectRequest) returns (RewriteResponse) {
|
|
}
|
|
|
|
// Starts a resumable write. How long the write operation remains valid, and
|
|
// what happens when the write operation becomes invalid, are
|
|
// service-dependent.
|
|
rpc StartResumableWrite(StartResumableWriteRequest) returns (StartResumableWriteResponse) {
|
|
}
|
|
|
|
// Determines the `committed_size` for an object that is being written, which
|
|
// can then be used as the `write_offset` for the next `Write()` call.
|
|
//
|
|
// If the object does not exist (i.e., the object has been deleted, or the
|
|
// first `Write()` has not yet reached the service), this method returns the
|
|
// error `NOT_FOUND`.
|
|
//
|
|
// The client **may** call `QueryWriteStatus()` at any time to determine how
|
|
// much data has been processed for this object. This is useful if the
|
|
// client is buffering data and needs to know which data can be safely
|
|
// evicted. For any sequence of `QueryWriteStatus()` calls for a given
|
|
// object name, the sequence of returned `committed_size` values will be
|
|
// non-decreasing.
|
|
rpc QueryWriteStatus(QueryWriteStatusRequest) returns (QueryWriteStatusResponse) {
|
|
}
|
|
|
|
// Updates an object's metadata.
|
|
rpc PatchObject(PatchObjectRequest) returns (Object) {
|
|
}
|
|
|
|
// Updates an object's metadata. Equivalent to PatchObject, but always
|
|
// replaces all mutatable fields of the bucket with new values, reverting all
|
|
// unspecified fields to their default values.
|
|
rpc UpdateObject(UpdateObjectRequest) returns (Object) {
|
|
}
|
|
|
|
// Gets the IAM policy for the specified object.
|
|
rpc GetObjectIamPolicy(GetIamPolicyRequest) returns (google.iam.v1.Policy) {
|
|
}
|
|
|
|
// Updates an IAM policy for the specified object.
|
|
rpc SetObjectIamPolicy(SetIamPolicyRequest) returns (google.iam.v1.Policy) {
|
|
}
|
|
|
|
// Tests a set of permissions on the given object to see which, if
|
|
// any, are held by the caller.
|
|
rpc TestObjectIamPermissions(TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) {
|
|
}
|
|
|
|
// Watch for changes on all objects in a bucket.
|
|
rpc WatchAllObjects(WatchAllObjectsRequest) returns (Channel) {
|
|
}
|
|
|
|
// Retrieves the name of a project's Google Cloud Storage service account.
|
|
rpc GetServiceAccount(GetProjectServiceAccountRequest) returns (ServiceAccount) {
|
|
}
|
|
|
|
// Creates a new HMAC key for the given service account.
|
|
rpc CreateHmacKey(CreateHmacKeyRequest) returns (CreateHmacKeyResponse) {
|
|
}
|
|
|
|
// Deletes a given HMAC key. Key must be in an INACTIVE state.
|
|
rpc DeleteHmacKey(DeleteHmacKeyRequest) returns (google.protobuf.Empty) {
|
|
}
|
|
|
|
// Gets an existing HMAC key metadata for the given id.
|
|
rpc GetHmacKey(GetHmacKeyRequest) returns (HmacKeyMetadata) {
|
|
}
|
|
|
|
// Lists HMAC keys under a given project with the additional filters provided.
|
|
rpc ListHmacKeys(ListHmacKeysRequest) returns (ListHmacKeysResponse) {
|
|
}
|
|
|
|
// Updates a given HMAC key state between ACTIVE and INACTIVE.
|
|
rpc UpdateHmacKey(UpdateHmacKeyRequest) returns (HmacKeyMetadata) {
|
|
}
|
|
}
|
|
|
|
// Request message for DeleteBucketAccessControl.
|
|
message DeleteBucketAccessControlRequest {
|
|
// Required. Name of a bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The entity holding the permission. Can be one of:
|
|
// * `user-`*userId*
|
|
// * `user-`*emailAddress*
|
|
// * `group-`*groupId*
|
|
// * `group-`*emailAddress*
|
|
// * `allUsers`
|
|
// * `allAuthenticatedUsers`
|
|
string entity = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 4;
|
|
}
|
|
|
|
// Request message for GetBucketAccessControl.
|
|
message GetBucketAccessControlRequest {
|
|
// Required. Name of a bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The entity holding the permission. Can be one of:
|
|
// * `user-`*userId*
|
|
// * `user-`*emailAddress*
|
|
// * `group-`*groupId*
|
|
// * `group-`*emailAddress*
|
|
// * `allUsers`
|
|
// * `allAuthenticatedUsers`
|
|
string entity = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 4;
|
|
}
|
|
|
|
// Request message for InsertBucketAccessControl.
|
|
message InsertBucketAccessControlRequest {
|
|
// Required. Name of a bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Properties of the new bucket access control being inserted.
|
|
BucketAccessControl bucket_access_control = 3;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 4;
|
|
}
|
|
|
|
// Request message for ListBucketAccessControl.
|
|
message ListBucketAccessControlsRequest {
|
|
// Required. Name of a bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 3;
|
|
}
|
|
|
|
// Request for PatchBucketAccessControl.
|
|
message PatchBucketAccessControlRequest {
|
|
// Required. Name of a bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The entity holding the permission. Can be one of:
|
|
// * `user-`*userId*
|
|
// * `user-`*emailAddress*
|
|
// * `group-`*groupId*
|
|
// * `group-`*emailAddress*
|
|
// * `allUsers`
|
|
// * `allAuthenticatedUsers`
|
|
string entity = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// The BucketAccessControl for updating.
|
|
BucketAccessControl bucket_access_control = 4;
|
|
|
|
// List of fields to be updated.
|
|
//
|
|
// To specify ALL fields, equivalent to the JSON API's "update" function,
|
|
// specify a single field with the value `*`.
|
|
//
|
|
//
|
|
// Not specifying any fields is an error.
|
|
// Not specifying a field while setting that field to a non-default value is
|
|
// an error.
|
|
google.protobuf.FieldMask update_mask = 5;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 6;
|
|
}
|
|
|
|
// Request for UpdateBucketAccessControl.
|
|
message UpdateBucketAccessControlRequest {
|
|
// Required. Name of a bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The entity holding the permission. Can be one of:
|
|
// * `user-`*userId*
|
|
// * `user-`*emailAddress*
|
|
// * `group-`*groupId*
|
|
// * `group-`*emailAddress*
|
|
// * `allUsers`
|
|
// * `allAuthenticatedUsers`
|
|
string entity = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// The BucketAccessControl for updating.
|
|
BucketAccessControl bucket_access_control = 4;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 5;
|
|
}
|
|
|
|
// Request message for DeleteBucket.
|
|
message DeleteBucketRequest {
|
|
// Required. Name of a bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// If set, only deletes the bucket if its metageneration matches this value.
|
|
google.protobuf.Int64Value if_metageneration_match = 2;
|
|
|
|
// If set, only deletes the bucket if its metageneration does not match this
|
|
// value.
|
|
google.protobuf.Int64Value if_metageneration_not_match = 3;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 5;
|
|
}
|
|
|
|
// Request message for GetBucket.
|
|
message GetBucketRequest {
|
|
// Required. Name of a bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Makes the return of the bucket metadata conditional on whether the bucket's
|
|
// current metageneration matches the given value.
|
|
google.protobuf.Int64Value if_metageneration_match = 2;
|
|
|
|
// Makes the return of the bucket metadata conditional on whether the bucket's
|
|
// current metageneration does not match the given value.
|
|
google.protobuf.Int64Value if_metageneration_not_match = 3;
|
|
|
|
// Set of properties to return. Defaults to `NO_ACL`.
|
|
CommonEnums.Projection projection = 4;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 6;
|
|
}
|
|
|
|
// Request message for InsertBucket.
|
|
message InsertBucketRequest {
|
|
// Apply a predefined set of access controls to this bucket.
|
|
CommonEnums.PredefinedBucketAcl predefined_acl = 1;
|
|
|
|
// Apply a predefined set of default object access controls to this bucket.
|
|
CommonEnums.PredefinedObjectAcl predefined_default_object_acl = 2;
|
|
|
|
// Required. A valid API project identifier.
|
|
string project = 3 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Set of properties to return. Defaults to `NO_ACL`, unless the
|
|
// bucket resource specifies `acl` or `defaultObjectAcl`
|
|
// properties, when it defaults to `FULL`.
|
|
CommonEnums.Projection projection = 4;
|
|
|
|
// Properties of the new bucket being inserted, including its name.
|
|
Bucket bucket = 6;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 7;
|
|
}
|
|
|
|
// Request message for ListChannels.
|
|
message ListChannelsRequest {
|
|
// Required. Name of a bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 3;
|
|
}
|
|
|
|
// Request message for ListBuckets.
|
|
message ListBucketsRequest {
|
|
// Maximum number of buckets to return in a single response. The service will
|
|
// use this parameter or 1,000 items, whichever is smaller.
|
|
int32 max_results = 1;
|
|
|
|
// A previously-returned page token representing part of the larger set of
|
|
// results to view.
|
|
string page_token = 2;
|
|
|
|
// Filter results to buckets whose names begin with this prefix.
|
|
string prefix = 3;
|
|
|
|
// Required. A valid API project identifier.
|
|
string project = 4 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Set of properties to return. Defaults to `NO_ACL`.
|
|
CommonEnums.Projection projection = 5;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 7;
|
|
}
|
|
|
|
// Request message for LockRetentionPolicy.
|
|
message LockRetentionPolicyRequest {
|
|
// Required. Name of a bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Makes the operation conditional on whether bucket's current metageneration
|
|
// matches the given value. Must be positive.
|
|
int64 if_metageneration_match = 2;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 4;
|
|
}
|
|
|
|
// Request for PatchBucket method.
|
|
message PatchBucketRequest {
|
|
// Required. Name of a bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Makes the return of the bucket metadata conditional on whether the bucket's
|
|
// current metageneration matches the given value.
|
|
google.protobuf.Int64Value if_metageneration_match = 2;
|
|
|
|
// Makes the return of the bucket metadata conditional on whether the bucket's
|
|
// current metageneration does not match the given value.
|
|
google.protobuf.Int64Value if_metageneration_not_match = 3;
|
|
|
|
// Apply a predefined set of access controls to this bucket.
|
|
CommonEnums.PredefinedBucketAcl predefined_acl = 4;
|
|
|
|
// Apply a predefined set of default object access controls to this bucket.
|
|
CommonEnums.PredefinedObjectAcl predefined_default_object_acl = 5;
|
|
|
|
// Set of properties to return. Defaults to `FULL`.
|
|
CommonEnums.Projection projection = 6;
|
|
|
|
// The Bucket metadata for updating.
|
|
Bucket metadata = 8;
|
|
|
|
// List of fields to be updated.
|
|
//
|
|
// To specify ALL fields, equivalent to the JSON API's "update" function,
|
|
// specify a single field with the value `*`. Note: not recommended. If a new
|
|
// field is introduced at a later time, an older client updating with the `*`
|
|
// may accidentally reset the new field's value.
|
|
//
|
|
// Not specifying any fields is an error.
|
|
// Not specifying a field while setting that field to a non-default value is
|
|
// an error.
|
|
google.protobuf.FieldMask update_mask = 9;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 10;
|
|
}
|
|
|
|
// Request for UpdateBucket method.
|
|
message UpdateBucketRequest {
|
|
// Required. Name of a bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Makes the return of the bucket metadata conditional on whether the bucket's
|
|
// current metageneration matches the given value.
|
|
google.protobuf.Int64Value if_metageneration_match = 2;
|
|
|
|
// Makes the return of the bucket metadata conditional on whether the bucket's
|
|
// current metageneration does not match the given value.
|
|
google.protobuf.Int64Value if_metageneration_not_match = 3;
|
|
|
|
// Apply a predefined set of access controls to this bucket.
|
|
CommonEnums.PredefinedBucketAcl predefined_acl = 4;
|
|
|
|
// Apply a predefined set of default object access controls to this bucket.
|
|
CommonEnums.PredefinedObjectAcl predefined_default_object_acl = 5;
|
|
|
|
// Set of properties to return. Defaults to `FULL`.
|
|
CommonEnums.Projection projection = 6;
|
|
|
|
// The Bucket metadata for updating.
|
|
Bucket metadata = 8;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 9;
|
|
}
|
|
|
|
// Request message for StopChannel.
|
|
message StopChannelRequest {
|
|
// The channel to be stopped.
|
|
Channel channel = 1;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 2;
|
|
}
|
|
|
|
// Request message for DeleteDefaultObjectAccessControl.
|
|
message DeleteDefaultObjectAccessControlRequest {
|
|
// Required. Name of a bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The entity holding the permission. Can be one of:
|
|
// * `user-`*userId*
|
|
// * `user-`*emailAddress*
|
|
// * `group-`*groupId*
|
|
// * `group-`*emailAddress*
|
|
// * `allUsers`
|
|
// * `allAuthenticatedUsers`
|
|
string entity = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 4;
|
|
}
|
|
|
|
// Request message for GetDefaultObjectAccessControl.
|
|
message GetDefaultObjectAccessControlRequest {
|
|
// Required. Name of a bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The entity holding the permission. Can be one of:
|
|
// * `user-`*userId*
|
|
// * `user-`*emailAddress*
|
|
// * `group-`*groupId*
|
|
// * `group-`*emailAddress*
|
|
// * `allUsers`
|
|
// * `allAuthenticatedUsers`
|
|
string entity = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 4;
|
|
}
|
|
|
|
// Request message for InsertDefaultObjectAccessControl.
|
|
message InsertDefaultObjectAccessControlRequest {
|
|
// Required. Name of a bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Properties of the object access control being inserted.
|
|
ObjectAccessControl object_access_control = 3;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 4;
|
|
}
|
|
|
|
// Request message for ListDefaultObjectAccessControls.
|
|
message ListDefaultObjectAccessControlsRequest {
|
|
// Required. Name of a bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// If present, only return default ACL listing if the bucket's current
|
|
// metageneration matches this value.
|
|
google.protobuf.Int64Value if_metageneration_match = 2;
|
|
|
|
// If present, only return default ACL listing if the bucket's current
|
|
// metageneration does not match the given value.
|
|
google.protobuf.Int64Value if_metageneration_not_match = 3;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 5;
|
|
}
|
|
|
|
// Request message for PatchDefaultObjectAccessControl.
|
|
message PatchDefaultObjectAccessControlRequest {
|
|
// Required. Name of a bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The entity holding the permission. Can be one of:
|
|
// * `user-`*userId*
|
|
// * `user-`*emailAddress*
|
|
// * `group-`*groupId*
|
|
// * `group-`*emailAddress*
|
|
// * `allUsers`
|
|
// * `allAuthenticatedUsers`
|
|
string entity = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// The ObjectAccessControl for updating.
|
|
ObjectAccessControl object_access_control = 4;
|
|
|
|
// List of fields to be updated.
|
|
//
|
|
// To specify ALL fields, equivalent to the JSON API's "update" function,
|
|
// specify a single field with the value `*`. Note: not recommended. If a new
|
|
// field is introduced at a later time, an older client updating with the `*`
|
|
// may accidentally reset the new field's value.
|
|
//
|
|
// Not specifying any fields is an error.
|
|
// Not specifying a field while setting that field to a non-default value is
|
|
// an error.
|
|
google.protobuf.FieldMask update_mask = 5;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 6;
|
|
}
|
|
|
|
// Request message for UpdateDefaultObjectAccessControl.
|
|
message UpdateDefaultObjectAccessControlRequest {
|
|
// Required. Name of a bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The entity holding the permission. Can be one of:
|
|
// * `user-`*userId*
|
|
// * `user-`*emailAddress*
|
|
// * `group-`*groupId*
|
|
// * `group-`*emailAddress*
|
|
// * `allUsers`
|
|
// * `allAuthenticatedUsers`
|
|
string entity = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// The ObjectAccessControl for updating.
|
|
ObjectAccessControl object_access_control = 4;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 5;
|
|
}
|
|
|
|
// Request message for DeleteNotification.
|
|
message DeleteNotificationRequest {
|
|
// Required. The parent bucket of the notification.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. ID of the notification to delete.
|
|
string notification = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 4;
|
|
}
|
|
|
|
// Request message for GetNotification.
|
|
message GetNotificationRequest {
|
|
// Required. The parent bucket of the notification.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. Notification ID.
|
|
// Required.
|
|
string notification = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 4;
|
|
}
|
|
|
|
// Request message for InsertNotification.
|
|
message InsertNotificationRequest {
|
|
// Required. The parent bucket of the notification.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Properties of the notification to be inserted.
|
|
Notification notification = 3;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 4;
|
|
}
|
|
|
|
// Request message for ListNotifications.
|
|
message ListNotificationsRequest {
|
|
// Required. Name of a Google Cloud Storage bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 3;
|
|
}
|
|
|
|
// Request message for DeleteObjectAccessControl.
|
|
message DeleteObjectAccessControlRequest {
|
|
// Required. Name of a bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The entity holding the permission. Can be one of:
|
|
// * `user-`*userId*
|
|
// * `user-`*emailAddress*
|
|
// * `group-`*groupId*
|
|
// * `group-`*emailAddress*
|
|
// * `allUsers`
|
|
// * `allAuthenticatedUsers`
|
|
string entity = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. Name of the object.
|
|
string object = 3 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// If present, selects a specific revision of this object (as opposed to the
|
|
// latest version, the default).
|
|
int64 generation = 4;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 6;
|
|
}
|
|
|
|
// Request message for GetObjectAccessControl.
|
|
message GetObjectAccessControlRequest {
|
|
// Required. Name of a bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The entity holding the permission. Can be one of:
|
|
// * `user-`*userId*
|
|
// * `user-`*emailAddress*
|
|
// * `group-`*groupId*
|
|
// * `group-`*emailAddress*
|
|
// * `allUsers`
|
|
// * `allAuthenticatedUsers`
|
|
string entity = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. Name of the object.
|
|
string object = 3 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// If present, selects a specific revision of this object (as opposed to the
|
|
// latest version, the default).
|
|
int64 generation = 4;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 6;
|
|
}
|
|
|
|
// Request message for InsertObjectAccessControl.
|
|
message InsertObjectAccessControlRequest {
|
|
// Required. Name of a bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. Name of the object.
|
|
string object = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// If present, selects a specific revision of this object (as opposed to the
|
|
// latest version, the default).
|
|
int64 generation = 3;
|
|
|
|
// Properties of the object access control to be inserted.
|
|
ObjectAccessControl object_access_control = 5;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 6;
|
|
}
|
|
|
|
// Request message for ListObjectAccessControls.
|
|
message ListObjectAccessControlsRequest {
|
|
// Required. Name of a bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. Name of the object.
|
|
string object = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// If present, selects a specific revision of this object (as opposed to the
|
|
// latest version, the default).
|
|
int64 generation = 3;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 5;
|
|
}
|
|
|
|
// Request message for PatchObjectAccessControl.
|
|
message PatchObjectAccessControlRequest {
|
|
// Required. Name of a bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The entity holding the permission. Can be one of:
|
|
// * `user-`*userId*
|
|
// * `user-`*emailAddress*
|
|
// * `group-`*groupId*
|
|
// * `group-`*emailAddress*
|
|
// * `allUsers`
|
|
// * `allAuthenticatedUsers`
|
|
string entity = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. Name of the object.
|
|
// Required.
|
|
string object = 3 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// If present, selects a specific revision of this object (as opposed to the
|
|
// latest version, the default).
|
|
int64 generation = 4;
|
|
|
|
// The ObjectAccessControl for updating.
|
|
ObjectAccessControl object_access_control = 5;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 6;
|
|
|
|
// List of fields to be updated.
|
|
//
|
|
// To specify ALL fields, equivalent to the JSON API's "update" function,
|
|
// specify a single field with the value `*`. Note: not recommended. If a new
|
|
// field is introduced at a later time, an older client updating with the `*`
|
|
// may accidentally reset the new field's value.
|
|
//
|
|
// Not specifying any fields is an error.
|
|
// Not specifying a field while setting that field to a non-default value is
|
|
// an error.
|
|
google.protobuf.FieldMask update_mask = 7;
|
|
}
|
|
|
|
// Request message for UpdateObjectAccessControl.
|
|
message UpdateObjectAccessControlRequest {
|
|
// Required. Name of a bucket.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The entity holding the permission. Can be one of:
|
|
// * `user-`*userId*
|
|
// * `user-`*emailAddress*
|
|
// * `group-`*groupId*
|
|
// * `group-`*emailAddress*
|
|
// * `allUsers`
|
|
// * `allAuthenticatedUsers`
|
|
string entity = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. Name of the object.
|
|
// Required.
|
|
string object = 3 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// If present, selects a specific revision of this object (as opposed to the
|
|
// latest version, the default).
|
|
int64 generation = 4;
|
|
|
|
// The ObjectAccessControl for updating.
|
|
ObjectAccessControl object_access_control = 6;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 7;
|
|
|
|
// List of fields to be updated.
|
|
//
|
|
// To specify ALL fields, equivalent to the JSON API's "update" function,
|
|
// specify a single field with the value `*`. Note: not recommended. If a new
|
|
// field is introduced at a later time, an older client updating with the `*`
|
|
// may accidentally reset the new field's value.
|
|
//
|
|
// Not specifying any fields is an error.
|
|
// Not specifying a field while setting that field to a non-default value is
|
|
// an error.
|
|
google.protobuf.FieldMask update_mask = 8;
|
|
}
|
|
|
|
// Request message for ComposeObject.
|
|
message ComposeObjectRequest {
|
|
// Description of a source object for a composition request.
|
|
message SourceObjects {
|
|
// Preconditions for a source object of a composition request.
|
|
message ObjectPreconditions {
|
|
// Only perform the composition if the generation of the source object
|
|
// that would be used matches this value. If this value and a generation
|
|
// are both specified, they must be the same value or the call will fail.
|
|
google.protobuf.Int64Value if_generation_match = 1;
|
|
}
|
|
|
|
// The source object's name. All source objects must reside in the same
|
|
// bucket.
|
|
string name = 1;
|
|
|
|
// The generation of this object to use as the source.
|
|
int64 generation = 2;
|
|
|
|
// Conditions that must be met for this operation to execute.
|
|
ObjectPreconditions object_preconditions = 3;
|
|
}
|
|
|
|
// Required. Name of the bucket containing the source objects. The destination object is
|
|
// stored in this bucket.
|
|
string destination_bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. Name of the new object.
|
|
string destination_object = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Apply a predefined set of access controls to the destination object.
|
|
CommonEnums.PredefinedObjectAcl destination_predefined_acl = 3;
|
|
|
|
// Properties of the resulting object.
|
|
Object destination = 11;
|
|
|
|
// The list of source objects that will be concatenated into a single object.
|
|
repeated SourceObjects source_objects = 12;
|
|
|
|
// Makes the operation conditional on whether the object's current generation
|
|
// matches the given value. Setting to 0 makes the operation succeed only if
|
|
// there are no live versions of the object.
|
|
google.protobuf.Int64Value if_generation_match = 4;
|
|
|
|
// Makes the operation conditional on whether the object's current
|
|
// metageneration matches the given value.
|
|
google.protobuf.Int64Value if_metageneration_match = 5;
|
|
|
|
// Resource name of the Cloud KMS key, of the form
|
|
// `projects/my-project/locations/my-location/keyRings/my-kr/cryptoKeys/my-key`,
|
|
// that will be used to encrypt the object. Overrides the object
|
|
// metadata's `kms_key_name` value, if any.
|
|
string kms_key_name = 6;
|
|
|
|
// A set of parameters common to Storage API requests concerning an object.
|
|
CommonObjectRequestParams common_object_request_params = 9;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 10;
|
|
}
|
|
|
|
// Request message for CopyObject.
|
|
message CopyObjectRequest {
|
|
// Required. Name of the bucket in which to store the new object. Overrides the provided
|
|
// object
|
|
// metadata's `bucket` value, if any.
|
|
string destination_bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. Name of the new object.
|
|
// Required when the object metadata is not otherwise provided. Overrides the
|
|
// object metadata's `name` value, if any.
|
|
string destination_object = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Apply a predefined set of access controls to the destination object.
|
|
CommonEnums.PredefinedObjectAcl destination_predefined_acl = 3;
|
|
|
|
// Makes the operation conditional on whether the destination object's current
|
|
// generation matches the given value. Setting to 0 makes the operation
|
|
// succeed only if there are no live versions of the object.
|
|
google.protobuf.Int64Value if_generation_match = 4;
|
|
|
|
// Makes the operation conditional on whether the destination object's current
|
|
// generation does not match the given value. If no live object exists, the
|
|
// precondition fails. Setting to 0 makes the operation succeed only if there
|
|
// is a live version of the object.
|
|
google.protobuf.Int64Value if_generation_not_match = 5;
|
|
|
|
// Makes the operation conditional on whether the destination object's current
|
|
// metageneration matches the given value.
|
|
google.protobuf.Int64Value if_metageneration_match = 6;
|
|
|
|
// Makes the operation conditional on whether the destination object's current
|
|
// metageneration does not match the given value.
|
|
google.protobuf.Int64Value if_metageneration_not_match = 7;
|
|
|
|
// Makes the operation conditional on whether the source object's current
|
|
// generation matches the given value.
|
|
google.protobuf.Int64Value if_source_generation_match = 8;
|
|
|
|
// Makes the operation conditional on whether the source object's current
|
|
// generation does not match the given value.
|
|
google.protobuf.Int64Value if_source_generation_not_match = 9;
|
|
|
|
// Makes the operation conditional on whether the source object's current
|
|
// metageneration matches the given value.
|
|
google.protobuf.Int64Value if_source_metageneration_match = 10;
|
|
|
|
// Makes the operation conditional on whether the source object's current
|
|
// metageneration does not match the given value.
|
|
google.protobuf.Int64Value if_source_metageneration_not_match = 11;
|
|
|
|
// Set of properties to return. Defaults to `NO_ACL`, unless the
|
|
// object resource specifies the `acl` property, when it defaults
|
|
// to `full`.
|
|
CommonEnums.Projection projection = 12;
|
|
|
|
// Required. Name of the bucket in which to find the source object.
|
|
string source_bucket = 13 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. Name of the source object.
|
|
string source_object = 14 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// If present, selects a specific revision of the source object (as opposed to
|
|
// the latest version, the default).
|
|
int64 source_generation = 15;
|
|
|
|
// Properties of the resulting object. If not set, duplicate properties of
|
|
// source object.
|
|
Object destination = 17;
|
|
|
|
// Resource name of the Cloud KMS key, of the form
|
|
// `projects/my-project/locations/my-location/keyRings/my-kr/cryptoKeys/my-key`,
|
|
// that will be used to encrypt the object. Overrides the object
|
|
// metadata's `kms_key_name` value, if any.
|
|
string destination_kms_key_name = 20;
|
|
|
|
// A set of parameters common to Storage API requests concerning an object.
|
|
CommonObjectRequestParams common_object_request_params = 18;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 19;
|
|
}
|
|
|
|
// Message for deleting an object.
|
|
// Either `bucket` and `object` *or* `upload_id` **must** be set (but not both).
|
|
message DeleteObjectRequest {
|
|
// Required. Name of the bucket in which the object resides.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The name of the object to delete (when not using a resumable write).
|
|
string object = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// The resumable upload_id of the object to delete (when using a
|
|
// resumable write). This should be copied from the `upload_id` field of
|
|
// `StartResumableWriteResponse`.
|
|
string upload_id = 3;
|
|
|
|
// If present, permanently deletes a specific revision of this object (as
|
|
// opposed to the latest version, the default).
|
|
int64 generation = 4;
|
|
|
|
// Makes the operation conditional on whether the object's current generation
|
|
// matches the given value. Setting to 0 makes the operation succeed only if
|
|
// there are no live versions of the object.
|
|
google.protobuf.Int64Value if_generation_match = 5;
|
|
|
|
// Makes the operation conditional on whether the object's current generation
|
|
// does not match the given value. If no live object exists, the precondition
|
|
// fails. Setting to 0 makes the operation succeed only if there is a live
|
|
// version of the object.
|
|
google.protobuf.Int64Value if_generation_not_match = 6;
|
|
|
|
// Makes the operation conditional on whether the object's current
|
|
// metageneration matches the given value.
|
|
google.protobuf.Int64Value if_metageneration_match = 7;
|
|
|
|
// Makes the operation conditional on whether the object's current
|
|
// metageneration does not match the given value.
|
|
google.protobuf.Int64Value if_metageneration_not_match = 8;
|
|
|
|
// A set of parameters common to Storage API requests concerning an object.
|
|
CommonObjectRequestParams common_object_request_params = 10;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 11;
|
|
}
|
|
|
|
// Request message for GetObjectMedia.
|
|
message GetObjectMediaRequest {
|
|
// The name of the bucket containing the object to read.
|
|
string bucket = 1;
|
|
|
|
// The name of the object to read.
|
|
string object = 2;
|
|
|
|
// If present, selects a specific revision of this object (as opposed
|
|
// to the latest version, the default).
|
|
int64 generation = 3;
|
|
|
|
// The offset for the first byte to return in the read, relative to the start
|
|
// of the object.
|
|
//
|
|
// A negative `read_offset` value will be interpreted as the number of bytes
|
|
// back from the end of the object to be returned. For example, if an object's
|
|
// length is 15 bytes, a GetObjectMediaRequest with `read_offset` = -5 and
|
|
// `read_limit` = 3 would return bytes 10 through 12 of the object.
|
|
int64 read_offset = 4;
|
|
|
|
// The maximum number of `data` bytes the server is allowed to return in the
|
|
// sum of all `Object` messages. A `read_limit` of zero indicates that there
|
|
// is no limit, and a negative `read_limit` will cause an error.
|
|
//
|
|
// If the stream returns fewer bytes than allowed by the `read_limit` and no
|
|
// error occurred, the stream includes all data from the `read_offset` to the
|
|
// end of the resource.
|
|
int64 read_limit = 5;
|
|
|
|
// Makes the operation conditional on whether the object's current generation
|
|
// matches the given value. Setting to 0 makes the operation succeed only if
|
|
// there are no live versions of the object.
|
|
google.protobuf.Int64Value if_generation_match = 6;
|
|
|
|
// Makes the operation conditional on whether the object's current generation
|
|
// does not match the given value. If no live object exists, the precondition
|
|
// fails. Setting to 0 makes the operation succeed only if there is a live
|
|
// version of the object.
|
|
google.protobuf.Int64Value if_generation_not_match = 7;
|
|
|
|
// Makes the operation conditional on whether the object's current
|
|
// metageneration matches the given value.
|
|
google.protobuf.Int64Value if_metageneration_match = 8;
|
|
|
|
// Makes the operation conditional on whether the object's current
|
|
// metageneration does not match the given value.
|
|
google.protobuf.Int64Value if_metageneration_not_match = 9;
|
|
|
|
// A set of parameters common to Storage API requests concerning an object.
|
|
CommonObjectRequestParams common_object_request_params = 11;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 12;
|
|
}
|
|
|
|
// Request message for GetObject.
|
|
message GetObjectRequest {
|
|
// Required. Name of the bucket in which the object resides.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. Name of the object.
|
|
string object = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// If present, selects a specific revision of this object (as opposed to the
|
|
// latest version, the default).
|
|
int64 generation = 3;
|
|
|
|
// Makes the operation conditional on whether the object's current generation
|
|
// matches the given value. Setting to 0 makes the operation succeed only if
|
|
// there are no live versions of the object.
|
|
google.protobuf.Int64Value if_generation_match = 4;
|
|
|
|
// Makes the operation conditional on whether the object's current generation
|
|
// does not match the given value. If no live object exists, the precondition
|
|
// fails. Setting to 0 makes the operation succeed only if there is a live
|
|
// version of the object.
|
|
google.protobuf.Int64Value if_generation_not_match = 5;
|
|
|
|
// Makes the operation conditional on whether the object's current
|
|
// metageneration matches the given value.
|
|
google.protobuf.Int64Value if_metageneration_match = 6;
|
|
|
|
// Makes the operation conditional on whether the object's current
|
|
// metageneration does not match the given value.
|
|
google.protobuf.Int64Value if_metageneration_not_match = 7;
|
|
|
|
// Set of properties to return. Defaults to `NO_ACL`.
|
|
CommonEnums.Projection projection = 8;
|
|
|
|
// A set of parameters common to Storage API requests concerning an object.
|
|
CommonObjectRequestParams common_object_request_params = 10;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 11;
|
|
}
|
|
|
|
// Response message for GetObject.
|
|
message GetObjectMediaResponse {
|
|
// A portion of the data for the object. The service **may** leave `data`
|
|
// empty for any given `ReadResponse`. This enables the service to inform the
|
|
// client that the request is still live while it is running an operation to
|
|
// generate more data.
|
|
ChecksummedData checksummed_data = 1;
|
|
|
|
// The checksums of the complete object. The client should compute one of
|
|
// these checksums over the downloaded object and compare it against the value
|
|
// provided here.
|
|
ObjectChecksums object_checksums = 2;
|
|
|
|
// If read_offset and or read_limit was specified on the
|
|
// GetObjectMediaRequest, ContentRange will be populated on the first
|
|
// GetObjectMediaResponse message of the read stream.
|
|
ContentRange content_range = 3;
|
|
|
|
// Metadata of the object whose media is being returned.
|
|
// Only populated in the first response in the stream.
|
|
Object metadata = 4;
|
|
}
|
|
|
|
// Describes an attempt to insert an object, possibly over multiple requests.
|
|
message InsertObjectSpec {
|
|
// Destination object, including its name and its metadata.
|
|
Object resource = 1;
|
|
|
|
// Apply a predefined set of access controls to this object.
|
|
CommonEnums.PredefinedObjectAcl predefined_acl = 2;
|
|
|
|
// Makes the operation conditional on whether the object's current
|
|
// generation matches the given value. Setting to 0 makes the operation
|
|
// succeed only if there are no live versions of the object.
|
|
google.protobuf.Int64Value if_generation_match = 3;
|
|
|
|
// Makes the operation conditional on whether the object's current
|
|
// generation does not match the given value. If no live object exists, the
|
|
// precondition fails. Setting to 0 makes the operation succeed only if
|
|
// there is a live version of the object.
|
|
google.protobuf.Int64Value if_generation_not_match = 4;
|
|
|
|
// Makes the operation conditional on whether the object's current
|
|
// metageneration matches the given value.
|
|
google.protobuf.Int64Value if_metageneration_match = 5;
|
|
|
|
// Makes the operation conditional on whether the object's current
|
|
// metageneration does not match the given value.
|
|
google.protobuf.Int64Value if_metageneration_not_match = 6;
|
|
|
|
// Set of properties to return. Defaults to `NO_ACL`, unless the
|
|
// object resource specifies the `acl` property, when it defaults
|
|
// to `full`.
|
|
CommonEnums.Projection projection = 7;
|
|
}
|
|
|
|
// Message for writing an object.
|
|
message InsertObjectRequest {
|
|
// The first message of each stream should set one of the following.
|
|
oneof first_message {
|
|
// For resumable uploads. This should be the `upload_id` returned from a
|
|
// call to `StartResumableWriteResponse`.
|
|
string upload_id = 1;
|
|
|
|
// For non-resumable uploads. Describes the overall upload, including the
|
|
// destination bucket and object name, preconditions, etc.
|
|
InsertObjectSpec insert_object_spec = 2;
|
|
}
|
|
|
|
// Required. The offset from the beginning of the object at which the data should be
|
|
// written.
|
|
//
|
|
// In the first `InsertObjectRequest` of a `InsertObject()` action, it
|
|
// indicates the initial offset for the `Insert()` call. The value **must** be
|
|
// equal to the `committed_size` that a call to `QueryWriteStatus()` would
|
|
// return (0 if this is the first write to the object).
|
|
//
|
|
// On subsequent calls, this value **must** be no larger than the sum of the
|
|
// first `write_offset` and the sizes of all `data` chunks sent previously on
|
|
// this stream.
|
|
//
|
|
// An incorrect value will cause an error.
|
|
int64 write_offset = 3 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// A portion of the data for the object.
|
|
oneof data {
|
|
// The data to insert. If a crc32c checksum is provided that doesn't match
|
|
// the checksum computed by the service, the request will fail.
|
|
ChecksummedData checksummed_data = 4;
|
|
|
|
// A reference to an existing object. This can be used to support
|
|
// several use cases:
|
|
// - Writing a sequence of data buffers supports the basic use case of
|
|
// uploading a complete object, chunk by chunk.
|
|
// - Writing a sequence of references to existing objects allows an
|
|
// object to be composed from a collection of objects, which can be
|
|
// used to support parallel object writes.
|
|
// - Writing a single reference with a given offset and size can be used
|
|
// to create an object from a slice of an existing object.
|
|
// - Writing an object referencing a object slice (created as noted
|
|
// above) followed by a data buffer followed by another object
|
|
// slice can be used to support delta upload functionality.
|
|
GetObjectMediaRequest reference = 5;
|
|
}
|
|
|
|
// Checksums for the complete object. If the checksums computed by the service
|
|
// don't match the specifified checksums the call will fail. May only be
|
|
// provided in the first or last request (either with first_message, or
|
|
// finish_write set).
|
|
ObjectChecksums object_checksums = 6;
|
|
|
|
// If `true`, this indicates that the write is complete. Sending any
|
|
// `InsertObjectRequest`s subsequent to one in which `finish_write` is `true`
|
|
// will cause an error.
|
|
// For a non-resumable write (where the upload_id was not set in the first
|
|
// message), it is an error not to set this field in the final message of the
|
|
// stream.
|
|
bool finish_write = 7;
|
|
|
|
// A set of parameters common to Storage API requests concerning an object.
|
|
CommonObjectRequestParams common_object_request_params = 8;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 9;
|
|
}
|
|
|
|
// Request message for ListObjects.
|
|
message ListObjectsRequest {
|
|
// Required. Name of the bucket in which to look for objects.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Returns results in a directory-like mode. `items` will contain
|
|
// only objects whose names, aside from the `prefix`, do not
|
|
// contain `delimiter`. Objects whose names, aside from the
|
|
// `prefix`, contain `delimiter` will have their name,
|
|
// truncated after the `delimiter`, returned in
|
|
// `prefixes`. Duplicate `prefixes` are omitted.
|
|
string delimiter = 2;
|
|
|
|
// If true, objects that end in exactly one instance of `delimiter`
|
|
// will have their metadata included in `items` in addition to
|
|
// `prefixes`.
|
|
bool include_trailing_delimiter = 3;
|
|
|
|
// Maximum number of `items` plus `prefixes` to return
|
|
// in a single page of responses. As duplicate `prefixes` are
|
|
// omitted, fewer total results may be returned than requested. The service
|
|
// will use this parameter or 1,000 items, whichever is smaller.
|
|
int32 max_results = 4;
|
|
|
|
// A previously-returned page token representing part of the larger set of
|
|
// results to view.
|
|
string page_token = 5;
|
|
|
|
// Filter results to objects whose names begin with this prefix.
|
|
string prefix = 6;
|
|
|
|
// Set of properties to return. Defaults to `NO_ACL`.
|
|
CommonEnums.Projection projection = 7;
|
|
|
|
// If `true`, lists all versions of an object as distinct results.
|
|
// The default is `false`. For more information, see
|
|
// [Object
|
|
// Versioning](https://cloud.google.com/storage/docs/object-versioning).
|
|
bool versions = 9;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 10;
|
|
}
|
|
|
|
// Request object for `ByteStream.QueryWriteStatus`.
|
|
message QueryWriteStatusRequest {
|
|
// Required. The name of the resume token for the object whose write status is being
|
|
// requested.
|
|
string upload_id = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// A set of parameters common to Storage API requests concerning an object.
|
|
CommonObjectRequestParams common_object_request_params = 2;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 3;
|
|
}
|
|
|
|
// Response object for `ByteStream.QueryWriteStatus`.
|
|
message QueryWriteStatusResponse {
|
|
// The number of bytes that have been processed for the given object.
|
|
int64 committed_size = 1;
|
|
|
|
// `complete` is `true` only if the client has sent a `InsertObjectRequest`
|
|
// with `finish_write` set to true, and the server has processed that request.
|
|
bool complete = 2;
|
|
}
|
|
|
|
// Request message for RewriteObject.
|
|
message RewriteObjectRequest {
|
|
// Required. Name of the bucket in which to store the new object. Overrides the provided
|
|
// object metadata's `bucket` value, if any.
|
|
string destination_bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. Name of the new object.
|
|
// Required when the object metadata is not otherwise provided. Overrides the
|
|
// object metadata's `name` value, if any.
|
|
string destination_object = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Resource name of the Cloud KMS key, of the form
|
|
// `projects/my-project/locations/my-location/keyRings/my-kr/cryptoKeys/my-key`,
|
|
// that will be used to encrypt the object. Overrides the object
|
|
// metadata's `kms_key_name` value, if any.
|
|
string destination_kms_key_name = 3;
|
|
|
|
// Apply a predefined set of access controls to the destination object.
|
|
CommonEnums.PredefinedObjectAcl destination_predefined_acl = 4;
|
|
|
|
// Makes the operation conditional on whether the object's current generation
|
|
// matches the given value. Setting to 0 makes the operation succeed only if
|
|
// there are no live versions of the object.
|
|
google.protobuf.Int64Value if_generation_match = 5;
|
|
|
|
// Makes the operation conditional on whether the object's current generation
|
|
// does not match the given value. If no live object exists, the precondition
|
|
// fails. Setting to 0 makes the operation succeed only if there is a live
|
|
// version of the object.
|
|
google.protobuf.Int64Value if_generation_not_match = 6;
|
|
|
|
// Makes the operation conditional on whether the destination object's current
|
|
// metageneration matches the given value.
|
|
google.protobuf.Int64Value if_metageneration_match = 7;
|
|
|
|
// Makes the operation conditional on whether the destination object's current
|
|
// metageneration does not match the given value.
|
|
google.protobuf.Int64Value if_metageneration_not_match = 8;
|
|
|
|
// Makes the operation conditional on whether the source object's current
|
|
// generation matches the given value.
|
|
google.protobuf.Int64Value if_source_generation_match = 9;
|
|
|
|
// Makes the operation conditional on whether the source object's current
|
|
// generation does not match the given value.
|
|
google.protobuf.Int64Value if_source_generation_not_match = 10;
|
|
|
|
// Makes the operation conditional on whether the source object's current
|
|
// metageneration matches the given value.
|
|
google.protobuf.Int64Value if_source_metageneration_match = 11;
|
|
|
|
// Makes the operation conditional on whether the source object's current
|
|
// metageneration does not match the given value.
|
|
google.protobuf.Int64Value if_source_metageneration_not_match = 12;
|
|
|
|
// The maximum number of bytes that will be rewritten per rewrite request.
|
|
// Most callers
|
|
// shouldn't need to specify this parameter - it is primarily in place to
|
|
// support testing. If specified the value must be an integral multiple of
|
|
// 1 MiB (1048576). Also, this only applies to requests where the source and
|
|
// destination span locations and/or storage classes. Finally, this value must
|
|
// not change across rewrite calls else you'll get an error that the
|
|
// `rewriteToken` is invalid.
|
|
int64 max_bytes_rewritten_per_call = 13;
|
|
|
|
// Set of properties to return. Defaults to `NO_ACL`, unless the
|
|
// object resource specifies the `acl` property, when it defaults
|
|
// to `full`.
|
|
CommonEnums.Projection projection = 14;
|
|
|
|
// Include this field (from the previous rewrite response) on each rewrite
|
|
// request after the first one, until the rewrite response 'done' flag is
|
|
// true. Calls that provide a rewriteToken can omit all other request fields,
|
|
// but if included those fields must match the values provided in the first
|
|
// rewrite request.
|
|
string rewrite_token = 15;
|
|
|
|
// Required. Name of the bucket in which to find the source object.
|
|
string source_bucket = 16 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. Name of the source object.
|
|
string source_object = 17 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// If present, selects a specific revision of the source object (as opposed to
|
|
// the latest version, the default).
|
|
int64 source_generation = 18;
|
|
|
|
// Properties of the destination, post-rewrite object.
|
|
Object object = 20;
|
|
|
|
// The algorithm used to encrypt the source object, if any.
|
|
string copy_source_encryption_algorithm = 21;
|
|
|
|
// The encryption key used to encrypt the source object, if any.
|
|
string copy_source_encryption_key = 22;
|
|
|
|
// The SHA-256 hash of the key used to encrypt the source object, if any.
|
|
string copy_source_encryption_key_sha256 = 23;
|
|
|
|
// A set of parameters common to Storage API requests concerning an object.
|
|
CommonObjectRequestParams common_object_request_params = 24;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 25;
|
|
}
|
|
|
|
// A rewrite response.
|
|
message RewriteResponse {
|
|
// The total bytes written so far, which can be used to provide a waiting user
|
|
// with a progress indicator. This property is always present in the response.
|
|
int64 total_bytes_rewritten = 1;
|
|
|
|
// The total size of the object being copied in bytes. This property is always
|
|
// present in the response.
|
|
int64 object_size = 2;
|
|
|
|
// `true` if the copy is finished; otherwise, `false` if
|
|
// the copy is in progress. This property is always present in the response.
|
|
bool done = 3;
|
|
|
|
// A token to use in subsequent requests to continue copying data. This token
|
|
// is present in the response only when there is more data to copy.
|
|
string rewrite_token = 4;
|
|
|
|
// A resource containing the metadata for the copied-to object. This property
|
|
// is present in the response only when copying completes.
|
|
Object resource = 5;
|
|
}
|
|
|
|
// Request message StartResumableWrite.
|
|
message StartResumableWriteRequest {
|
|
// The destination bucket, object, and metadata, as well as any preconditions.
|
|
InsertObjectSpec insert_object_spec = 1;
|
|
|
|
// A set of parameters common to Storage API requests concerning an object.
|
|
CommonObjectRequestParams common_object_request_params = 3;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 4;
|
|
}
|
|
|
|
// Response object for ByteStream.StartResumableWrite.
|
|
message StartResumableWriteResponse {
|
|
// The upload_id of the newly started resumable write operation. This
|
|
// value should be copied into the `InsertObjectRequest.upload_id` field.
|
|
string upload_id = 1;
|
|
}
|
|
|
|
// Request message for PatchObject.
|
|
message PatchObjectRequest {
|
|
// Required. Name of the bucket in which the object resides.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. Name of the object.
|
|
string object = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// If present, selects a specific revision of this object (as opposed to the
|
|
// latest version, the default).
|
|
int64 generation = 3;
|
|
|
|
// Makes the operation conditional on whether the object's current generation
|
|
// matches the given value. Setting to 0 makes the operation succeed only if
|
|
// there are no live versions of the object.
|
|
google.protobuf.Int64Value if_generation_match = 4;
|
|
|
|
// Makes the operation conditional on whether the object's current generation
|
|
// does not match the given value. If no live object exists, the precondition
|
|
// fails. Setting to 0 makes the operation succeed only if there is a live
|
|
// version of the object.
|
|
google.protobuf.Int64Value if_generation_not_match = 5;
|
|
|
|
// Makes the operation conditional on whether the object's current
|
|
// metageneration matches the given value.
|
|
google.protobuf.Int64Value if_metageneration_match = 6;
|
|
|
|
// Makes the operation conditional on whether the object's current
|
|
// metageneration does not match the given value.
|
|
google.protobuf.Int64Value if_metageneration_not_match = 7;
|
|
|
|
// Apply a predefined set of access controls to this object.
|
|
CommonEnums.PredefinedObjectAcl predefined_acl = 8;
|
|
|
|
// Set of properties to return. Defaults to `FULL`.
|
|
CommonEnums.Projection projection = 9;
|
|
|
|
// The Object metadata for updating.
|
|
Object metadata = 11;
|
|
|
|
// List of fields to be updated.
|
|
//
|
|
// To specify ALL fields, equivalent to the JSON API's "update" function,
|
|
// specify a single field with the value `*`. Note: not recommended. If a new
|
|
// field is introduced at a later time, an older client updating with the `*`
|
|
// may accidentally reset the new field's value.
|
|
//
|
|
// Not specifying any fields is an error.
|
|
// Not specifying a field while setting that field to a non-default value is
|
|
// an error.
|
|
google.protobuf.FieldMask update_mask = 12;
|
|
|
|
// A set of parameters common to Storage API requests concerning an object.
|
|
CommonObjectRequestParams common_object_request_params = 13;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 14;
|
|
}
|
|
|
|
// Request message for UpdateObject.
|
|
message UpdateObjectRequest {
|
|
// Required. Name of the bucket in which the object resides.
|
|
string bucket = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. Name of the object.
|
|
string object = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// If present, selects a specific revision of this object (as opposed to the
|
|
// latest version, the default).
|
|
int64 generation = 3;
|
|
|
|
// Makes the operation conditional on whether the object's current generation
|
|
// matches the given value. Setting to 0 makes the operation succeed only if
|
|
// there are no live versions of the object.
|
|
google.protobuf.Int64Value if_generation_match = 4;
|
|
|
|
// Makes the operation conditional on whether the object's current generation
|
|
// does not match the given value. If no live object exists, the precondition
|
|
// fails. Setting to 0 makes the operation succeed only if there is a live
|
|
// version of the object.
|
|
google.protobuf.Int64Value if_generation_not_match = 5;
|
|
|
|
// Makes the operation conditional on whether the object's current
|
|
// metageneration matches the given value.
|
|
google.protobuf.Int64Value if_metageneration_match = 6;
|
|
|
|
// Makes the operation conditional on whether the object's current
|
|
// metageneration does not match the given value.
|
|
google.protobuf.Int64Value if_metageneration_not_match = 7;
|
|
|
|
// Apply a predefined set of access controls to this object.
|
|
CommonEnums.PredefinedObjectAcl predefined_acl = 8;
|
|
|
|
// Set of properties to return. Defaults to `FULL`.
|
|
CommonEnums.Projection projection = 9;
|
|
|
|
// The Object metadata for updating.
|
|
Object metadata = 11;
|
|
|
|
// A set of parameters common to Storage API requests concerning an object.
|
|
CommonObjectRequestParams common_object_request_params = 12;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 13;
|
|
}
|
|
|
|
// Request message for WatchAllObjects.
|
|
message WatchAllObjectsRequest {
|
|
// Name of the bucket in which to look for objects.
|
|
string bucket = 1;
|
|
|
|
// If `true`, lists all versions of an object as distinct results.
|
|
// The default is `false`. For more information, see
|
|
// [Object
|
|
// Versioning](https://cloud.google.com/storage/docs/object-versioning).
|
|
bool versions = 2;
|
|
|
|
// Returns results in a directory-like mode. `items` will contain
|
|
// only objects whose names, aside from the `prefix`, do not
|
|
// contain `delimiter`. Objects whose names, aside from the
|
|
// `prefix`, contain `delimiter` will have their name,
|
|
// truncated after the `delimiter`, returned in
|
|
// `prefixes`. Duplicate `prefixes` are omitted.
|
|
string delimiter = 3;
|
|
|
|
// Maximum number of `items` plus `prefixes` to return
|
|
// in a single page of responses. As duplicate `prefixes` are
|
|
// omitted, fewer total results may be returned than requested. The service
|
|
// will use this parameter or 1,000 items, whichever is smaller.
|
|
int32 max_results = 4;
|
|
|
|
// Filter results to objects whose names begin with this prefix.
|
|
string prefix = 5;
|
|
|
|
// If true, objects that end in exactly one instance of `delimiter`
|
|
// will have their metadata included in `items` in addition to
|
|
// `prefixes`.
|
|
bool include_trailing_delimiter = 6;
|
|
|
|
// A previously-returned page token representing part of the larger set of
|
|
// results to view.
|
|
string page_token = 7;
|
|
|
|
// Set of properties to return. Defaults to `NO_ACL`.
|
|
CommonEnums.Projection projection = 8;
|
|
|
|
// Properties of the channel to be inserted.
|
|
Channel channel = 10;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 11;
|
|
}
|
|
|
|
// Request message for GetProjectServiceAccount.
|
|
message GetProjectServiceAccountRequest {
|
|
// Required. Project ID.
|
|
string project_id = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 3;
|
|
}
|
|
|
|
message CreateHmacKeyRequest {
|
|
// Required. The project that the HMAC-owning service account lives in.
|
|
string project_id = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The service account to create the HMAC for.
|
|
string service_account_email = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 3;
|
|
}
|
|
|
|
// Create hmac response. The only time the secret for an HMAC will be returned.
|
|
message CreateHmacKeyResponse {
|
|
// Key metadata.
|
|
HmacKeyMetadata metadata = 1;
|
|
|
|
// HMAC key secret material.
|
|
string secret = 2;
|
|
}
|
|
|
|
// Request object to delete a given HMAC key.
|
|
message DeleteHmacKeyRequest {
|
|
// Required. The identifying key for the HMAC to delete.
|
|
string access_id = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The project id the HMAC key lies in.
|
|
string project_id = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 3;
|
|
}
|
|
|
|
// Request object to get metadata on a given HMAC key.
|
|
message GetHmacKeyRequest {
|
|
// Required. The identifying key for the HMAC to delete.
|
|
string access_id = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The project id the HMAC key lies in.
|
|
string project_id = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 3;
|
|
}
|
|
|
|
// Request to fetch a list of HMAC keys under a given project.
|
|
message ListHmacKeysRequest {
|
|
// Required. The project id to list HMAC keys for.
|
|
string project_id = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// An optional filter to only return HMAC keys for one service account.
|
|
string service_account_email = 2;
|
|
|
|
// An optional bool to return deleted keys that have not been wiped out yet.
|
|
bool show_deleted_keys = 3;
|
|
|
|
// The maximum number of keys to return.
|
|
int32 max_results = 4;
|
|
|
|
// A previously returned token from ListHmacKeysResponse to get the next page.
|
|
string page_token = 5;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 6;
|
|
}
|
|
|
|
// Hmac key list response with next page information.
|
|
message ListHmacKeysResponse {
|
|
// The continuation token, used to page through large result sets. Provide
|
|
// this value in a subsequent request to return the next page of results.
|
|
string next_page_token = 1;
|
|
|
|
// The list of items.
|
|
repeated HmacKeyMetadata items = 2;
|
|
}
|
|
|
|
// Request object to update an HMAC key state.
|
|
message UpdateHmacKeyRequest {
|
|
// Required. The id of the HMAC key.
|
|
string access_id = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The project id the HMAC's service account lies in.
|
|
string project_id = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Required. The service account owner of the HMAC key.
|
|
HmacKeyMetadata metadata = 3 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 5;
|
|
}
|
|
|
|
// A wrapper around the IAM get policy request to support our
|
|
// common_request_params.
|
|
message GetIamPolicyRequest {
|
|
// The request sent to IAM.
|
|
google.iam.v1.GetIamPolicyRequest iam_request = 1;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 2;
|
|
}
|
|
|
|
// A wrapper around the IAM set policy request to support our
|
|
// common_request_params.
|
|
message SetIamPolicyRequest {
|
|
// The request sent to IAM.
|
|
google.iam.v1.SetIamPolicyRequest iam_request = 1;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 2;
|
|
}
|
|
|
|
// A wrapper around the IAM test iam permissions request to support our
|
|
// common_request_params.
|
|
message TestIamPermissionsRequest {
|
|
// The request sent to IAM.
|
|
google.iam.v1.TestIamPermissionsRequest iam_request = 1;
|
|
|
|
// A set of parameters common to all Storage API requests.
|
|
CommonRequestParams common_request_params = 2;
|
|
}
|
|
|
|
// Parameters that can be passed to any object request.
|
|
message CommonObjectRequestParams {
|
|
// Encryption algorithm used with Customer-Supplied Encryption Keys feature.
|
|
string encryption_algorithm = 1;
|
|
|
|
// Encryption key used with Customer-Supplied Encryption Keys feature.
|
|
string encryption_key = 2;
|
|
|
|
// SHA256 hash of encryption key used with Customer-Supplied Encryption Keys
|
|
// feature.
|
|
string encryption_key_sha256 = 3;
|
|
}
|
|
|
|
// Parameters that can be passed to any request.
|
|
message CommonRequestParams {
|
|
// Required. Required when using buckets with Requestor Pays feature enabled.
|
|
string user_project = 1 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// Lets you enforce per-user quotas from a server-side application even in
|
|
// cases when the user's IP address is unknown. This can occur, for example,
|
|
// with applications that run cron jobs on App Engine on a user's behalf.
|
|
// You can choose any arbitrary string that uniquely identifies a user, but it
|
|
// is limited to 40 characters.
|
|
// Overrides user_ip if both are provided.
|
|
string quota_user = 2;
|
|
|
|
// Subset of fields to include in the response.
|
|
google.protobuf.FieldMask fields = 4;
|
|
}
|
|
|
|
// Shared constants.
|
|
message ServiceConstants {
|
|
// A collection of constant values meaningful to the Storage API.
|
|
enum Values {
|
|
option allow_alias = true;
|
|
|
|
// Unused. Proto3 requires first enum to be 0.
|
|
VALUES_UNSPECIFIED = 0;
|
|
|
|
// The maximum size chunk that can will be returned in a single
|
|
// ReadRequest.
|
|
// 2 MiB.
|
|
MAX_READ_CHUNK_BYTES = 2097152;
|
|
|
|
// The maximum size chunk that can be sent in a single InsertObjectRequest.
|
|
// 2 MiB.
|
|
MAX_WRITE_CHUNK_BYTES = 2097152;
|
|
|
|
// The maximum size of an object in MB - whether written in a single stream
|
|
// or composed from multiple other objects.
|
|
// 5 TiB.
|
|
MAX_OBJECT_SIZE_MB = 5242880;
|
|
|
|
// The maximum length field name that can be sent in a single
|
|
// custom metadata field.
|
|
// 1 KiB.
|
|
MAX_CUSTOM_METADATA_FIELD_NAME_BYTES = 1024;
|
|
|
|
// The maximum length field value that can be sent in a single
|
|
// custom_metadata field.
|
|
// 4 KiB.
|
|
MAX_CUSTOM_METADATA_FIELD_VALUE_BYTES = 4096;
|
|
|
|
// The maximum total bytes that can be populated into all field names and
|
|
// values of the custom_metadata for one object.
|
|
// 8 KiB.
|
|
MAX_CUSTOM_METADATA_TOTAL_SIZE_BYTES = 8192;
|
|
|
|
// The maximum total bytes that can be populated into all bucket metadata
|
|
// fields.
|
|
// 20 KiB.
|
|
MAX_BUCKET_METADATA_TOTAL_SIZE_BYTES = 20480;
|
|
|
|
// The maximum number of NotificationConfigurations that can be registered
|
|
// for a given bucket.
|
|
MAX_NOTIFICATION_CONFIGS_PER_BUCKET = 100;
|
|
|
|
// The maximum number of LifecycleRules that can be registered for a given
|
|
// bucket.
|
|
MAX_LIFECYCLE_RULES_PER_BUCKET = 100;
|
|
|
|
// The maximum number of custom attributes per NotificationConfig.
|
|
MAX_NOTIFICATION_CUSTOM_ATTRIBUTES = 5;
|
|
|
|
// The maximum length of a custom attribute key included in
|
|
// NotificationConfig.
|
|
MAX_NOTIFICATION_CUSTOM_ATTRIBUTE_KEY_LENGTH = 256;
|
|
|
|
// The maximum length of a custom attribute value included in a
|
|
// NotificationConfig.
|
|
MAX_NOTIFICATION_CUSTOM_ATTRIBUTE_VALUE_LENGTH = 1024;
|
|
|
|
// The maximum number of key/value entries per bucket label.
|
|
MAX_LABELS_ENTRIES_COUNT = 64;
|
|
|
|
// The maximum character length of the key or value in a bucket
|
|
// label map.
|
|
MAX_LABELS_KEY_VALUE_LENGTH = 63;
|
|
|
|
// The maximum byte size of the key or value in a bucket label
|
|
// map.
|
|
MAX_LABELS_KEY_VALUE_BYTES = 128;
|
|
|
|
// The maximum number of object IDs that can be included in a
|
|
// DeleteObjectsRequest.
|
|
MAX_OBJECT_IDS_PER_DELETE_OBJECTS_REQUEST = 1000;
|
|
|
|
// The maximum number of days for which a token returned by the
|
|
// GetListObjectsSplitPoints RPC is valid.
|
|
SPLIT_TOKEN_MAX_VALID_DAYS = 14;
|
|
}
|
|
|
|
|
|
}
|