From 6b00baaa9b0bade3bcdf9acdb8afed84313df506 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Date: Tue, 17 Oct 2023 14:18:54 +0000 Subject: [PATCH] feat(storage): update the api #### storage:v1 The following keys were added: - resources.managedFolders.methods.delete (Total Keys: 11) - resources.managedFolders.methods.get (Total Keys: 30) - resources.managedFolders.methods.insert (Total Keys: 10) - resources.managedFolders.methods.list (Total Keys: 17) - resources.managedFolders.methods.setIamPolicy (Total Keys: 15) - resources.managedFolders.methods.testIamPermissions (Total Keys: 18) - resources.objects.methods.list.parameters.includeFoldersAsPrefixes (Total Keys: 2) - schemas.ManagedFolder (Total Keys: 19) The following keys were changed: - schemas.Policy.properties.bindings.annotations.required (Total Keys: 1) - schemas.Policy.properties.bindings.items.properties.members.annotations.required (Total Keys: 1) - schemas.Policy.properties.bindings.items.properties.role.annotations.required (Total Keys: 1) --- docs/dyn/storage_v1.buckets.html | 22 +- docs/dyn/storage_v1.html | 5 + docs/dyn/storage_v1.managedFolders.html | 419 ++++++++++++++++++ docs/dyn/storage_v1.objects.html | 27 +- .../discovery_cache/documents/storage.v1.json | 387 +++++++++++++++- 5 files changed, 833 insertions(+), 27 deletions(-) create mode 100644 docs/dyn/storage_v1.managedFolders.html diff --git a/docs/dyn/storage_v1.buckets.html b/docs/dyn/storage_v1.buckets.html index ed0332d21f3..a5a57025ea9 100644 --- a/docs/dyn/storage_v1.buckets.html +++ b/docs/dyn/storage_v1.buckets.html @@ -338,7 +338,7 @@

Method Details

Returns: An object of the form: - { # A bucket/object IAM policy. + { # A bucket/object/managedFolder IAM policy. "bindings": [ # An association between a role, which comes with a set of permissions, and members who may assume that role. { "condition": { # Represents an expression text. Example: title: "User account presence" description: "Determines whether the request has a user account" expression: "size(request.user) > 0" # The condition that is associated with this binding. NOTE: an unsatisfied condition will not allow user access via current binding. Different bindings, including their conditions, are examined independently. @@ -374,7 +374,7 @@

Method Details

], "etag": "A String", # HTTP 1.1 Entity tag for the policy. "kind": "storage#policy", # The kind of item this is. For policies, this is always storage#policy. This field is ignored on input. - "resourceId": "A String", # The ID of the resource to which this policy belongs. Will be of the form projects/_/buckets/bucket for buckets, and projects/_/buckets/bucket/objects/object for objects. A specific generation may be specified by appending #generationNumber to the end of the object name, e.g. projects/_/buckets/my-bucket/objects/data.txt#17. The current generation can be denoted with #0. This field is ignored on input. + "resourceId": "A String", # The ID of the resource to which this policy belongs. Will be of the form projects/_/buckets/bucket for buckets, projects/_/buckets/bucket/objects/object for objects, and projects/_/buckets/bucket/managedFolders/managedFolder. A specific generation may be specified by appending #generationNumber to the end of the object name, e.g. projects/_/buckets/my-bucket/objects/data.txt#17. The current generation can be denoted with #0. This field is ignored on input. "version": 42, # The IAM policy format version. } @@ -1591,7 +1591,7 @@

Method Details

body: object, The request body. The object takes the form of: -{ # A bucket/object IAM policy. +{ # A bucket/object/managedFolder IAM policy. "bindings": [ # An association between a role, which comes with a set of permissions, and members who may assume that role. { "condition": { # Represents an expression text. Example: title: "User account presence" description: "Determines whether the request has a user account" expression: "size(request.user) > 0" # The condition that is associated with this binding. NOTE: an unsatisfied condition will not allow user access via current binding. Different bindings, including their conditions, are examined independently. @@ -1627,7 +1627,7 @@

Method Details

], "etag": "A String", # HTTP 1.1 Entity tag for the policy. "kind": "storage#policy", # The kind of item this is. For policies, this is always storage#policy. This field is ignored on input. - "resourceId": "A String", # The ID of the resource to which this policy belongs. Will be of the form projects/_/buckets/bucket for buckets, and projects/_/buckets/bucket/objects/object for objects. A specific generation may be specified by appending #generationNumber to the end of the object name, e.g. projects/_/buckets/my-bucket/objects/data.txt#17. The current generation can be denoted with #0. This field is ignored on input. + "resourceId": "A String", # The ID of the resource to which this policy belongs. Will be of the form projects/_/buckets/bucket for buckets, projects/_/buckets/bucket/objects/object for objects, and projects/_/buckets/bucket/managedFolders/managedFolder. A specific generation may be specified by appending #generationNumber to the end of the object name, e.g. projects/_/buckets/my-bucket/objects/data.txt#17. The current generation can be denoted with #0. This field is ignored on input. "version": 42, # The IAM policy format version. } @@ -1636,7 +1636,7 @@

Method Details

Returns: An object of the form: - { # A bucket/object IAM policy. + { # A bucket/object/managedFolder IAM policy. "bindings": [ # An association between a role, which comes with a set of permissions, and members who may assume that role. { "condition": { # Represents an expression text. Example: title: "User account presence" description: "Determines whether the request has a user account" expression: "size(request.user) > 0" # The condition that is associated with this binding. NOTE: an unsatisfied condition will not allow user access via current binding. Different bindings, including their conditions, are examined independently. @@ -1672,7 +1672,7 @@

Method Details

], "etag": "A String", # HTTP 1.1 Entity tag for the policy. "kind": "storage#policy", # The kind of item this is. For policies, this is always storage#policy. This field is ignored on input. - "resourceId": "A String", # The ID of the resource to which this policy belongs. Will be of the form projects/_/buckets/bucket for buckets, and projects/_/buckets/bucket/objects/object for objects. A specific generation may be specified by appending #generationNumber to the end of the object name, e.g. projects/_/buckets/my-bucket/objects/data.txt#17. The current generation can be denoted with #0. This field is ignored on input. + "resourceId": "A String", # The ID of the resource to which this policy belongs. Will be of the form projects/_/buckets/bucket for buckets, projects/_/buckets/bucket/objects/object for objects, and projects/_/buckets/bucket/managedFolders/managedFolder. A specific generation may be specified by appending #generationNumber to the end of the object name, e.g. projects/_/buckets/my-bucket/objects/data.txt#17. The current generation can be denoted with #0. This field is ignored on input. "version": 42, # The IAM policy format version. } @@ -1689,9 +1689,9 @@

Method Details

