docs: docs update (#911)
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/google-api-python-client/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)
Fixes #<issue_number_goes_here> 🦕
diff --git a/docs/dyn/pubsub_v1.projects.topics.html b/docs/dyn/pubsub_v1.projects.topics.html
index cf4aa46..db7b271 100644
--- a/docs/dyn/pubsub_v1.projects.topics.html
+++ b/docs/dyn/pubsub_v1.projects.topics.html
@@ -97,7 +97,7 @@
<code><a href="#getIamPolicy">getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)</a></code></p>
<p class="firstline">Gets the access control policy for a resource.</p>
<p class="toc_element">
- <code><a href="#list">list(project, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+ <code><a href="#list">list(project, pageToken=None, pageSize=None, x__xgafv=None)</a></code></p>
<p class="firstline">Lists matching topics.</p>
<p class="toc_element">
<code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
@@ -118,45 +118,45 @@
<div class="method">
<code class="details" id="create">create(name, body=None, x__xgafv=None)</code>
<pre>Creates the given topic with the given name. See the
-<a href="https://cloud.google.com/pubsub/docs/admin#resource_names">
+<a href="https://cloud.google.com/pubsub/docs/admin#resource_names">
resource name rules</a>.
Args:
name: string, Required. The name of the topic. It must have the format
-`"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
+`"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
signs (`%`). It must be between 3 and 255 characters in length, and it
-must not start with `"goog"`. (required)
+must not start with `"goog"`. (required)
body: object, The request body.
The object takes the form of:
{ # A topic resource.
- "labels": { # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
+ "kmsKeyName": "A String", # The resource name of the Cloud KMS CryptoKey to be used to protect access
+ # to messages published on this topic.
+ #
+ # The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
+ "labels": { # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
# managing labels</a>.
- "a_key": "A String",
+ "a_key": "A String",
},
- "name": "A String", # Required. The name of the topic. It must have the format
- # `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
- # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
- # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
- # signs (`%`). It must be between 3 and 255 characters in length, and it
- # must not start with `"goog"`.
- "messageStoragePolicy": { # Policy constraining the set of Google Cloud Platform regions where messages
+ "messageStoragePolicy": { # Policy constraining the set of Google Cloud Platform regions where messages
# published to the topic may be stored. If not present, then no constraints
# are in effect.
- "allowedPersistenceRegions": [ # A list of IDs of GCP regions where messages that are published to the topic
+ "allowedPersistenceRegions": [ # A list of IDs of GCP regions where messages that are published to the topic
# may be persisted in storage. Messages published by publishers running in
# non-allowed GCP regions (or running outside of GCP altogether) will be
# routed for storage in one of the allowed regions. An empty list means that
# no regions are allowed, and is not a valid configuration.
- "A String",
+ "A String",
],
},
- "kmsKeyName": "A String", # The resource name of the Cloud KMS CryptoKey to be used to protect access
- # to messages published on this topic.
- #
- # The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
+ "name": "A String", # Required. The name of the topic. It must have the format
+ # `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
+ # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
+ # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
+ # signs (`%`). It must be between 3 and 255 characters in length, and it
+ # must not start with `"goog"`.
}
x__xgafv: string, V1 error format.
@@ -168,31 +168,31 @@
An object of the form:
{ # A topic resource.
- "labels": { # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
+ "kmsKeyName": "A String", # The resource name of the Cloud KMS CryptoKey to be used to protect access
+ # to messages published on this topic.
+ #
+ # The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
+ "labels": { # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
# managing labels</a>.
- "a_key": "A String",
+ "a_key": "A String",
},
- "name": "A String", # Required. The name of the topic. It must have the format
- # `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
- # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
- # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
- # signs (`%`). It must be between 3 and 255 characters in length, and it
- # must not start with `"goog"`.
- "messageStoragePolicy": { # Policy constraining the set of Google Cloud Platform regions where messages
+ "messageStoragePolicy": { # Policy constraining the set of Google Cloud Platform regions where messages
# published to the topic may be stored. If not present, then no constraints
# are in effect.
- "allowedPersistenceRegions": [ # A list of IDs of GCP regions where messages that are published to the topic
+ "allowedPersistenceRegions": [ # A list of IDs of GCP regions where messages that are published to the topic
# may be persisted in storage. Messages published by publishers running in
# non-allowed GCP regions (or running outside of GCP altogether) will be
# routed for storage in one of the allowed regions. An empty list means that
# no regions are allowed, and is not a valid configuration.
- "A String",
+ "A String",
],
},
- "kmsKeyName": "A String", # The resource name of the Cloud KMS CryptoKey to be used to protect access
- # to messages published on this topic.
- #
- # The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
+ "name": "A String", # Required. The name of the topic. It must have the format
+ # `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
+ # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
+ # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
+ # signs (`%`). It must be between 3 and 255 characters in length, and it
+ # must not start with `"goog"`.
}</pre>
</div>
@@ -243,31 +243,31 @@
An object of the form:
{ # A topic resource.
- "labels": { # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
+ "kmsKeyName": "A String", # The resource name of the Cloud KMS CryptoKey to be used to protect access
+ # to messages published on this topic.
+ #
+ # The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
+ "labels": { # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
# managing labels</a>.
- "a_key": "A String",
+ "a_key": "A String",
},
- "name": "A String", # Required. The name of the topic. It must have the format
- # `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
- # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
- # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
- # signs (`%`). It must be between 3 and 255 characters in length, and it
- # must not start with `"goog"`.
- "messageStoragePolicy": { # Policy constraining the set of Google Cloud Platform regions where messages
+ "messageStoragePolicy": { # Policy constraining the set of Google Cloud Platform regions where messages
# published to the topic may be stored. If not present, then no constraints
# are in effect.
- "allowedPersistenceRegions": [ # A list of IDs of GCP regions where messages that are published to the topic
+ "allowedPersistenceRegions": [ # A list of IDs of GCP regions where messages that are published to the topic
# may be persisted in storage. Messages published by publishers running in
# non-allowed GCP regions (or running outside of GCP altogether) will be
# routed for storage in one of the allowed regions. An empty list means that
# no regions are allowed, and is not a valid configuration.
- "A String",
+ "A String",
],
},
- "kmsKeyName": "A String", # The resource name of the Cloud KMS CryptoKey to be used to protect access
- # to messages published on this topic.
- #
- # The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
+ "name": "A String", # Required. The name of the topic. It must have the format
+ # `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
+ # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
+ # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
+ # signs (`%`). It must be between 3 and 255 characters in length, and it
+ # must not start with `"goog"`.
}</pre>
</div>
@@ -288,6 +288,10 @@
Requests for policies with any conditional bindings must specify version 3.
Policies without any conditional bindings may specify any valid value or
leave the field unset.
+
+To learn which resources support conditions in their IAM policies, see the
+[IAM
+documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
@@ -306,36 +310,40 @@
# permissions; each `role` can be an IAM predefined role or a user-created
# custom role.
#
- # Optionally, a `binding` can specify a `condition`, which is a logical
- # expression that allows access to a resource only if the expression evaluates
- # to `true`. A condition can add constraints based on attributes of the
- # request, the resource, or both.
+ # For some types of Google Cloud resources, a `binding` can also specify a
+ # `condition`, which is a logical expression that allows access to a resource
+ # only if the expression evaluates to `true`. A condition can add constraints
+ # based on attributes of the request, the resource, or both. To learn which
+ # resources support conditions in their IAM policies, see the
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
#
# **JSON example:**
#
# {
- # "bindings": [
+ # "bindings": [
# {
- # "role": "roles/resourcemanager.organizationAdmin",
- # "members": [
- # "user:mike@example.com",
- # "group:admins@example.com",
- # "domain:google.com",
- # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
+ # "role": "roles/resourcemanager.organizationAdmin",
+ # "members": [
+ # "user:mike@example.com",
+ # "group:admins@example.com",
+ # "domain:google.com",
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
# ]
# },
# {
- # "role": "roles/resourcemanager.organizationViewer",
- # "members": ["user:eve@example.com"],
- # "condition": {
- # "title": "expirable access",
- # "description": "Does not grant access after Sep 2020",
- # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
+ # "role": "roles/resourcemanager.organizationViewer",
+ # "members": [
+ # "user:eve@example.com"
+ # ],
+ # "condition": {
+ # "title": "expirable access",
+ # "description": "Does not grant access after Sep 2020",
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
# }
# }
# ],
- # "etag": "BwWWja0YfJA=",
- # "version": 3
+ # "etag": "BwWWja0YfJA=",
+ # "version": 3
# }
#
# **YAML example:**
@@ -353,19 +361,105 @@
# condition:
# title: expirable access
# description: Does not grant access after Sep 2020
- # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
# - etag: BwWWja0YfJA=
# - version: 3
#
# For a description of IAM and its features, see the
# [IAM documentation](https://cloud.google.com/iam/docs/).
- "bindings": [ # Associates a list of `members` to a `role`. Optionally, may specify a
+ "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
+ # prevent simultaneous updates of a policy from overwriting each other.
+ # It is strongly suggested that systems make use of the `etag` in the
+ # read-modify-write cycle to perform policy updates in order to avoid race
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
+ # systems are expected to put that etag in the request to `setIamPolicy` to
+ # ensure that their change will be applied to the same version of the policy.
+ #
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
+ # the conditions in the version `3` policy are lost.
+ "version": 42, # Specifies the format of the policy.
+ #
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
+ # are rejected.
+ #
+ # Any operation that affects conditional role bindings must specify version
+ # `3`. This requirement applies to the following operations:
+ #
+ # * Getting a policy that includes a conditional role binding
+ # * Adding a conditional role binding to a policy
+ # * Changing a conditional role binding in a policy
+ # * Removing any role binding, with or without a condition, from a policy
+ # that includes conditions
+ #
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
+ # the conditions in the version `3` policy are lost.
+ #
+ # If a policy does not include any conditions, operations on that policy may
+ # specify any valid version or leave the field unset.
+ #
+ # To learn which resources support conditions in their IAM policies, see the
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+ "bindings": [ # Associates a list of `members` to a `role`. Optionally, may specify a
# `condition` that determines how and when the `bindings` are applied. Each
# of the `bindings` must contain at least one member.
{ # Associates `members` with a `role`.
- "role": "A String", # Role that is assigned to `members`.
- # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
- "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
+ "condition": { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
+ #
+ # If the condition evaluates to `true`, then this binding applies to the
+ # current request.
+ #
+ # If the condition evaluates to `false`, then this binding does not apply to
+ # the current request. However, a different role binding might grant the same
+ # role to one or more of the members in this binding.
+ #
+ # To learn which resources support conditions in their IAM policies, see the
+ # [IAM
+ # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+ # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
+ # are documented at https://github.com/google/cel-spec.
+ #
+ # Example (Comparison):
+ #
+ # title: "Summary size limit"
+ # description: "Determines if a summary is less than 100 chars"
+ # expression: "document.summary.size() < 100"
+ #
+ # Example (Equality):
+ #
+ # title: "Requestor is owner"
+ # description: "Determines if requestor is the document owner"
+ # expression: "document.owner == request.auth.claims.email"
+ #
+ # Example (Logic):
+ #
+ # title: "Public documents"
+ # description: "Determine whether the document should be publicly visible"
+ # expression: "document.type != 'private' && document.type != 'internal'"
+ #
+ # Example (Data Manipulation):
+ #
+ # title: "Notification string"
+ # description: "Create a notification string with a timestamp."
+ # expression: "'New message received at ' + string(document.create_time)"
+ #
+ # The exact variables and functions that may be referenced within an expression
+ # are determined by the service that evaluates it. See the service
+ # documentation for additional information.
+ "location": "A String", # 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", # 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.
+ "description": "A String", # 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.
+ },
+ "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
# `members` can have the following values:
#
# * `allUsers`: A special identifier that represents anyone who is
@@ -408,101 +502,26 @@
# * `domain:{domain}`: The G Suite domain (primary) that represents all the
# users of that domain. For example, `google.com` or `example.com`.
#
- "A String",
+ "A String",
],
- "condition": { # Represents a textual expression in the Common Expression Language (CEL) # 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.
- # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
- # are documented at https://github.com/google/cel-spec.
- #
- # Example (Comparison):
- #
- # title: "Summary size limit"
- # description: "Determines if a summary is less than 100 chars"
- # expression: "document.summary.size() < 100"
- #
- # Example (Equality):
- #
- # title: "Requestor is owner"
- # description: "Determines if requestor is the document owner"
- # expression: "document.owner == request.auth.claims.email"
- #
- # Example (Logic):
- #
- # title: "Public documents"
- # description: "Determine whether the document should be publicly visible"
- # expression: "document.type != 'private' && document.type != 'internal'"
- #
- # Example (Data Manipulation):
- #
- # title: "Notification string"
- # description: "Create a notification string with a timestamp."
- # expression: "'New message received at ' + string(document.create_time)"
- #
- # The exact variables and functions that may be referenced within an expression
- # are determined by the service that evaluates it. See the service
- # documentation for additional information.
- "description": "A String", # 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.
- "location": "A String", # 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", # 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.
- },
+ "role": "A String", # Role that is assigned to `members`.
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
},
],
- "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
- # prevent simultaneous updates of a policy from overwriting each other.
- # It is strongly suggested that systems make use of the `etag` in the
- # read-modify-write cycle to perform policy updates in order to avoid race
- # conditions: An `etag` is returned in the response to `getIamPolicy`, and
- # systems are expected to put that etag in the request to `setIamPolicy` to
- # ensure that their change will be applied to the same version of the policy.
- #
- # **Important:** If you use IAM Conditions, you must include the `etag` field
- # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
- # you to overwrite a version `3` policy with a version `1` policy, and all of
- # the conditions in the version `3` policy are lost.
- "version": 42, # Specifies the format of the policy.
- #
- # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
- # are rejected.
- #
- # Any operation that affects conditional role bindings must specify version
- # `3`. This requirement applies to the following operations:
- #
- # * Getting a policy that includes a conditional role binding
- # * Adding a conditional role binding to a policy
- # * Changing a conditional role binding in a policy
- # * Removing any role binding, with or without a condition, from a policy
- # that includes conditions
- #
- # **Important:** If you use IAM Conditions, you must include the `etag` field
- # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
- # you to overwrite a version `3` policy with a version `1` policy, and all of
- # the conditions in the version `3` policy are lost.
- #
- # If a policy does not include any conditions, operations on that policy may
- # specify any valid version or leave the field unset.
}</pre>
</div>
<div class="method">
- <code class="details" id="list">list(project, pageSize=None, pageToken=None, x__xgafv=None)</code>
+ <code class="details" id="list">list(project, pageToken=None, pageSize=None, x__xgafv=None)</code>
<pre>Lists matching topics.
Args:
project: string, Required. The name of the project in which to list topics.
Format is `projects/{project-id}`. (required)
- pageSize: integer, Maximum number of topics to return.
pageToken: string, The value returned by the last `ListTopicsResponse`; indicates that this is
a continuation of a prior `ListTopics` call, and that the system should
return the next page of data.
+ pageSize: integer, Maximum number of topics to return.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
@@ -512,37 +531,37 @@
An object of the form:
{ # Response for the `ListTopics` method.
- "nextPageToken": "A String", # If not empty, indicates that there may be more topics that match the
- # request; this value should be passed in a new `ListTopicsRequest`.
- "topics": [ # The resulting topics.
+ "topics": [ # The resulting topics.
{ # A topic resource.
- "labels": { # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
+ "kmsKeyName": "A String", # The resource name of the Cloud KMS CryptoKey to be used to protect access
+ # to messages published on this topic.
+ #
+ # The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
+ "labels": { # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
# managing labels</a>.
- "a_key": "A String",
+ "a_key": "A String",
},
- "name": "A String", # Required. The name of the topic. It must have the format
- # `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
- # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
- # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
- # signs (`%`). It must be between 3 and 255 characters in length, and it
- # must not start with `"goog"`.
- "messageStoragePolicy": { # Policy constraining the set of Google Cloud Platform regions where messages
+ "messageStoragePolicy": { # Policy constraining the set of Google Cloud Platform regions where messages
# published to the topic may be stored. If not present, then no constraints
# are in effect.
- "allowedPersistenceRegions": [ # A list of IDs of GCP regions where messages that are published to the topic
+ "allowedPersistenceRegions": [ # A list of IDs of GCP regions where messages that are published to the topic
# may be persisted in storage. Messages published by publishers running in
# non-allowed GCP regions (or running outside of GCP altogether) will be
# routed for storage in one of the allowed regions. An empty list means that
# no regions are allowed, and is not a valid configuration.
- "A String",
+ "A String",
],
},
- "kmsKeyName": "A String", # The resource name of the Cloud KMS CryptoKey to be used to protect access
- # to messages published on this topic.
- #
- # The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
+ "name": "A String", # Required. The name of the topic. It must have the format
+ # `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
+ # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
+ # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
+ # signs (`%`). It must be between 3 and 255 characters in length, and it
+ # must not start with `"goog"`.
},
],
+ "nextPageToken": "A String", # If not empty, indicates that there may be more topics that match the
+ # request; this value should be passed in a new `ListTopicsRequest`.
}</pre>
</div>
@@ -555,7 +574,7 @@
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
+ 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.
</pre>
</div>
@@ -567,47 +586,47 @@
Args:
name: string, Required. The name of the topic. It must have the format
-`"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
+`"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
signs (`%`). It must be between 3 and 255 characters in length, and it
-must not start with `"goog"`. (required)
+must not start with `"goog"`. (required)
body: object, The request body.
The object takes the form of:
{ # Request for the UpdateTopic method.
- "topic": { # A topic resource. # Required. The updated topic object.
- "labels": { # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
+ "updateMask": "A String", # Required. Indicates which fields in the provided topic to update. Must be specified
+ # and non-empty. Note that if `update_mask` contains
+ # "message_storage_policy" but the `message_storage_policy` is not set in
+ # the `topic` provided above, then the updated value is determined by the
+ # policy configured at the project or organization level.
+ "topic": { # A topic resource. # Required. The updated topic object.
+ "kmsKeyName": "A String", # The resource name of the Cloud KMS CryptoKey to be used to protect access
+ # to messages published on this topic.
+ #
+ # The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
+ "labels": { # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
# managing labels</a>.
- "a_key": "A String",
+ "a_key": "A String",
},
- "name": "A String", # Required. The name of the topic. It must have the format
- # `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
- # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
- # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
- # signs (`%`). It must be between 3 and 255 characters in length, and it
- # must not start with `"goog"`.
- "messageStoragePolicy": { # Policy constraining the set of Google Cloud Platform regions where messages
+ "messageStoragePolicy": { # Policy constraining the set of Google Cloud Platform regions where messages
# published to the topic may be stored. If not present, then no constraints
# are in effect.
- "allowedPersistenceRegions": [ # A list of IDs of GCP regions where messages that are published to the topic
+ "allowedPersistenceRegions": [ # A list of IDs of GCP regions where messages that are published to the topic
# may be persisted in storage. Messages published by publishers running in
# non-allowed GCP regions (or running outside of GCP altogether) will be
# routed for storage in one of the allowed regions. An empty list means that
# no regions are allowed, and is not a valid configuration.
- "A String",
+ "A String",
],
},
- "kmsKeyName": "A String", # The resource name of the Cloud KMS CryptoKey to be used to protect access
- # to messages published on this topic.
- #
- # The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
+ "name": "A String", # Required. The name of the topic. It must have the format
+ # `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
+ # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
+ # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
+ # signs (`%`). It must be between 3 and 255 characters in length, and it
+ # must not start with `"goog"`.
},
- "updateMask": "A String", # Required. Indicates which fields in the provided topic to update. Must be specified
- # and non-empty. Note that if `update_mask` contains
- # "message_storage_policy" but the `message_storage_policy` is not set in
- # the `topic` provided above, then the updated value is determined by the
- # policy configured at the project or organization level.
}
x__xgafv: string, V1 error format.
@@ -619,31 +638,31 @@
An object of the form:
{ # A topic resource.
- "labels": { # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
+ "kmsKeyName": "A String", # The resource name of the Cloud KMS CryptoKey to be used to protect access
+ # to messages published on this topic.
+ #
+ # The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
+ "labels": { # See <a href="https://cloud.google.com/pubsub/docs/labels"> Creating and
# managing labels</a>.
- "a_key": "A String",
+ "a_key": "A String",
},
- "name": "A String", # Required. The name of the topic. It must have the format
- # `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
- # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
- # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
- # signs (`%`). It must be between 3 and 255 characters in length, and it
- # must not start with `"goog"`.
- "messageStoragePolicy": { # Policy constraining the set of Google Cloud Platform regions where messages
+ "messageStoragePolicy": { # Policy constraining the set of Google Cloud Platform regions where messages
# published to the topic may be stored. If not present, then no constraints
# are in effect.
- "allowedPersistenceRegions": [ # A list of IDs of GCP regions where messages that are published to the topic
+ "allowedPersistenceRegions": [ # A list of IDs of GCP regions where messages that are published to the topic
# may be persisted in storage. Messages published by publishers running in
# non-allowed GCP regions (or running outside of GCP altogether) will be
# routed for storage in one of the allowed regions. An empty list means that
# no regions are allowed, and is not a valid configuration.
- "A String",
+ "A String",
],
},
- "kmsKeyName": "A String", # The resource name of the Cloud KMS CryptoKey to be used to protect access
- # to messages published on this topic.
- #
- # The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
+ "name": "A String", # Required. The name of the topic. It must have the format
+ # `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
+ # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
+ # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
+ # signs (`%`). It must be between 3 and 255 characters in length, and it
+ # must not start with `"goog"`.
}</pre>
</div>
@@ -659,28 +678,28 @@
The object takes the form of:
{ # Request for the Publish method.
- "messages": [ # Required. The messages to publish.
+ "messages": [ # Required. The messages to publish.
{ # A message that is published by publishers and consumed by subscribers. The
# message must contain either a non-empty data field or at least one attribute.
# Note that client libraries represent this object differently
# depending on the language. See the corresponding
- # <a href="https://cloud.google.com/pubsub/docs/reference/libraries">client
+ # <a href="https://cloud.google.com/pubsub/docs/reference/libraries">client
# library documentation</a> for more information. See
- # <a href="https://cloud.google.com/pubsub/quotas">Quotas and limits</a>
+ # <a href="https://cloud.google.com/pubsub/quotas">Quotas and limits</a>
# for more information about message limits.
- "attributes": { # Attributes for this message. If this field is empty, the message must
- # contain non-empty data.
- "a_key": "A String",
- },
- "data": "A String", # The message data field. If this field is empty, the message must contain
- # at least one attribute.
- "publishTime": "A String", # The time at which the message was published, populated by the server when
- # it receives the `Publish` call. It must not be populated by the
- # publisher in a `Publish` call.
- "messageId": "A String", # ID of this message, assigned by the server when the message is published.
+ "messageId": "A String", # ID of this message, assigned by the server when the message is published.
# Guaranteed to be unique within the topic. This value may be read by a
# subscriber that receives a `PubsubMessage` via a `Pull` call or a push
# delivery. It must not be populated by the publisher in a `Publish` call.
+ "attributes": { # Attributes for this message. If this field is empty, the message must
+ # contain non-empty data.
+ "a_key": "A String",
+ },
+ "publishTime": "A String", # The time at which the message was published, populated by the server when
+ # it receives the `Publish` call. It must not be populated by the
+ # publisher in a `Publish` call.
+ "data": "A String", # The message data field. If this field is empty, the message must contain
+ # at least one attribute.
},
],
}
@@ -694,10 +713,10 @@
An object of the form:
{ # Response for the `Publish` method.
- "messageIds": [ # The server-assigned ID of each published message, in the same order as
+ "messageIds": [ # The server-assigned ID of each published message, in the same order as
# the messages in the request. IDs are guaranteed to be unique within
# the topic.
- "A String",
+ "A String",
],
}</pre>
</div>
@@ -707,7 +726,7 @@
<pre>Sets the access control policy on the specified resource. Replaces any
existing policy.
-Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED
+Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
Args:
resource: string, REQUIRED: The resource for which the policy is being specified.
@@ -716,7 +735,7 @@
The object takes the form of:
{ # Request message for `SetIamPolicy` method.
- "policy": { # An Identity and Access Management (IAM) policy, which specifies access # REQUIRED: The complete policy to be applied to the `resource`. The size of
+ "policy": { # An Identity and Access Management (IAM) policy, which specifies access # REQUIRED: The complete policy to be applied to the `resource`. The size of
# the policy is limited to a few 10s of KB. An empty policy is a
# valid policy but certain Cloud Platform services (such as Projects)
# might reject them.
@@ -729,36 +748,40 @@
# permissions; each `role` can be an IAM predefined role or a user-created
# custom role.
#
- # Optionally, a `binding` can specify a `condition`, which is a logical
- # expression that allows access to a resource only if the expression evaluates
- # to `true`. A condition can add constraints based on attributes of the
- # request, the resource, or both.
+ # For some types of Google Cloud resources, a `binding` can also specify a
+ # `condition`, which is a logical expression that allows access to a resource
+ # only if the expression evaluates to `true`. A condition can add constraints
+ # based on attributes of the request, the resource, or both. To learn which
+ # resources support conditions in their IAM policies, see the
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
#
# **JSON example:**
#
# {
- # "bindings": [
+ # "bindings": [
# {
- # "role": "roles/resourcemanager.organizationAdmin",
- # "members": [
- # "user:mike@example.com",
- # "group:admins@example.com",
- # "domain:google.com",
- # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
+ # "role": "roles/resourcemanager.organizationAdmin",
+ # "members": [
+ # "user:mike@example.com",
+ # "group:admins@example.com",
+ # "domain:google.com",
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
# ]
# },
# {
- # "role": "roles/resourcemanager.organizationViewer",
- # "members": ["user:eve@example.com"],
- # "condition": {
- # "title": "expirable access",
- # "description": "Does not grant access after Sep 2020",
- # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
+ # "role": "roles/resourcemanager.organizationViewer",
+ # "members": [
+ # "user:eve@example.com"
+ # ],
+ # "condition": {
+ # "title": "expirable access",
+ # "description": "Does not grant access after Sep 2020",
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
# }
# }
# ],
- # "etag": "BwWWja0YfJA=",
- # "version": 3
+ # "etag": "BwWWja0YfJA=",
+ # "version": 3
# }
#
# **YAML example:**
@@ -776,19 +799,105 @@
# condition:
# title: expirable access
# description: Does not grant access after Sep 2020
- # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
# - etag: BwWWja0YfJA=
# - version: 3
#
# For a description of IAM and its features, see the
# [IAM documentation](https://cloud.google.com/iam/docs/).
- "bindings": [ # Associates a list of `members` to a `role`. Optionally, may specify a
+ "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
+ # prevent simultaneous updates of a policy from overwriting each other.
+ # It is strongly suggested that systems make use of the `etag` in the
+ # read-modify-write cycle to perform policy updates in order to avoid race
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
+ # systems are expected to put that etag in the request to `setIamPolicy` to
+ # ensure that their change will be applied to the same version of the policy.
+ #
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
+ # the conditions in the version `3` policy are lost.
+ "version": 42, # Specifies the format of the policy.
+ #
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
+ # are rejected.
+ #
+ # Any operation that affects conditional role bindings must specify version
+ # `3`. This requirement applies to the following operations:
+ #
+ # * Getting a policy that includes a conditional role binding
+ # * Adding a conditional role binding to a policy
+ # * Changing a conditional role binding in a policy
+ # * Removing any role binding, with or without a condition, from a policy
+ # that includes conditions
+ #
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
+ # the conditions in the version `3` policy are lost.
+ #
+ # If a policy does not include any conditions, operations on that policy may
+ # specify any valid version or leave the field unset.
+ #
+ # To learn which resources support conditions in their IAM policies, see the
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+ "bindings": [ # Associates a list of `members` to a `role`. Optionally, may specify a
# `condition` that determines how and when the `bindings` are applied. Each
# of the `bindings` must contain at least one member.
{ # Associates `members` with a `role`.
- "role": "A String", # Role that is assigned to `members`.
- # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
- "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
+ "condition": { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
+ #
+ # If the condition evaluates to `true`, then this binding applies to the
+ # current request.
+ #
+ # If the condition evaluates to `false`, then this binding does not apply to
+ # the current request. However, a different role binding might grant the same
+ # role to one or more of the members in this binding.
+ #
+ # To learn which resources support conditions in their IAM policies, see the
+ # [IAM
+ # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+ # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
+ # are documented at https://github.com/google/cel-spec.
+ #
+ # Example (Comparison):
+ #
+ # title: "Summary size limit"
+ # description: "Determines if a summary is less than 100 chars"
+ # expression: "document.summary.size() < 100"
+ #
+ # Example (Equality):
+ #
+ # title: "Requestor is owner"
+ # description: "Determines if requestor is the document owner"
+ # expression: "document.owner == request.auth.claims.email"
+ #
+ # Example (Logic):
+ #
+ # title: "Public documents"
+ # description: "Determine whether the document should be publicly visible"
+ # expression: "document.type != 'private' && document.type != 'internal'"
+ #
+ # Example (Data Manipulation):
+ #
+ # title: "Notification string"
+ # description: "Create a notification string with a timestamp."
+ # expression: "'New message received at ' + string(document.create_time)"
+ #
+ # The exact variables and functions that may be referenced within an expression
+ # are determined by the service that evaluates it. See the service
+ # documentation for additional information.
+ "location": "A String", # 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", # 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.
+ "description": "A String", # 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.
+ },
+ "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
# `members` can have the following values:
#
# * `allUsers`: A special identifier that represents anyone who is
@@ -831,87 +940,12 @@
# * `domain:{domain}`: The G Suite domain (primary) that represents all the
# users of that domain. For example, `google.com` or `example.com`.
#
- "A String",
+ "A String",
],
- "condition": { # Represents a textual expression in the Common Expression Language (CEL) # 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.
- # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
- # are documented at https://github.com/google/cel-spec.
- #
- # Example (Comparison):
- #
- # title: "Summary size limit"
- # description: "Determines if a summary is less than 100 chars"
- # expression: "document.summary.size() < 100"
- #
- # Example (Equality):
- #
- # title: "Requestor is owner"
- # description: "Determines if requestor is the document owner"
- # expression: "document.owner == request.auth.claims.email"
- #
- # Example (Logic):
- #
- # title: "Public documents"
- # description: "Determine whether the document should be publicly visible"
- # expression: "document.type != 'private' && document.type != 'internal'"
- #
- # Example (Data Manipulation):
- #
- # title: "Notification string"
- # description: "Create a notification string with a timestamp."
- # expression: "'New message received at ' + string(document.create_time)"
- #
- # The exact variables and functions that may be referenced within an expression
- # are determined by the service that evaluates it. See the service
- # documentation for additional information.
- "description": "A String", # 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.
- "location": "A String", # 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", # 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.
- },
+ "role": "A String", # Role that is assigned to `members`.
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
},
],
- "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
- # prevent simultaneous updates of a policy from overwriting each other.
- # It is strongly suggested that systems make use of the `etag` in the
- # read-modify-write cycle to perform policy updates in order to avoid race
- # conditions: An `etag` is returned in the response to `getIamPolicy`, and
- # systems are expected to put that etag in the request to `setIamPolicy` to
- # ensure that their change will be applied to the same version of the policy.
- #
- # **Important:** If you use IAM Conditions, you must include the `etag` field
- # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
- # you to overwrite a version `3` policy with a version `1` policy, and all of
- # the conditions in the version `3` policy are lost.
- "version": 42, # Specifies the format of the policy.
- #
- # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
- # are rejected.
- #
- # Any operation that affects conditional role bindings must specify version
- # `3`. This requirement applies to the following operations:
- #
- # * Getting a policy that includes a conditional role binding
- # * Adding a conditional role binding to a policy
- # * Changing a conditional role binding in a policy
- # * Removing any role binding, with or without a condition, from a policy
- # that includes conditions
- #
- # **Important:** If you use IAM Conditions, you must include the `etag` field
- # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
- # you to overwrite a version `3` policy with a version `1` policy, and all of
- # the conditions in the version `3` policy are lost.
- #
- # If a policy does not include any conditions, operations on that policy may
- # specify any valid version or leave the field unset.
},
}
@@ -933,36 +967,40 @@
# permissions; each `role` can be an IAM predefined role or a user-created
# custom role.
#
- # Optionally, a `binding` can specify a `condition`, which is a logical
- # expression that allows access to a resource only if the expression evaluates
- # to `true`. A condition can add constraints based on attributes of the
- # request, the resource, or both.
+ # For some types of Google Cloud resources, a `binding` can also specify a
+ # `condition`, which is a logical expression that allows access to a resource
+ # only if the expression evaluates to `true`. A condition can add constraints
+ # based on attributes of the request, the resource, or both. To learn which
+ # resources support conditions in their IAM policies, see the
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
#
# **JSON example:**
#
# {
- # "bindings": [
+ # "bindings": [
# {
- # "role": "roles/resourcemanager.organizationAdmin",
- # "members": [
- # "user:mike@example.com",
- # "group:admins@example.com",
- # "domain:google.com",
- # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
+ # "role": "roles/resourcemanager.organizationAdmin",
+ # "members": [
+ # "user:mike@example.com",
+ # "group:admins@example.com",
+ # "domain:google.com",
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
# ]
# },
# {
- # "role": "roles/resourcemanager.organizationViewer",
- # "members": ["user:eve@example.com"],
- # "condition": {
- # "title": "expirable access",
- # "description": "Does not grant access after Sep 2020",
- # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
+ # "role": "roles/resourcemanager.organizationViewer",
+ # "members": [
+ # "user:eve@example.com"
+ # ],
+ # "condition": {
+ # "title": "expirable access",
+ # "description": "Does not grant access after Sep 2020",
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
# }
# }
# ],
- # "etag": "BwWWja0YfJA=",
- # "version": 3
+ # "etag": "BwWWja0YfJA=",
+ # "version": 3
# }
#
# **YAML example:**
@@ -980,19 +1018,105 @@
# condition:
# title: expirable access
# description: Does not grant access after Sep 2020
- # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
# - etag: BwWWja0YfJA=
# - version: 3
#
# For a description of IAM and its features, see the
# [IAM documentation](https://cloud.google.com/iam/docs/).
- "bindings": [ # Associates a list of `members` to a `role`. Optionally, may specify a
+ "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
+ # prevent simultaneous updates of a policy from overwriting each other.
+ # It is strongly suggested that systems make use of the `etag` in the
+ # read-modify-write cycle to perform policy updates in order to avoid race
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
+ # systems are expected to put that etag in the request to `setIamPolicy` to
+ # ensure that their change will be applied to the same version of the policy.
+ #
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
+ # the conditions in the version `3` policy are lost.
+ "version": 42, # Specifies the format of the policy.
+ #
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
+ # are rejected.
+ #
+ # Any operation that affects conditional role bindings must specify version
+ # `3`. This requirement applies to the following operations:
+ #
+ # * Getting a policy that includes a conditional role binding
+ # * Adding a conditional role binding to a policy
+ # * Changing a conditional role binding in a policy
+ # * Removing any role binding, with or without a condition, from a policy
+ # that includes conditions
+ #
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
+ # the conditions in the version `3` policy are lost.
+ #
+ # If a policy does not include any conditions, operations on that policy may
+ # specify any valid version or leave the field unset.
+ #
+ # To learn which resources support conditions in their IAM policies, see the
+ # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+ "bindings": [ # Associates a list of `members` to a `role`. Optionally, may specify a
# `condition` that determines how and when the `bindings` are applied. Each
# of the `bindings` must contain at least one member.
{ # Associates `members` with a `role`.
- "role": "A String", # Role that is assigned to `members`.
- # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
- "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
+ "condition": { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
+ #
+ # If the condition evaluates to `true`, then this binding applies to the
+ # current request.
+ #
+ # If the condition evaluates to `false`, then this binding does not apply to
+ # the current request. However, a different role binding might grant the same
+ # role to one or more of the members in this binding.
+ #
+ # To learn which resources support conditions in their IAM policies, see the
+ # [IAM
+ # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
+ # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
+ # are documented at https://github.com/google/cel-spec.
+ #
+ # Example (Comparison):
+ #
+ # title: "Summary size limit"
+ # description: "Determines if a summary is less than 100 chars"
+ # expression: "document.summary.size() < 100"
+ #
+ # Example (Equality):
+ #
+ # title: "Requestor is owner"
+ # description: "Determines if requestor is the document owner"
+ # expression: "document.owner == request.auth.claims.email"
+ #
+ # Example (Logic):
+ #
+ # title: "Public documents"
+ # description: "Determine whether the document should be publicly visible"
+ # expression: "document.type != 'private' && document.type != 'internal'"
+ #
+ # Example (Data Manipulation):
+ #
+ # title: "Notification string"
+ # description: "Create a notification string with a timestamp."
+ # expression: "'New message received at ' + string(document.create_time)"
+ #
+ # The exact variables and functions that may be referenced within an expression
+ # are determined by the service that evaluates it. See the service
+ # documentation for additional information.
+ "location": "A String", # 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", # 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.
+ "description": "A String", # 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.
+ },
+ "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
# `members` can have the following values:
#
# * `allUsers`: A special identifier that represents anyone who is
@@ -1035,87 +1159,12 @@
# * `domain:{domain}`: The G Suite domain (primary) that represents all the
# users of that domain. For example, `google.com` or `example.com`.
#
- "A String",
+ "A String",
],
- "condition": { # Represents a textual expression in the Common Expression Language (CEL) # 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.
- # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
- # are documented at https://github.com/google/cel-spec.
- #
- # Example (Comparison):
- #
- # title: "Summary size limit"
- # description: "Determines if a summary is less than 100 chars"
- # expression: "document.summary.size() < 100"
- #
- # Example (Equality):
- #
- # title: "Requestor is owner"
- # description: "Determines if requestor is the document owner"
- # expression: "document.owner == request.auth.claims.email"
- #
- # Example (Logic):
- #
- # title: "Public documents"
- # description: "Determine whether the document should be publicly visible"
- # expression: "document.type != 'private' && document.type != 'internal'"
- #
- # Example (Data Manipulation):
- #
- # title: "Notification string"
- # description: "Create a notification string with a timestamp."
- # expression: "'New message received at ' + string(document.create_time)"
- #
- # The exact variables and functions that may be referenced within an expression
- # are determined by the service that evaluates it. See the service
- # documentation for additional information.
- "description": "A String", # 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.
- "location": "A String", # 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", # 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.
- },
+ "role": "A String", # Role that is assigned to `members`.
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
},
],
- "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
- # prevent simultaneous updates of a policy from overwriting each other.
- # It is strongly suggested that systems make use of the `etag` in the
- # read-modify-write cycle to perform policy updates in order to avoid race
- # conditions: An `etag` is returned in the response to `getIamPolicy`, and
- # systems are expected to put that etag in the request to `setIamPolicy` to
- # ensure that their change will be applied to the same version of the policy.
- #
- # **Important:** If you use IAM Conditions, you must include the `etag` field
- # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
- # you to overwrite a version `3` policy with a version `1` policy, and all of
- # the conditions in the version `3` policy are lost.
- "version": 42, # Specifies the format of the policy.
- #
- # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
- # are rejected.
- #
- # Any operation that affects conditional role bindings must specify version
- # `3`. This requirement applies to the following operations:
- #
- # * Getting a policy that includes a conditional role binding
- # * Adding a conditional role binding to a policy
- # * Changing a conditional role binding in a policy
- # * Removing any role binding, with or without a condition, from a policy
- # that includes conditions
- #
- # **Important:** If you use IAM Conditions, you must include the `etag` field
- # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
- # you to overwrite a version `3` policy with a version `1` policy, and all of
- # the conditions in the version `3` policy are lost.
- #
- # If a policy does not include any conditions, operations on that policy may
- # specify any valid version or leave the field unset.
}</pre>
</div>
@@ -1123,11 +1172,11 @@
<code class="details" id="testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</code>
<pre>Returns permissions that a caller has on the specified resource.
If the resource does not exist, this will return an empty set of
-permissions, not a NOT_FOUND error.
+permissions, not a `NOT_FOUND` error.
Note: This operation is designed to be used for building permission-aware
UIs and command-line tools, not for authorization checking. This operation
-may "fail open" without warning.
+may "fail open" without warning.
Args:
resource: string, REQUIRED: The resource for which the policy detail is being requested.
@@ -1136,11 +1185,11 @@
The object takes the form of:
{ # Request message for `TestIamPermissions` method.
- "permissions": [ # The set of permissions to check for the `resource`. Permissions with
- # wildcards (such as '*' or 'storage.*') are not allowed. For more
+ "permissions": [ # The set of permissions to check for the `resource`. Permissions with
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
# information see
# [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
- "A String",
+ "A String",
],
}
@@ -1153,9 +1202,9 @@
An object of the form:
{ # Response message for `TestIamPermissions` method.
- "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is
+ "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is
# allowed.
- "A String",
+ "A String",
],
}</pre>
</div>