Skip to content

Commit be4be3d

Browse files
Google APIscopybara-github
authored andcommitted
docs: Add comments to GCS gRPC API proto spec to describe how naming works
PiperOrigin-RevId: 408352508
1 parent 9974d09 commit be4be3d

1 file changed

Lines changed: 21 additions & 10 deletions

File tree

google/storage/v2/storage.proto

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,27 @@ option (google.api.resource_definition) = {
3535
pattern: "projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}"
3636
};
3737

38-
// Manages Google Cloud Storage resources.
38+
// ## API Overview and Naming Syntax
39+
//
40+
// The GCS gRPC API allows applications to read and write data through the
41+
// abstractions of buckets and objects. For a description of these abstractions
42+
// please see https://cloud.google.com/storage/docs.
43+
//
44+
// Resources are named as follows:
45+
// - Projects are referred to as they are defined by the Resource Manager API,
46+
// using strings like `projects/123456` or `projects/my-string-id`.
47+
// - Buckets are named using string names of the form:
48+
// `projects/{project}/buckets/{bucket}`
49+
// For globally unique buckets, `_` may be substituted for the project.
50+
// - Objects are uniquely identified by their name along with the name of the
51+
// bucket they belong to, as separate strings in this API. For example:
52+
//
53+
// ReadObjectRequest {
54+
// bucket: 'projects/_/buckets/my-bucket'
55+
// object: 'my-object'
56+
// }
57+
// Note that object names can contain `/` characters, which are treated as
58+
// any other character (no special directory semantics).
3959
service Storage {
4060
option (google.api.default_host) = "storage.googleapis.com";
4161
option (google.api.oauth_scopes) =
@@ -353,7 +373,6 @@ message CommonObjectRequestParams {
353373
// Parameters that can be passed to any request.
354374
message CommonRequestParams {
355375
// Required. Required when using buckets with Requestor Pays feature enabled.
356-
// Example: `projects/123456`.
357376
string user_project = 1 [
358377
(google.api.field_behavior) = REQUIRED,
359378
(google.api.resource_reference) = {
@@ -664,11 +683,6 @@ message Bucket {
664683
}
665684

666685
// Immutable. The name of the bucket.
667-
// Global buckets will be of the format `projects/{project}/buckets/{bucket}`.
668-
// Other sorts of buckets in the future are not guaranteed to follow this
669-
// pattern.
670-
// For globally unique bucket names, a `_` may be substituted for the project
671-
// ID.
672686
string name = 1 [(google.api.field_behavior) = IMMUTABLE];
673687

674688
// Output only. The user-chosen part of the bucket name. The `{bucket}` portion of the
@@ -677,8 +691,6 @@ message Bucket {
677691
string bucket_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
678692

679693
// Immutable. The project which owns this bucket.
680-
// Format: projects/{project_number}
681-
// Example: `projects/123456`.
682694
string project = 3 [
683695
(google.api.field_behavior) = IMMUTABLE,
684696
(google.api.resource_reference) = {
@@ -895,7 +907,6 @@ message Object {
895907
string name = 1 [(google.api.field_behavior) = IMMUTABLE];
896908

897909
// Immutable. The name of the bucket containing this object.
898-
// Example: `projects/_/buckets/foo`.
899910
string bucket = 2 [
900911
(google.api.field_behavior) = IMMUTABLE,
901912
(google.api.resource_reference) = {

0 commit comments

Comments
 (0)