Returns: An object of the form: - { # A storage.(buckets|objects).testIamPermissions response. + { # A storage.(buckets|objects|managedFolders).testIamPermissions response. "kind": "storage#testIamPermissionsResponse", # The kind of item this is. - "permissions": [ # The permissions held by the caller. Permissions are always of the format storage.resource.capability, where resource is one of buckets or objects. The supported permissions are as follows: + "permissions": [ # The permissions held by the caller. Permissions are always of the format storage.resource.capability, where resource is one of buckets, objects, or managedFolders. The supported permissions are as follows: # - storage.buckets.delete — Delete bucket. # - storage.buckets.get — Read bucket metadata. # - storage.buckets.getIamPolicy — Read bucket IAM policy. @@ -1706,6 +1706,12 @@

Method Details

# - storage.objects.list — List objects. # - storage.objects.setIamPolicy — Update object IAM policy. # - storage.objects.update — Update object metadata. + # - storage.managedFolders.delete — Delete managed folder. + # - storage.managedFolders.get — Read managed folder metadata. + # - storage.managedFolders.getIamPolicy — Read managed folder IAM policy. + # - storage.managedFolders.create — Create managed folder. + # - storage.managedFolders.list — List managed folders. + # - storage.managedFolders.setIamPolicy — Update managed folder IAM policy. "A String", ], } diff --git a/docs/dyn/storage_v1.html b/docs/dyn/storage_v1.html index c46082e281e..5c5af67c7c6 100644 --- a/docs/dyn/storage_v1.html +++ b/docs/dyn/storage_v1.html @@ -94,6 +94,11 @@

Instance Methods

Returns the defaultObjectAccessControls Resource.

+

+ managedFolders() +

+

Returns the managedFolders Resource.

+

notifications()

diff --git a/docs/dyn/storage_v1.managedFolders.html b/docs/dyn/storage_v1.managedFolders.html new file mode 100644 index 00000000000..5ba33e70341 --- /dev/null +++ b/docs/dyn/storage_v1.managedFolders.html @@ -0,0 +1,419 @@ + + + +

Cloud Storage JSON API . managedFolders

+

Instance Methods

+

+ close()

+

Close httplib2 connections.

+

+ delete(bucket, managedFolder, ifMetagenerationMatch=None, ifMetagenerationNotMatch=None)

+

Permanently deletes a managed folder.

+

+ get(bucket, managedFolder, ifMetagenerationMatch=None, ifMetagenerationNotMatch=None)

+

Returns metadata of the specified managed folder.

+

+ getIamPolicy(bucket, managedFolder, optionsRequestedPolicyVersion=None, userProject=None)

+

Returns an IAM policy for the specified managed folder.

+

+ insert(bucket, body=None)

+

Creates a new managed folder.

+

+ list(bucket, pageSize=None, pageToken=None, prefix=None)

+

Lists managed folders in the given bucket.

+

+ list_next()

+

Retrieves the next page of results.

+

+ setIamPolicy(bucket, managedFolder, body=None, userProject=None)

+

Updates an IAM policy for the specified managed folder.

+

+ testIamPermissions(bucket, managedFolder, permissions, userProject=None)

+

Tests a set of permissions on the given managed folder to see which, if any, are held by the caller.

+

Method Details

+
+ close() +
Close httplib2 connections.
+
+ +
+ delete(bucket, managedFolder, ifMetagenerationMatch=None, ifMetagenerationNotMatch=None) +
Permanently deletes a managed folder.
+
+Args:
+  bucket: string, Name of the bucket containing the managed folder. (required)
+  managedFolder: string, The managed folder name/path. (required)
+  ifMetagenerationMatch: string, If set, only deletes the managed folder if its metageneration matches this value.
+  ifMetagenerationNotMatch: string, If set, only deletes the managed folder if its metageneration does not match this value.
+
+
+ +
+ get(bucket, managedFolder, ifMetagenerationMatch=None, ifMetagenerationNotMatch=None) +
Returns metadata of the specified managed folder.
+
+Args:
+  bucket: string, Name of the bucket containing the managed folder. (required)
+  managedFolder: string, The managed folder name/path. (required)
+  ifMetagenerationMatch: string, Makes the return of the managed folder metadata conditional on whether the managed folder's current metageneration matches the given value.
+  ifMetagenerationNotMatch: string, Makes the return of the managed folder metadata conditional on whether the managed folder's current metageneration does not match the given value.
+
+Returns:
+  An object of the form:
+
+    { # A managed folder.
+  "bucket": "A String", # The name of the bucket containing this managed folder.
+  "createTime": "A String", # The creation time of the managed folder in RFC 3339 format.
+  "id": "A String", # The ID of the managed folder, including the bucket name and managed folder name.
+  "kind": "storage#managedFolder", # The kind of item this is. For managed folders, this is always storage#managedFolder.
+  "metageneration": "A String", # The version of the metadata for this managed folder. Used for preconditions and for detecting changes in metadata.
+  "name": "A String", # The name of the managed folder. Required if not specified by URL parameter.
+  "selfLink": "A String", # The link to this managed folder.
+  "updateTime": "A String", # The last update time of the managed folder metadata in RFC 3339 format.
+}
+
+ +
+ getIamPolicy(bucket, managedFolder, optionsRequestedPolicyVersion=None, userProject=None) +
Returns an IAM policy for the specified managed folder.
+
+Args:
+  bucket: string, Name of the bucket containing the managed folder. (required)
+  managedFolder: string, The managed folder name/path. (required)
+  optionsRequestedPolicyVersion: integer, The IAM policy format version to be returned. If the optionsRequestedPolicyVersion is for an older version that doesn't support part of the requested IAM policy, the request fails.
+  userProject: string, The project to be billed for this request. Required for Requester Pays buckets.
+
+Returns:
+  An object of the form:
+
+    { # A bucket/object/managedFolder IAM policy.
+  "bindings": [ # An association between a role, which comes with a set of permissions, and members who may assume that role.
+    {
+      "condition": { # Represents an expression text. Example: title: "User account presence" description: "Determines whether the request has a user account" expression: "size(request.user) > 0" # The condition that is associated with this binding. NOTE: an unsatisfied condition will not allow user access via current binding. Different bindings, including their conditions, are examined independently.
+        "description": "A String", # An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
+        "expression": "A String", # Textual representation of an expression in Common Expression Language syntax. The application context of the containing message determines which well-known feature set of CEL is supported.
+        "location": "A String", # An optional string indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
+        "title": "A String", # An optional title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
+      },
+      "members": [ # A collection of identifiers for members who may assume the provided role. Recognized identifiers are as follows:
+          # - allUsers — A special identifier that represents anyone on the internet; with or without a Google account.
+          # - allAuthenticatedUsers — A special identifier that represents anyone who is authenticated with a Google account or a service account.
+          # - user:emailid — An email address that represents a specific account. For example, user:alice@gmail.com or user:joe@example.com.
+          # - serviceAccount:emailid — An email address that represents a service account. For example,  serviceAccount:my-other-app@appspot.gserviceaccount.com .
+          # - group:emailid — An email address that represents a Google group. For example, group:admins@example.com.
+          # - domain:domain — A Google Apps domain name that represents all the users of that domain. For example, domain:google.com or domain:example.com.
+          # - projectOwner:projectid — Owners of the given project. For example, projectOwner:my-example-project
+          # - projectEditor:projectid — Editors of the given project. For example, projectEditor:my-example-project
+          # - projectViewer:projectid — Viewers of the given project. For example, projectViewer:my-example-project
+        "A String",
+      ],
+      "role": "A String", # The role to which members belong. Two types of roles are supported: new IAM roles, which grant permissions that do not map directly to those provided by ACLs, and legacy IAM roles, which do map directly to ACL permissions. All roles are of the format roles/storage.specificRole.
+          # The new IAM roles are:
+          # - roles/storage.admin — Full control of Google Cloud Storage resources.
+          # - roles/storage.objectViewer — Read-Only access to Google Cloud Storage objects.
+          # - roles/storage.objectCreator — Access to create objects in Google Cloud Storage.
+          # - roles/storage.objectAdmin — Full control of Google Cloud Storage objects.   The legacy IAM roles are:
+          # - roles/storage.legacyObjectReader — Read-only access to objects without listing. Equivalent to an ACL entry on an object with the READER role.
+          # - roles/storage.legacyObjectOwner — Read/write access to existing objects without listing. Equivalent to an ACL entry on an object with the OWNER role.
+          # - roles/storage.legacyBucketReader — Read access to buckets with object listing. Equivalent to an ACL entry on a bucket with the READER role.
+          # - roles/storage.legacyBucketWriter — Read access to buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the WRITER role.
+          # - roles/storage.legacyBucketOwner — Read and write access to existing buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the OWNER role.
+    },
+  ],
+  "etag": "A String", # HTTP 1.1  Entity tag for the policy.
+  "kind": "storage#policy", # The kind of item this is. For policies, this is always storage#policy. This field is ignored on input.
+  "resourceId": "A String", # The ID of the resource to which this policy belongs. Will be of the form projects/_/buckets/bucket for buckets, projects/_/buckets/bucket/objects/object for objects, and projects/_/buckets/bucket/managedFolders/managedFolder. A specific generation may be specified by appending #generationNumber to the end of the object name, e.g. projects/_/buckets/my-bucket/objects/data.txt#17. The current generation can be denoted with #0. This field is ignored on input.
+  "version": 42, # The IAM policy format version.
+}
+
+ +
+ insert(bucket, body=None) +
Creates a new managed folder.
+
+Args:
+  bucket: string, Name of the bucket containing the managed folder. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A managed folder.
+  "bucket": "A String", # The name of the bucket containing this managed folder.
+  "createTime": "A String", # The creation time of the managed folder in RFC 3339 format.
+  "id": "A String", # The ID of the managed folder, including the bucket name and managed folder name.
+  "kind": "storage#managedFolder", # The kind of item this is. For managed folders, this is always storage#managedFolder.
+  "metageneration": "A String", # The version of the metadata for this managed folder. Used for preconditions and for detecting changes in metadata.
+  "name": "A String", # The name of the managed folder. Required if not specified by URL parameter.
+  "selfLink": "A String", # The link to this managed folder.
+  "updateTime": "A String", # The last update time of the managed folder metadata in RFC 3339 format.
+}
+
+
+Returns:
+  An object of the form:
+
+    { # A managed folder.
+  "bucket": "A String", # The name of the bucket containing this managed folder.
+  "createTime": "A String", # The creation time of the managed folder in RFC 3339 format.
+  "id": "A String", # The ID of the managed folder, including the bucket name and managed folder name.
+  "kind": "storage#managedFolder", # The kind of item this is. For managed folders, this is always storage#managedFolder.
+  "metageneration": "A String", # The version of the metadata for this managed folder. Used for preconditions and for detecting changes in metadata.
+  "name": "A String", # The name of the managed folder. Required if not specified by URL parameter.
+  "selfLink": "A String", # The link to this managed folder.
+  "updateTime": "A String", # The last update time of the managed folder metadata in RFC 3339 format.
+}
+
+ +
+ list(bucket, pageSize=None, pageToken=None, prefix=None) +
Lists managed folders in the given bucket.
+
+Args:
+  bucket: string, Name of the bucket containing the managed folder. (required)
+  pageSize: integer, Maximum number of items return in a single page of responses.
+  pageToken: string, A previously-returned page token representing part of the larger set of results to view.
+  prefix: string, The managed folder name/path prefix to filter the output list of results.
+
+Returns:
+  An object of the form:
+
+    { # A list of managed folders.
+  "items": [ # The list of items.
+    { # A managed folder.
+      "bucket": "A String", # The name of the bucket containing this managed folder.
+      "createTime": "A String", # The creation time of the managed folder in RFC 3339 format.
+      "id": "A String", # The ID of the managed folder, including the bucket name and managed folder name.
+      "kind": "storage#managedFolder", # The kind of item this is. For managed folders, this is always storage#managedFolder.
+      "metageneration": "A String", # The version of the metadata for this managed folder. Used for preconditions and for detecting changes in metadata.
+      "name": "A String", # The name of the managed folder. Required if not specified by URL parameter.
+      "selfLink": "A String", # The link to this managed folder.
+      "updateTime": "A String", # The last update time of the managed folder metadata in RFC 3339 format.
+    },
+  ],
+  "kind": "storage#managedFolders", # The kind of item this is. For lists of managed folders, this is always storage#managedFolders.
+  "nextPageToken": "A String", # The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.
+}
+
+ +
+ list_next() +
Retrieves the next page of results.
+
+        Args:
+          previous_request: The request for the previous page. (required)
+          previous_response: The response from the request for the previous page. (required)
+
+        Returns:
+          A request object that you can call 'execute()' on to request the next
+          page. Returns None if there are no more items in the collection.
+        
+
+ +
+ setIamPolicy(bucket, managedFolder, body=None, userProject=None) +
Updates an IAM policy for the specified managed folder.
+
+Args:
+  bucket: string, Name of the bucket containing the managed folder. (required)
+  managedFolder: string, The managed folder name/path. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A bucket/object/managedFolder IAM policy.
+  "bindings": [ # An association between a role, which comes with a set of permissions, and members who may assume that role.
+    {
+      "condition": { # Represents an expression text. Example: title: "User account presence" description: "Determines whether the request has a user account" expression: "size(request.user) > 0" # The condition that is associated with this binding. NOTE: an unsatisfied condition will not allow user access via current binding. Different bindings, including their conditions, are examined independently.
+        "description": "A String", # An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
+        "expression": "A String", # Textual representation of an expression in Common Expression Language syntax. The application context of the containing message determines which well-known feature set of CEL is supported.
+        "location": "A String", # An optional string indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
+        "title": "A String", # An optional title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
+      },
+      "members": [ # A collection of identifiers for members who may assume the provided role. Recognized identifiers are as follows:
+          # - allUsers — A special identifier that represents anyone on the internet; with or without a Google account.
+          # - allAuthenticatedUsers — A special identifier that represents anyone who is authenticated with a Google account or a service account.
+          # - user:emailid — An email address that represents a specific account. For example, user:alice@gmail.com or user:joe@example.com.
+          # - serviceAccount:emailid — An email address that represents a service account. For example,  serviceAccount:my-other-app@appspot.gserviceaccount.com .
+          # - group:emailid — An email address that represents a Google group. For example, group:admins@example.com.
+          # - domain:domain — A Google Apps domain name that represents all the users of that domain. For example, domain:google.com or domain:example.com.
+          # - projectOwner:projectid — Owners of the given project. For example, projectOwner:my-example-project
+          # - projectEditor:projectid — Editors of the given project. For example, projectEditor:my-example-project
+          # - projectViewer:projectid — Viewers of the given project. For example, projectViewer:my-example-project
+        "A String",
+      ],
+      "role": "A String", # The role to which members belong. Two types of roles are supported: new IAM roles, which grant permissions that do not map directly to those provided by ACLs, and legacy IAM roles, which do map directly to ACL permissions. All roles are of the format roles/storage.specificRole.
+          # The new IAM roles are:
+          # - roles/storage.admin — Full control of Google Cloud Storage resources.
+          # - roles/storage.objectViewer — Read-Only access to Google Cloud Storage objects.
+          # - roles/storage.objectCreator — Access to create objects in Google Cloud Storage.
+          # - roles/storage.objectAdmin — Full control of Google Cloud Storage objects.   The legacy IAM roles are:
+          # - roles/storage.legacyObjectReader — Read-only access to objects without listing. Equivalent to an ACL entry on an object with the READER role.
+          # - roles/storage.legacyObjectOwner — Read/write access to existing objects without listing. Equivalent to an ACL entry on an object with the OWNER role.
+          # - roles/storage.legacyBucketReader — Read access to buckets with object listing. Equivalent to an ACL entry on a bucket with the READER role.
+          # - roles/storage.legacyBucketWriter — Read access to buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the WRITER role.
+          # - roles/storage.legacyBucketOwner — Read and write access to existing buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the OWNER role.
+    },
+  ],
+  "etag": "A String", # HTTP 1.1  Entity tag for the policy.
+  "kind": "storage#policy", # The kind of item this is. For policies, this is always storage#policy. This field is ignored on input.
+  "resourceId": "A String", # The ID of the resource to which this policy belongs. Will be of the form projects/_/buckets/bucket for buckets, projects/_/buckets/bucket/objects/object for objects, and projects/_/buckets/bucket/managedFolders/managedFolder. A specific generation may be specified by appending #generationNumber to the end of the object name, e.g. projects/_/buckets/my-bucket/objects/data.txt#17. The current generation can be denoted with #0. This field is ignored on input.
+  "version": 42, # The IAM policy format version.
+}
+
+  userProject: string, The project to be billed for this request. Required for Requester Pays buckets.
+
+Returns:
+  An object of the form:
+
+    { # A bucket/object/managedFolder IAM policy.
+  "bindings": [ # An association between a role, which comes with a set of permissions, and members who may assume that role.
+    {
+      "condition": { # Represents an expression text. Example: title: "User account presence" description: "Determines whether the request has a user account" expression: "size(request.user) > 0" # The condition that is associated with this binding. NOTE: an unsatisfied condition will not allow user access via current binding. Different bindings, including their conditions, are examined independently.
+        "description": "A String", # An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
+        "expression": "A String", # Textual representation of an expression in Common Expression Language syntax. The application context of the containing message determines which well-known feature set of CEL is supported.
+        "location": "A String", # An optional string indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
+        "title": "A String", # An optional title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
+      },
+      "members": [ # A collection of identifiers for members who may assume the provided role. Recognized identifiers are as follows:
+          # - allUsers — A special identifier that represents anyone on the internet; with or without a Google account.
+          # - allAuthenticatedUsers — A special identifier that represents anyone who is authenticated with a Google account or a service account.
+          # - user:emailid — An email address that represents a specific account. For example, user:alice@gmail.com or user:joe@example.com.
+          # - serviceAccount:emailid — An email address that represents a service account. For example,  serviceAccount:my-other-app@appspot.gserviceaccount.com .
+          # - group:emailid — An email address that represents a Google group. For example, group:admins@example.com.
+          # - domain:domain — A Google Apps domain name that represents all the users of that domain. For example, domain:google.com or domain:example.com.
+          # - projectOwner:projectid — Owners of the given project. For example, projectOwner:my-example-project
+          # - projectEditor:projectid — Editors of the given project. For example, projectEditor:my-example-project
+          # - projectViewer:projectid — Viewers of the given project. For example, projectViewer:my-example-project
+        "A String",
+      ],
+      "role": "A String", # The role to which members belong. Two types of roles are supported: new IAM roles, which grant permissions that do not map directly to those provided by ACLs, and legacy IAM roles, which do map directly to ACL permissions. All roles are of the format roles/storage.specificRole.
+          # The new IAM roles are:
+          # - roles/storage.admin — Full control of Google Cloud Storage resources.
+          # - roles/storage.objectViewer — Read-Only access to Google Cloud Storage objects.
+          # - roles/storage.objectCreator — Access to create objects in Google Cloud Storage.
+          # - roles/storage.objectAdmin — Full control of Google Cloud Storage objects.   The legacy IAM roles are:
+          # - roles/storage.legacyObjectReader — Read-only access to objects without listing. Equivalent to an ACL entry on an object with the READER role.
+          # - roles/storage.legacyObjectOwner — Read/write access to existing objects without listing. Equivalent to an ACL entry on an object with the OWNER role.
+          # - roles/storage.legacyBucketReader — Read access to buckets with object listing. Equivalent to an ACL entry on a bucket with the READER role.
+          # - roles/storage.legacyBucketWriter — Read access to buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the WRITER role.
+          # - roles/storage.legacyBucketOwner — Read and write access to existing buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the OWNER role.
+    },
+  ],
+  "etag": "A String", # HTTP 1.1  Entity tag for the policy.
+  "kind": "storage#policy", # The kind of item this is. For policies, this is always storage#policy. This field is ignored on input.
+  "resourceId": "A String", # The ID of the resource to which this policy belongs. Will be of the form projects/_/buckets/bucket for buckets, projects/_/buckets/bucket/objects/object for objects, and projects/_/buckets/bucket/managedFolders/managedFolder. A specific generation may be specified by appending #generationNumber to the end of the object name, e.g. projects/_/buckets/my-bucket/objects/data.txt#17. The current generation can be denoted with #0. This field is ignored on input.
+  "version": 42, # The IAM policy format version.
+}
+
+ +
+ testIamPermissions(bucket, managedFolder, permissions, userProject=None) +
Tests a set of permissions on the given managed folder to see which, if any, are held by the caller.
+
+Args:
+  bucket: string, Name of the bucket containing the managed folder. (required)
+  managedFolder: string, The managed folder name/path. (required)
+  permissions: string, Permissions to test. (required) (repeated)
+  userProject: string, The project to be billed for this request. Required for Requester Pays buckets.
+
+Returns:
+  An object of the form:
+
+    { # A storage.(buckets|objects|managedFolders).testIamPermissions response.
+  "kind": "storage#testIamPermissionsResponse", # The kind of item this is.
+  "permissions": [ # The permissions held by the caller. Permissions are always of the format storage.resource.capability, where resource is one of buckets, objects, or managedFolders. The supported permissions are as follows:
+      # - storage.buckets.delete — Delete bucket.
+      # - storage.buckets.get — Read bucket metadata.
+      # - storage.buckets.getIamPolicy — Read bucket IAM policy.
+      # - storage.buckets.create — Create bucket.
+      # - storage.buckets.list — List buckets.
+      # - storage.buckets.setIamPolicy — Update bucket IAM policy.
+      # - storage.buckets.update — Update bucket metadata.
+      # - storage.objects.delete — Delete object.
+      # - storage.objects.get — Read object data and metadata.
+      # - storage.objects.getIamPolicy — Read object IAM policy.
+      # - storage.objects.create — Create object.
+      # - storage.objects.list — List objects.
+      # - storage.objects.setIamPolicy — Update object IAM policy.
+      # - storage.objects.update — Update object metadata.
+      # - storage.managedFolders.delete — Delete managed folder.
+      # - storage.managedFolders.get — Read managed folder metadata.
+      # - storage.managedFolders.getIamPolicy — Read managed folder IAM policy.
+      # - storage.managedFolders.create — Create managed folder.
+      # - storage.managedFolders.list — List managed folders.
+      # - storage.managedFolders.setIamPolicy — Update managed folder IAM policy.
+    "A String",
+  ],
+}
+
+ + \ No newline at end of file diff --git a/docs/dyn/storage_v1.objects.html b/docs/dyn/storage_v1.objects.html index 4dfdd2abcd8..efcfdd4666b 100644 --- a/docs/dyn/storage_v1.objects.html +++ b/docs/dyn/storage_v1.objects.html @@ -102,7 +102,7 @@

Instance Methods

insert(bucket, body=None, contentEncoding=None, ifGenerationMatch=None, ifGenerationNotMatch=None, ifMetagenerationMatch=None, ifMetagenerationNotMatch=None, kmsKeyName=None, media_body=None, media_mime_type=None, name=None, predefinedAcl=None, projection=None, userProject=None)

Stores a new object and metadata.

- list(bucket, delimiter=None, endOffset=None, includeTrailingDelimiter=None, matchGlob=None, maxResults=None, pageToken=None, prefix=None, projection=None, softDeleted=None, startOffset=None, userProject=None, versions=None)

+ list(bucket, delimiter=None, endOffset=None, includeFoldersAsPrefixes=None, includeTrailingDelimiter=None, matchGlob=None, maxResults=None, pageToken=None, prefix=None, projection=None, softDeleted=None, startOffset=None, userProject=None, versions=None)

Retrieves a list of objects matching the criteria.

list_next()

@@ -704,7 +704,7 @@

Method Details

Returns: An object of the form: - { # A bucket/object IAM policy. + { # A bucket/object/managedFolder IAM policy. "bindings": [ # An association between a role, which comes with a set of permissions, and members who may assume that role. { "condition": { # Represents an expression text. Example: title: "User account presence" description: "Determines whether the request has a user account" expression: "size(request.user) > 0" # The condition that is associated with this binding. NOTE: an unsatisfied condition will not allow user access via current binding. Different bindings, including their conditions, are examined independently. @@ -740,7 +740,7 @@

Method Details

], "etag": "A String", # HTTP 1.1 Entity tag for the policy. "kind": "storage#policy", # The kind of item this is. For policies, this is always storage#policy. This field is ignored on input. - "resourceId": "A String", # The ID of the resource to which this policy belongs. Will be of the form projects/_/buckets/bucket for buckets, and projects/_/buckets/bucket/objects/object for objects. A specific generation may be specified by appending #generationNumber to the end of the object name, e.g. projects/_/buckets/my-bucket/objects/data.txt#17. The current generation can be denoted with #0. This field is ignored on input. + "resourceId": "A String", # The ID of the resource to which this policy belongs. Will be of the form projects/_/buckets/bucket for buckets, projects/_/buckets/bucket/objects/object for objects, and projects/_/buckets/bucket/managedFolders/managedFolder. A specific generation may be specified by appending #generationNumber to the end of the object name, e.g. projects/_/buckets/my-bucket/objects/data.txt#17. The current generation can be denoted with #0. This field is ignored on input. "version": 42, # The IAM policy format version. } @@ -965,13 +965,14 @@

Method Details

- list(bucket, delimiter=None, endOffset=None, includeTrailingDelimiter=None, matchGlob=None, maxResults=None, pageToken=None, prefix=None, projection=None, softDeleted=None, startOffset=None, userProject=None, versions=None) + list(bucket, delimiter=None, endOffset=None, includeFoldersAsPrefixes=None, includeTrailingDelimiter=None, matchGlob=None, maxResults=None, pageToken=None, prefix=None, projection=None, softDeleted=None, startOffset=None, userProject=None, versions=None)
Retrieves a list of objects matching the criteria.
 
 Args:
   bucket: string, Name of the bucket in which to look for objects. (required)
   delimiter: string, 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.
   endOffset: string, Filter results to objects whose names are lexicographically before endOffset. If startOffset is also set, the objects listed will have names between startOffset (inclusive) and endOffset (exclusive).
+  includeFoldersAsPrefixes: boolean, Only applicable if delimiter is set to '/'. If true, will also include folders and managed folders (besides objects) in the returned prefixes.
   includeTrailingDelimiter: boolean, If true, objects that end in exactly one instance of delimiter will have their metadata included in items in addition to prefixes.
   matchGlob: string, Filter results to objects and prefixes that match this glob pattern.
   maxResults: integer, 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.
@@ -1685,7 +1686,7 @@ 

Method Details

body: object, The request body. The object takes the form of: -{ # A bucket/object IAM policy. +{ # A bucket/object/managedFolder IAM policy. "bindings": [ # An association between a role, which comes with a set of permissions, and members who may assume that role. { "condition": { # Represents an expression text. Example: title: "User account presence" description: "Determines whether the request has a user account" expression: "size(request.user) > 0" # The condition that is associated with this binding. NOTE: an unsatisfied condition will not allow user access via current binding. Different bindings, including their conditions, are examined independently. @@ -1721,7 +1722,7 @@

Method Details

], "etag": "A String", # HTTP 1.1 Entity tag for the policy. "kind": "storage#policy", # The kind of item this is. For policies, this is always storage#policy. This field is ignored on input. - "resourceId": "A String", # The ID of the resource to which this policy belongs. Will be of the form projects/_/buckets/bucket for buckets, and projects/_/buckets/bucket/objects/object for objects. A specific generation may be specified by appending #generationNumber to the end of the object name, e.g. projects/_/buckets/my-bucket/objects/data.txt#17. The current generation can be denoted with #0. This field is ignored on input. + "resourceId": "A String", # The ID of the resource to which this policy belongs. Will be of the form projects/_/buckets/bucket for buckets, projects/_/buckets/bucket/objects/object for objects, and projects/_/buckets/bucket/managedFolders/managedFolder. A specific generation may be specified by appending #generationNumber to the end of the object name, e.g. projects/_/buckets/my-bucket/objects/data.txt#17. The current generation can be denoted with #0. This field is ignored on input. "version": 42, # The IAM policy format version. } @@ -1731,7 +1732,7 @@

Method Details

Returns: An object of the form: - { # A bucket/object IAM policy. + { # A bucket/object/managedFolder IAM policy. "bindings": [ # An association between a role, which comes with a set of permissions, and members who may assume that role. { "condition": { # Represents an expression text. Example: title: "User account presence" description: "Determines whether the request has a user account" expression: "size(request.user) > 0" # The condition that is associated with this binding. NOTE: an unsatisfied condition will not allow user access via current binding. Different bindings, including their conditions, are examined independently. @@ -1767,7 +1768,7 @@

Method Details

], "etag": "A String", # HTTP 1.1 Entity tag for the policy. "kind": "storage#policy", # The kind of item this is. For policies, this is always storage#policy. This field is ignored on input. - "resourceId": "A String", # The ID of the resource to which this policy belongs. Will be of the form projects/_/buckets/bucket for buckets, and projects/_/buckets/bucket/objects/object for objects. A specific generation may be specified by appending #generationNumber to the end of the object name, e.g. projects/_/buckets/my-bucket/objects/data.txt#17. The current generation can be denoted with #0. This field is ignored on input. + "resourceId": "A String", # The ID of the resource to which this policy belongs. Will be of the form projects/_/buckets/bucket for buckets, projects/_/buckets/bucket/objects/object for objects, and projects/_/buckets/bucket/managedFolders/managedFolder. A specific generation may be specified by appending #generationNumber to the end of the object name, e.g. projects/_/buckets/my-bucket/objects/data.txt#17. The current generation can be denoted with #0. This field is ignored on input. "version": 42, # The IAM policy format version. }
@@ -1786,9 +1787,9 @@

Method Details

Returns: An object of the form: - { # A storage.(buckets|objects).testIamPermissions response. + { # A storage.(buckets|objects|managedFolders).testIamPermissions response. "kind": "storage#testIamPermissionsResponse", # The kind of item this is. - "permissions": [ # The permissions held by the caller. Permissions are always of the format storage.resource.capability, where resource is one of buckets or objects. The supported permissions are as follows: + "permissions": [ # The permissions held by the caller. Permissions are always of the format storage.resource.capability, where resource is one of buckets, objects, or managedFolders. The supported permissions are as follows: # - storage.buckets.delete — Delete bucket. # - storage.buckets.get — Read bucket metadata. # - storage.buckets.getIamPolicy — Read bucket IAM policy. @@ -1803,6 +1804,12 @@

Method Details

# - storage.objects.list — List objects. # - storage.objects.setIamPolicy — Update object IAM policy. # - storage.objects.update — Update object metadata. + # - storage.managedFolders.delete — Delete managed folder. + # - storage.managedFolders.get — Read managed folder metadata. + # - storage.managedFolders.getIamPolicy — Read managed folder IAM policy. + # - storage.managedFolders.create — Create managed folder. + # - storage.managedFolders.list — List managed folders. + # - storage.managedFolders.setIamPolicy — Update managed folder IAM policy. "A String", ], } diff --git a/googleapiclient/discovery_cache/documents/storage.v1.json b/googleapiclient/discovery_cache/documents/storage.v1.json index cdeb8ed9780..997b00b97f1 100644 --- a/googleapiclient/discovery_cache/documents/storage.v1.json +++ b/googleapiclient/discovery_cache/documents/storage.v1.json @@ -26,7 +26,7 @@ "description": "Stores and retrieves potentially large, immutable data objects.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/storage/docs/json_api/", - "etag": "\"36303132323234343933343236353136323232\"", + "etag": "\"3133333835393639383131353638313238353437\"", "icons": { "x16": "https://www.google.com/images/icons/product/cloud_storage-16.png", "x32": "https://www.google.com/images/icons/product/cloud_storage-32.png" @@ -1144,6 +1144,301 @@ } } }, + "managedFolders": { + "methods": { + "delete": { + "description": "Permanently deletes a managed folder.", + "httpMethod": "DELETE", + "id": "storage.managedFolders.delete", + "parameterOrder": [ + "bucket", + "managedFolder" + ], + "parameters": { + "bucket": { + "description": "Name of the bucket containing the managed folder.", + "location": "path", + "required": true, + "type": "string" + }, + "ifMetagenerationMatch": { + "description": "If set, only deletes the managed folder if its metageneration matches this value.", + "format": "int64", + "location": "query", + "type": "string" + }, + "ifMetagenerationNotMatch": { + "description": "If set, only deletes the managed folder if its metageneration does not match this value.", + "format": "int64", + "location": "query", + "type": "string" + }, + "managedFolder": { + "description": "The managed folder name/path.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "b/{bucket}/managedFolders/{managedFolder}", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/devstorage.full_control", + "https://www.googleapis.com/auth/devstorage.read_write" + ] + }, + "get": { + "description": "Returns metadata of the specified managed folder.", + "httpMethod": "GET", + "id": "storage.managedFolders.get", + "parameterOrder": [ + "bucket", + "managedFolder" + ], + "parameters": { + "bucket": { + "description": "Name of the bucket containing the managed folder.", + "location": "path", + "required": true, + "type": "string" + }, + "ifMetagenerationMatch": { + "description": "Makes the return of the managed folder metadata conditional on whether the managed folder's current metageneration matches the given value.", + "format": "int64", + "location": "query", + "type": "string" + }, + "ifMetagenerationNotMatch": { + "description": "Makes the return of the managed folder metadata conditional on whether the managed folder's current metageneration does not match the given value.", + "format": "int64", + "location": "query", + "type": "string" + }, + "managedFolder": { + "description": "The managed folder name/path.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "b/{bucket}/managedFolders/{managedFolder}", + "response": { + "$ref": "ManagedFolder" + }, + "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" + ] + }, + "getIamPolicy": { + "description": "Returns an IAM policy for the specified managed folder.", + "httpMethod": "GET", + "id": "storage.managedFolders.getIamPolicy", + "parameterOrder": [ + "bucket", + "managedFolder" + ], + "parameters": { + "bucket": { + "description": "Name of the bucket containing the managed folder.", + "location": "path", + "required": true, + "type": "string" + }, + "managedFolder": { + "description": "The managed folder name/path.", + "location": "path", + "required": true, + "type": "string" + }, + "optionsRequestedPolicyVersion": { + "description": "The IAM policy format version to be returned. If the optionsRequestedPolicyVersion is for an older version that doesn't support part of the requested IAM policy, the request fails.", + "format": "int32", + "location": "query", + "minimum": "1", + "type": "integer" + }, + "userProject": { + "description": "The project to be billed for this request. Required for Requester Pays buckets.", + "location": "query", + "type": "string" + } + }, + "path": "b/{bucket}/managedFolders/{managedFolder}/iam", + "response": { + "$ref": "Policy" + }, + "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" + ] + }, + "insert": { + "description": "Creates a new managed folder.", + "httpMethod": "POST", + "id": "storage.managedFolders.insert", + "parameterOrder": [ + "bucket" + ], + "parameters": { + "bucket": { + "description": "Name of the bucket containing the managed folder.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "b/{bucket}/managedFolders", + "request": { + "$ref": "ManagedFolder" + }, + "response": { + "$ref": "ManagedFolder" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/devstorage.full_control", + "https://www.googleapis.com/auth/devstorage.read_write" + ] + }, + "list": { + "description": "Lists managed folders in the given bucket.", + "httpMethod": "GET", + "id": "storage.managedFolders.list", + "parameterOrder": [ + "bucket" + ], + "parameters": { + "bucket": { + "description": "Name of the bucket containing the managed folder.", + "location": "path", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Maximum number of items return in a single page of responses.", + "format": "int32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "pageToken": { + "description": "A previously-returned page token representing part of the larger set of results to view.", + "location": "query", + "type": "string" + }, + "prefix": { + "description": "The managed folder name/path prefix to filter the output list of results.", + "location": "query", + "type": "string" + } + }, + "path": "b/{bucket}/managedFolders", + "response": { + "$ref": "ManagedFolders" + }, + "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" + ] + }, + "setIamPolicy": { + "description": "Updates an IAM policy for the specified managed folder.", + "httpMethod": "PUT", + "id": "storage.managedFolders.setIamPolicy", + "parameterOrder": [ + "bucket", + "managedFolder" + ], + "parameters": { + "bucket": { + "description": "Name of the bucket containing the managed folder.", + "location": "path", + "required": true, + "type": "string" + }, + "managedFolder": { + "description": "The managed folder name/path.", + "location": "path", + "required": true, + "type": "string" + }, + "userProject": { + "description": "The project to be billed for this request. Required for Requester Pays buckets.", + "location": "query", + "type": "string" + } + }, + "path": "b/{bucket}/managedFolders/{managedFolder}/iam", + "request": { + "$ref": "Policy" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/devstorage.full_control" + ] + }, + "testIamPermissions": { + "description": "Tests a set of permissions on the given managed folder to see which, if any, are held by the caller.", + "httpMethod": "GET", + "id": "storage.managedFolders.testIamPermissions", + "parameterOrder": [ + "bucket", + "managedFolder", + "permissions" + ], + "parameters": { + "bucket": { + "description": "Name of the bucket containing the managed folder.", + "location": "path", + "required": true, + "type": "string" + }, + "managedFolder": { + "description": "The managed folder name/path.", + "location": "path", + "required": true, + "type": "string" + }, + "permissions": { + "description": "Permissions to test.", + "location": "query", + "repeated": true, + "required": true, + "type": "string" + }, + "userProject": { + "description": "The project to be billed for this request. Required for Requester Pays buckets.", + "location": "query", + "type": "string" + } + }, + "path": "b/{bucket}/managedFolders/{managedFolder}/iam/testPermissions", + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "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" + ] + } + } + }, "notifications": { "methods": { "delete": { @@ -2175,6 +2470,11 @@ "location": "query", "type": "string" }, + "includeFoldersAsPrefixes": { + "description": "Only applicable if delimiter is set to '/'. If true, will also include folders and managed folders (besides objects) in the returned prefixes.", + "location": "query", + "type": "boolean" + }, "includeTrailingDelimiter": { "description": "If true, objects that end in exactly one instance of delimiter will have their metadata included in items in addition to prefixes.", "location": "query", @@ -3263,7 +3563,7 @@ } } }, - "revision": "20231004", + "revision": "20231012", "rootUrl": "https://storage.googleapis.com/", "schemas": { "Bucket": { @@ -4149,6 +4449,72 @@ }, "type": "object" }, + "ManagedFolder": { + "description": "A managed folder.", + "id": "ManagedFolder", + "properties": { + "bucket": { + "description": "The name of the bucket containing this managed folder.", + "type": "string" + }, + "createTime": { + "description": "The creation time of the managed folder in RFC 3339 format.", + "format": "date-time", + "type": "string" + }, + "id": { + "description": "The ID of the managed folder, including the bucket name and managed folder name.", + "type": "string" + }, + "kind": { + "default": "storage#managedFolder", + "description": "The kind of item this is. For managed folders, this is always storage#managedFolder.", + "type": "string" + }, + "metageneration": { + "description": "The version of the metadata for this managed folder. Used for preconditions and for detecting changes in metadata.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "The name of the managed folder. Required if not specified by URL parameter.", + "type": "string" + }, + "selfLink": { + "description": "The link to this managed folder.", + "type": "string" + }, + "updateTime": { + "description": "The last update time of the managed folder metadata in RFC 3339 format.", + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "ManagedFolders": { + "description": "A list of managed folders.", + "id": "ManagedFolders", + "properties": { + "items": { + "description": "The list of items.", + "items": { + "$ref": "ManagedFolder" + }, + "type": "array" + }, + "kind": { + "default": "storage#managedFolders", + "description": "The kind of item this is. For lists of managed folders, this is always storage#managedFolders.", + "type": "string" + }, + "nextPageToken": { + "description": "The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.", + "type": "string" + } + }, + "type": "object" + }, "Notification": { "description": "A subscription to receive Google PubSub notifications.", "id": "Notification", @@ -4565,14 +4931,15 @@ "type": "object" }, "Policy": { - "description": "A bucket/object IAM policy.", + "description": "A bucket/object/managedFolder IAM policy.", "id": "Policy", "properties": { "bindings": { "annotations": { "required": [ "storage.buckets.setIamPolicy", - "storage.objects.setIamPolicy" + "storage.objects.setIamPolicy", + "storage.managedFolders.setIamPolicy" ] }, "description": "An association between a role, which comes with a set of permissions, and members who may assume that role.", @@ -4586,7 +4953,8 @@ "annotations": { "required": [ "storage.buckets.setIamPolicy", - "storage.objects.setIamPolicy" + "storage.objects.setIamPolicy", + "storage.managedFolders.setIamPolicy" ] }, "description": "A collection of identifiers for members who may assume the provided role. Recognized identifiers are as follows: \n- allUsers \u2014 A special identifier that represents anyone on the internet; with or without a Google account. \n- allAuthenticatedUsers \u2014 A special identifier that represents anyone who is authenticated with a Google account or a service account. \n- user:emailid \u2014 An email address that represents a specific account. For example, user:alice@gmail.com or user:joe@example.com. \n- serviceAccount:emailid \u2014 An email address that represents a service account. For example, serviceAccount:my-other-app@appspot.gserviceaccount.com . \n- group:emailid \u2014 An email address that represents a Google group. For example, group:admins@example.com. \n- domain:domain \u2014 A Google Apps domain name that represents all the users of that domain. For example, domain:google.com or domain:example.com. \n- projectOwner:projectid \u2014 Owners of the given project. For example, projectOwner:my-example-project \n- projectEditor:projectid \u2014 Editors of the given project. For example, projectEditor:my-example-project \n- projectViewer:projectid \u2014 Viewers of the given project. For example, projectViewer:my-example-project", @@ -4599,7 +4967,8 @@ "annotations": { "required": [ "storage.buckets.setIamPolicy", - "storage.objects.setIamPolicy" + "storage.objects.setIamPolicy", + "storage.managedFolders.setIamPolicy" ] }, "description": "The role to which members belong. Two types of roles are supported: new IAM roles, which grant permissions that do not map directly to those provided by ACLs, and legacy IAM roles, which do map directly to ACL permissions. All roles are of the format roles/storage.specificRole.\nThe new IAM roles are: \n- roles/storage.admin \u2014 Full control of Google Cloud Storage resources. \n- roles/storage.objectViewer \u2014 Read-Only access to Google Cloud Storage objects. \n- roles/storage.objectCreator \u2014 Access to create objects in Google Cloud Storage. \n- roles/storage.objectAdmin \u2014 Full control of Google Cloud Storage objects. The legacy IAM roles are: \n- roles/storage.legacyObjectReader \u2014 Read-only access to objects without listing. Equivalent to an ACL entry on an object with the READER role. \n- roles/storage.legacyObjectOwner \u2014 Read/write access to existing objects without listing. Equivalent to an ACL entry on an object with the OWNER role. \n- roles/storage.legacyBucketReader \u2014 Read access to buckets with object listing. Equivalent to an ACL entry on a bucket with the READER role. \n- roles/storage.legacyBucketWriter \u2014 Read access to buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the WRITER role. \n- roles/storage.legacyBucketOwner \u2014 Read and write access to existing buckets with object listing/creation/deletion. Equivalent to an ACL entry on a bucket with the OWNER role.", @@ -4621,7 +4990,7 @@ "type": "string" }, "resourceId": { - "description": "The ID of the resource to which this policy belongs. Will be of the form projects/_/buckets/bucket for buckets, and projects/_/buckets/bucket/objects/object for objects. A specific generation may be specified by appending #generationNumber to the end of the object name, e.g. projects/_/buckets/my-bucket/objects/data.txt#17. The current generation can be denoted with #0. This field is ignored on input.", + "description": "The ID of the resource to which this policy belongs. Will be of the form projects/_/buckets/bucket for buckets, projects/_/buckets/bucket/objects/object for objects, and projects/_/buckets/bucket/managedFolders/managedFolder. A specific generation may be specified by appending #generationNumber to the end of the object name, e.g. projects/_/buckets/my-bucket/objects/data.txt#17. The current generation can be denoted with #0. This field is ignored on input.", "type": "string" }, "version": { @@ -4683,7 +5052,7 @@ "type": "object" }, "TestIamPermissionsResponse": { - "description": "A storage.(buckets|objects).testIamPermissions response.", + "description": "A storage.(buckets|objects|managedFolders).testIamPermissions response.", "id": "TestIamPermissionsResponse", "properties": { "kind": { @@ -4692,7 +5061,7 @@ "type": "string" }, "permissions": { - "description": "The permissions held by the caller. Permissions are always of the format storage.resource.capability, where resource is one of buckets or objects. The supported permissions are as follows: \n- storage.buckets.delete \u2014 Delete bucket. \n- storage.buckets.get \u2014 Read bucket metadata. \n- storage.buckets.getIamPolicy \u2014 Read bucket IAM policy. \n- storage.buckets.create \u2014 Create bucket. \n- storage.buckets.list \u2014 List buckets. \n- storage.buckets.setIamPolicy \u2014 Update bucket IAM policy. \n- storage.buckets.update \u2014 Update bucket metadata. \n- storage.objects.delete \u2014 Delete object. \n- storage.objects.get \u2014 Read object data and metadata. \n- storage.objects.getIamPolicy \u2014 Read object IAM policy. \n- storage.objects.create \u2014 Create object. \n- storage.objects.list \u2014 List objects. \n- storage.objects.setIamPolicy \u2014 Update object IAM policy. \n- storage.objects.update \u2014 Update object metadata.", + "description": "The permissions held by the caller. Permissions are always of the format storage.resource.capability, where resource is one of buckets, objects, or managedFolders. The supported permissions are as follows: \n- storage.buckets.delete \u2014 Delete bucket. \n- storage.buckets.get \u2014 Read bucket metadata. \n- storage.buckets.getIamPolicy \u2014 Read bucket IAM policy. \n- storage.buckets.create \u2014 Create bucket. \n- storage.buckets.list \u2014 List buckets. \n- storage.buckets.setIamPolicy \u2014 Update bucket IAM policy. \n- storage.buckets.update \u2014 Update bucket metadata. \n- storage.objects.delete \u2014 Delete object. \n- storage.objects.get \u2014 Read object data and metadata. \n- storage.objects.getIamPolicy \u2014 Read object IAM policy. \n- storage.objects.create \u2014 Create object. \n- storage.objects.list \u2014 List objects. \n- storage.objects.setIamPolicy \u2014 Update object IAM policy. \n- storage.objects.update \u2014 Update object metadata. \n- storage.managedFolders.delete \u2014 Delete managed folder. \n- storage.managedFolders.get \u2014 Read managed folder metadata. \n- storage.managedFolders.getIamPolicy \u2014 Read managed folder IAM policy. \n- storage.managedFolders.create \u2014 Create managed folder. \n- storage.managedFolders.list \u2014 List managed folders. \n- storage.managedFolders.setIamPolicy \u2014 Update managed folder IAM policy.", "items": { "type": "string" },