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/spanner_v1.projects.instances.backups.html b/docs/dyn/spanner_v1.projects.instances.backups.html
new file mode 100644
index 0000000..af4f04a
--- /dev/null
+++ b/docs/dyn/spanner_v1.projects.instances.backups.html
@@ -0,0 +1,1255 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ font-weight: inherit;
+ font-style: inherit;
+ font-size: 100%;
+ font-family: inherit;
+ vertical-align: baseline;
+}
+
+body {
+ font-size: 13px;
+ padding: 1em;
+}
+
+h1 {
+ font-size: 26px;
+ margin-bottom: 1em;
+}
+
+h2 {
+ font-size: 24px;
+ margin-bottom: 1em;
+}
+
+h3 {
+ font-size: 20px;
+ margin-bottom: 1em;
+ margin-top: 1em;
+}
+
+pre, code {
+ line-height: 1.5;
+ font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+ margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+ font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+ border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+ margin-top: 0.5em;
+}
+
+.firstline {
+ margin-left: 2 em;
+}
+
+.method {
+ margin-top: 1em;
+ border: solid 1px #CCC;
+ padding: 1em;
+ background: #EEE;
+}
+
+.details {
+ font-weight: bold;
+ font-size: 14px;
+}
+
+</style>
+
+<h1><a href="spanner_v1.html">Cloud Spanner API</a> . <a href="spanner_v1.projects.html">projects</a> . <a href="spanner_v1.projects.instances.html">instances</a> . <a href="spanner_v1.projects.instances.backups.html">backups</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+ <code><a href="spanner_v1.projects.instances.backups.operations.html">operations()</a></code>
+</p>
+<p class="firstline">Returns the operations Resource.</p>
+
+<p class="toc_element">
+ <code><a href="#create">create(parent, body=None, backupId=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Starts creating a new Cloud Spanner Backup.</p>
+<p class="toc_element">
+ <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes a pending or completed Backup.</p>
+<p class="toc_element">
+ <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets metadata on a pending or completed Backup.</p>
+<p class="toc_element">
+ <code><a href="#getIamPolicy">getIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the access control policy for a database or backup resource.</p>
+<p class="toc_element">
+ <code><a href="#list">list(parent, pageToken=None, pageSize=None, filter=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists completed and pending backups.</p>
+<p class="toc_element">
+ <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+ <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates a pending or completed Backup.</p>
+<p class="toc_element">
+ <code><a href="#setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Sets the access control policy on a database or backup resource.</p>
+<p class="toc_element">
+ <code><a href="#testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns permissions that the caller has on the specified database or backup</p>
+<h3>Method Details</h3>
+<div class="method">
+ <code class="details" id="create">create(parent, body=None, backupId=None, x__xgafv=None)</code>
+ <pre>Starts creating a new Cloud Spanner Backup.
+The returned backup long-running operation
+will have a name of the format
+`projects/<project>/instances/<instance>/backups/<backup>/operations/<operation_id>`
+and can be used to track creation of the backup. The
+metadata field type is
+CreateBackupMetadata. The
+response field type is
+Backup, if successful. Cancelling the returned operation will stop the
+creation and delete the backup.
+There can be only one pending backup creation per database. Backup creation
+of different databases can run concurrently.
+
+Args:
+ parent: string, Required. The name of the instance in which the backup will be
+created. This must be the same instance that contains the database the
+backup will be created from. The backup will be stored in the
+location(s) specified in the instance configuration of this
+instance. Values are of the form
+`projects/<project>/instances/<instance>`. (required)
+ body: object, The request body.
+ The object takes the form of:
+
+{ # A backup of a Cloud Spanner database.
+ "sizeBytes": "A String", # Output only. Size of the backup in bytes.
+ "referencingDatabases": [ # Output only. The names of the restored databases that reference the backup.
+ # The database names are of
+ # the form `projects/<project>/instances/<instance>/databases/<database>`.
+ # Referencing databases may exist in different instances. The existence of
+ # any referencing database prevents the backup from being deleted. When a
+ # restored database from the backup enters the `READY` state, the reference
+ # to the backup is removed.
+ "A String",
+ ],
+ "database": "A String", # Required for the CreateBackup operation.
+ # Name of the database from which this backup was
+ # created. This needs to be in the same instance as the backup.
+ # Values are of the form
+ # `projects/<project>/instances/<instance>/databases/<database>`.
+ "createTime": "A String", # Output only. The backup will contain an externally consistent
+ # copy of the database at the timestamp specified by
+ # `create_time`. `create_time` is approximately the time the
+ # CreateBackup request is received.
+ "expireTime": "A String", # Required for the CreateBackup
+ # operation. The expiration time of the backup, with microseconds
+ # granularity that must be at least 6 hours and at most 366 days
+ # from the time the CreateBackup request is processed. Once the `expire_time`
+ # has passed, the backup is eligible to be automatically deleted by Cloud
+ # Spanner to free the resources used by the backup.
+ "state": "A String", # Output only. The current state of the backup.
+ "name": "A String", # Output only for the CreateBackup operation.
+ # Required for the UpdateBackup operation.
+ #
+ # A globally unique identifier for the backup which cannot be
+ # changed. Values are of the form
+ # `projects/<project>/instances/<instance>/backups/a-z*[a-z0-9]`
+ # The final segment of the name must be between 2 and 60 characters
+ # in length.
+ #
+ # The backup is stored in the location(s) specified in the instance
+ # configuration of the instance containing the backup, identified
+ # by the prefix of the backup name of the form
+ # `projects/<project>/instances/<instance>`.
+}
+
+ backupId: string, Required. The id of the backup to be created. The `backup_id` appended to
+`parent` forms the full backup name of the form
+`projects/<project>/instances/<instance>/backups/<backup_id>`.
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # This resource represents a long-running operation that is the result of a
+ # network API call.
+ "done": True or False, # If the value is `false`, it means the operation is still in progress.
+ # If `true`, the operation is completed, and either `error` or `response` is
+ # available.
+ "response": { # The normal response of the operation in case of success. If the original
+ # method returns no data on success, such as `Delete`, the response is
+ # `google.protobuf.Empty`. If the original method is standard
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
+ # is the original method name. For example, if the original method name
+ # is `TakeSnapshot()`, the inferred response type is
+ # `TakeSnapshotResponse`.
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ "name": "A String", # The server-assigned name, which is only unique within the same service that
+ # originally returns it. If you use the default HTTP mapping, the
+ # `name` should be a resource name ending with `operations/{unique_id}`.
+ "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
+ # different programming environments, including REST APIs and RPC APIs. It is
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
+ # three pieces of data: error code, error message, and error details.
+ #
+ # You can find out more about this error model and how to work with it in the
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
+ "code": 42, # The status code, which should be an enum value of google.rpc.Code.
+ "message": "A String", # A developer-facing error message, which should be in English. Any
+ # user-facing error message should be localized and sent in the
+ # google.rpc.Status.details field, or localized by the client.
+ "details": [ # A list of messages that carry the error details. There is a common set of
+ # message types for APIs to use.
+ {
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ ],
+ },
+ "metadata": { # Service-specific metadata associated with the operation. It typically
+ # contains progress information and common metadata such as create time.
+ # Some services might not provide such metadata. Any method that returns a
+ # long-running operation should document the metadata type, if any.
+ "a_key": "", # Properties of the object. Contains field @type with type URL.
+ },
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+ <pre>Deletes a pending or completed Backup.
+
+Args:
+ name: string, Required. Name of the backup to delete.
+Values are of the form
+`projects/<project>/instances/<instance>/backups/<backup>`. (required)
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # A generic empty message that you can re-use to avoid defining duplicated
+ # empty messages in your APIs. A typical example is to use it as the request
+ # or the response type of an API method. For instance:
+ #
+ # service Foo {
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
+ # }
+ #
+ # The JSON representation for `Empty` is empty JSON object `{}`.
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="get">get(name, x__xgafv=None)</code>
+ <pre>Gets metadata on a pending or completed Backup.
+
+Args:
+ name: string, Required. Name of the backup.
+Values are of the form
+`projects/<project>/instances/<instance>/backups/<backup>`. (required)
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # A backup of a Cloud Spanner database.
+ "sizeBytes": "A String", # Output only. Size of the backup in bytes.
+ "referencingDatabases": [ # Output only. The names of the restored databases that reference the backup.
+ # The database names are of
+ # the form `projects/<project>/instances/<instance>/databases/<database>`.
+ # Referencing databases may exist in different instances. The existence of
+ # any referencing database prevents the backup from being deleted. When a
+ # restored database from the backup enters the `READY` state, the reference
+ # to the backup is removed.
+ "A String",
+ ],
+ "database": "A String", # Required for the CreateBackup operation.
+ # Name of the database from which this backup was
+ # created. This needs to be in the same instance as the backup.
+ # Values are of the form
+ # `projects/<project>/instances/<instance>/databases/<database>`.
+ "createTime": "A String", # Output only. The backup will contain an externally consistent
+ # copy of the database at the timestamp specified by
+ # `create_time`. `create_time` is approximately the time the
+ # CreateBackup request is received.
+ "expireTime": "A String", # Required for the CreateBackup
+ # operation. The expiration time of the backup, with microseconds
+ # granularity that must be at least 6 hours and at most 366 days
+ # from the time the CreateBackup request is processed. Once the `expire_time`
+ # has passed, the backup is eligible to be automatically deleted by Cloud
+ # Spanner to free the resources used by the backup.
+ "state": "A String", # Output only. The current state of the backup.
+ "name": "A String", # Output only for the CreateBackup operation.
+ # Required for the UpdateBackup operation.
+ #
+ # A globally unique identifier for the backup which cannot be
+ # changed. Values are of the form
+ # `projects/<project>/instances/<instance>/backups/a-z*[a-z0-9]`
+ # The final segment of the name must be between 2 and 60 characters
+ # in length.
+ #
+ # The backup is stored in the location(s) specified in the instance
+ # configuration of the instance containing the backup, identified
+ # by the prefix of the backup name of the form
+ # `projects/<project>/instances/<instance>`.
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="getIamPolicy">getIamPolicy(resource, body=None, x__xgafv=None)</code>
+ <pre>Gets the access control policy for a database or backup resource.
+Returns an empty policy if a database or backup exists but does not have a
+policy set.
+
+Authorization requires `spanner.databases.getIamPolicy` permission on
+resource.
+For backups, authorization requires `spanner.backups.getIamPolicy`
+permission on resource.
+
+Args:
+ resource: string, REQUIRED: The Cloud Spanner resource for which the policy is being retrieved. The format is `projects/<project ID>/instances/<instance ID>` for instance resources and `projects/<project ID>/instances/<instance ID>/databases/<database ID>` for database resources. (required)
+ body: object, The request body.
+ The object takes the form of:
+
+{ # Request message for `GetIamPolicy` method.
+ "options": { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to
+ # `GetIamPolicy`.
+ "requestedPolicyVersion": 42, # Optional. The policy format version to be returned.
+ #
+ # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
+ # rejected.
+ #
+ # 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.
+ },
+ }
+
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # An Identity and Access Management (IAM) policy, which specifies access
+ # controls for Google Cloud resources.
+ #
+ #
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
+ # `members` to a single `role`. Members can be user accounts, service accounts,
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
+ # 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.
+ #
+ # **JSON example:**
+ #
+ # {
+ # "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.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
+ # }
+ #
+ # **YAML example:**
+ #
+ # bindings:
+ # - 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:eve@example.com
+ # role: roles/resourcemanager.organizationViewer
+ # 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
+ #
+ # For a description of IAM and its features, see the
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
+ "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.
+ "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`.
+ "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.
+ "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
+ # 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 Google
+ # account. For example, `alice@example.com` .
+ #
+ #
+ # * `serviceAccount:{emailid}`: An email address that represents a service
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
+ #
+ # * `group:{emailid}`: An email address that represents a Google group.
+ # For example, `admins@example.com`.
+ #
+ # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
+ # identifier) representing a user that has been recently deleted. For
+ # example, `alice@example.com?uid=123456789012345678901`. If the user is
+ # recovered, this value reverts to `user:{emailid}` and the recovered user
+ # retains the role in the binding.
+ #
+ # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
+ # unique identifier) representing a service account that has been recently
+ # deleted. For example,
+ # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
+ # If the service account is undeleted, this value reverts to
+ # `serviceAccount:{emailid}` and the undeleted service account retains the
+ # role in the binding.
+ #
+ # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
+ # identifier) representing a Google group that has been recently
+ # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
+ # the group is recovered, this value reverts to `group:{emailid}` and the
+ # recovered group retains the role in the binding.
+ #
+ #
+ # * `domain:{domain}`: The G Suite domain (primary) that represents all the
+ # users of that domain. For example, `google.com` or `example.com`.
+ #
+ "A String",
+ ],
+ "role": "A String", # Role that is assigned to `members`.
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+ },
+ ],
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="list">list(parent, pageToken=None, pageSize=None, filter=None, x__xgafv=None)</code>
+ <pre>Lists completed and pending backups.
+Backups returned are ordered by `create_time` in descending order,
+starting from the most recent `create_time`.
+
+Args:
+ parent: string, Required. The instance to list backups from. Values are of the
+form `projects/<project>/instances/<instance>`. (required)
+ pageToken: string, If non-empty, `page_token` should contain a
+next_page_token from a
+previous ListBackupsResponse to the same `parent` and with the same
+`filter`.
+ pageSize: integer, Number of backups to be returned in the response. If 0 or
+less, defaults to the server's maximum allowed page size.
+ filter: string, An expression that filters the list of returned backups.
+
+A filter expression consists of a field name, a comparison operator, and a
+value for filtering.
+The value must be a string, a number, or a boolean. The comparison operator
+must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
+Colon `:` is the contains operator. Filter rules are not case sensitive.
+
+The following fields in the Backup are eligible for filtering:
+
+ * `name`
+ * `database`
+ * `state`
+ * `create_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
+ * `expire_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
+ * `size_bytes`
+
+You can combine multiple expressions by enclosing each expression in
+parentheses. By default, expressions are combined with AND logic, but
+you can specify AND, OR, and NOT logic explicitly.
+
+Here are a few examples:
+
+ * `name:Howl` - The backup's name contains the string "howl".
+ * `database:prod`
+ - The database's name contains the string "prod".
+ * `state:CREATING` - The backup is pending creation.
+ * `state:READY` - The backup is fully created and ready for use.
+ * `(name:howl) AND (create_time < \"2018-03-28T14:50:00Z\")`
+ - The backup name contains the string "howl" and `create_time`
+ of the backup is before 2018-03-28T14:50:00Z.
+ * `expire_time < \"2018-03-28T14:50:00Z\"`
+ - The backup `expire_time` is before 2018-03-28T14:50:00Z.
+ * `size_bytes > 10000000000` - The backup's size is greater than 10GB
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # The response for ListBackups.
+ "backups": [ # The list of matching backups. Backups returned are ordered by `create_time`
+ # in descending order, starting from the most recent `create_time`.
+ { # A backup of a Cloud Spanner database.
+ "sizeBytes": "A String", # Output only. Size of the backup in bytes.
+ "referencingDatabases": [ # Output only. The names of the restored databases that reference the backup.
+ # The database names are of
+ # the form `projects/<project>/instances/<instance>/databases/<database>`.
+ # Referencing databases may exist in different instances. The existence of
+ # any referencing database prevents the backup from being deleted. When a
+ # restored database from the backup enters the `READY` state, the reference
+ # to the backup is removed.
+ "A String",
+ ],
+ "database": "A String", # Required for the CreateBackup operation.
+ # Name of the database from which this backup was
+ # created. This needs to be in the same instance as the backup.
+ # Values are of the form
+ # `projects/<project>/instances/<instance>/databases/<database>`.
+ "createTime": "A String", # Output only. The backup will contain an externally consistent
+ # copy of the database at the timestamp specified by
+ # `create_time`. `create_time` is approximately the time the
+ # CreateBackup request is received.
+ "expireTime": "A String", # Required for the CreateBackup
+ # operation. The expiration time of the backup, with microseconds
+ # granularity that must be at least 6 hours and at most 366 days
+ # from the time the CreateBackup request is processed. Once the `expire_time`
+ # has passed, the backup is eligible to be automatically deleted by Cloud
+ # Spanner to free the resources used by the backup.
+ "state": "A String", # Output only. The current state of the backup.
+ "name": "A String", # Output only for the CreateBackup operation.
+ # Required for the UpdateBackup operation.
+ #
+ # A globally unique identifier for the backup which cannot be
+ # changed. Values are of the form
+ # `projects/<project>/instances/<instance>/backups/a-z*[a-z0-9]`
+ # The final segment of the name must be between 2 and 60 characters
+ # in length.
+ #
+ # The backup is stored in the location(s) specified in the instance
+ # configuration of the instance containing the backup, identified
+ # by the prefix of the backup name of the form
+ # `projects/<project>/instances/<instance>`.
+ },
+ ],
+ "nextPageToken": "A String", # `next_page_token` can be sent in a subsequent
+ # ListBackups call to fetch more
+ # of the matching backups.
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+ <pre>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.
+ </pre>
+</div>
+
+<div class="method">
+ <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
+ <pre>Updates a pending or completed Backup.
+
+Args:
+ name: string, Output only for the CreateBackup operation.
+Required for the UpdateBackup operation.
+
+A globally unique identifier for the backup which cannot be
+changed. Values are of the form
+`projects/<project>/instances/<instance>/backups/a-z*[a-z0-9]`
+The final segment of the name must be between 2 and 60 characters
+in length.
+
+The backup is stored in the location(s) specified in the instance
+configuration of the instance containing the backup, identified
+by the prefix of the backup name of the form
+`projects/<project>/instances/<instance>`. (required)
+ body: object, The request body.
+ The object takes the form of:
+
+{ # A backup of a Cloud Spanner database.
+ "sizeBytes": "A String", # Output only. Size of the backup in bytes.
+ "referencingDatabases": [ # Output only. The names of the restored databases that reference the backup.
+ # The database names are of
+ # the form `projects/<project>/instances/<instance>/databases/<database>`.
+ # Referencing databases may exist in different instances. The existence of
+ # any referencing database prevents the backup from being deleted. When a
+ # restored database from the backup enters the `READY` state, the reference
+ # to the backup is removed.
+ "A String",
+ ],
+ "database": "A String", # Required for the CreateBackup operation.
+ # Name of the database from which this backup was
+ # created. This needs to be in the same instance as the backup.
+ # Values are of the form
+ # `projects/<project>/instances/<instance>/databases/<database>`.
+ "createTime": "A String", # Output only. The backup will contain an externally consistent
+ # copy of the database at the timestamp specified by
+ # `create_time`. `create_time` is approximately the time the
+ # CreateBackup request is received.
+ "expireTime": "A String", # Required for the CreateBackup
+ # operation. The expiration time of the backup, with microseconds
+ # granularity that must be at least 6 hours and at most 366 days
+ # from the time the CreateBackup request is processed. Once the `expire_time`
+ # has passed, the backup is eligible to be automatically deleted by Cloud
+ # Spanner to free the resources used by the backup.
+ "state": "A String", # Output only. The current state of the backup.
+ "name": "A String", # Output only for the CreateBackup operation.
+ # Required for the UpdateBackup operation.
+ #
+ # A globally unique identifier for the backup which cannot be
+ # changed. Values are of the form
+ # `projects/<project>/instances/<instance>/backups/a-z*[a-z0-9]`
+ # The final segment of the name must be between 2 and 60 characters
+ # in length.
+ #
+ # The backup is stored in the location(s) specified in the instance
+ # configuration of the instance containing the backup, identified
+ # by the prefix of the backup name of the form
+ # `projects/<project>/instances/<instance>`.
+}
+
+ updateMask: string, Required. A mask specifying which fields (e.g. `expire_time`) in the
+Backup resource should be updated. This mask is relative to the Backup
+resource, not to the request message. The field mask must always be
+specified; this prevents any future fields from being erased accidentally
+by clients that do not know about them.
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # A backup of a Cloud Spanner database.
+ "sizeBytes": "A String", # Output only. Size of the backup in bytes.
+ "referencingDatabases": [ # Output only. The names of the restored databases that reference the backup.
+ # The database names are of
+ # the form `projects/<project>/instances/<instance>/databases/<database>`.
+ # Referencing databases may exist in different instances. The existence of
+ # any referencing database prevents the backup from being deleted. When a
+ # restored database from the backup enters the `READY` state, the reference
+ # to the backup is removed.
+ "A String",
+ ],
+ "database": "A String", # Required for the CreateBackup operation.
+ # Name of the database from which this backup was
+ # created. This needs to be in the same instance as the backup.
+ # Values are of the form
+ # `projects/<project>/instances/<instance>/databases/<database>`.
+ "createTime": "A String", # Output only. The backup will contain an externally consistent
+ # copy of the database at the timestamp specified by
+ # `create_time`. `create_time` is approximately the time the
+ # CreateBackup request is received.
+ "expireTime": "A String", # Required for the CreateBackup
+ # operation. The expiration time of the backup, with microseconds
+ # granularity that must be at least 6 hours and at most 366 days
+ # from the time the CreateBackup request is processed. Once the `expire_time`
+ # has passed, the backup is eligible to be automatically deleted by Cloud
+ # Spanner to free the resources used by the backup.
+ "state": "A String", # Output only. The current state of the backup.
+ "name": "A String", # Output only for the CreateBackup operation.
+ # Required for the UpdateBackup operation.
+ #
+ # A globally unique identifier for the backup which cannot be
+ # changed. Values are of the form
+ # `projects/<project>/instances/<instance>/backups/a-z*[a-z0-9]`
+ # The final segment of the name must be between 2 and 60 characters
+ # in length.
+ #
+ # The backup is stored in the location(s) specified in the instance
+ # configuration of the instance containing the backup, identified
+ # by the prefix of the backup name of the form
+ # `projects/<project>/instances/<instance>`.
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</code>
+ <pre>Sets the access control policy on a database or backup resource.
+Replaces any existing policy.
+
+Authorization requires `spanner.databases.setIamPolicy`
+permission on resource.
+For backups, authorization requires `spanner.backups.setIamPolicy`
+permission on resource.
+
+Args:
+ resource: string, REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is `projects/<project ID>/instances/<instance ID>` for instance resources and `projects/<project ID>/instances/<instance ID>/databases/<database ID>` for databases resources. (required)
+ body: object, The request body.
+ 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
+ # 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.
+ # controls for Google Cloud resources.
+ #
+ #
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
+ # `members` to a single `role`. Members can be user accounts, service accounts,
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
+ # 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.
+ #
+ # **JSON example:**
+ #
+ # {
+ # "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.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
+ # }
+ #
+ # **YAML example:**
+ #
+ # bindings:
+ # - 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:eve@example.com
+ # role: roles/resourcemanager.organizationViewer
+ # 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
+ #
+ # For a description of IAM and its features, see the
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
+ "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.
+ "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`.
+ "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.
+ "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
+ # 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 Google
+ # account. For example, `alice@example.com` .
+ #
+ #
+ # * `serviceAccount:{emailid}`: An email address that represents a service
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
+ #
+ # * `group:{emailid}`: An email address that represents a Google group.
+ # For example, `admins@example.com`.
+ #
+ # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
+ # identifier) representing a user that has been recently deleted. For
+ # example, `alice@example.com?uid=123456789012345678901`. If the user is
+ # recovered, this value reverts to `user:{emailid}` and the recovered user
+ # retains the role in the binding.
+ #
+ # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
+ # unique identifier) representing a service account that has been recently
+ # deleted. For example,
+ # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
+ # If the service account is undeleted, this value reverts to
+ # `serviceAccount:{emailid}` and the undeleted service account retains the
+ # role in the binding.
+ #
+ # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
+ # identifier) representing a Google group that has been recently
+ # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
+ # the group is recovered, this value reverts to `group:{emailid}` and the
+ # recovered group retains the role in the binding.
+ #
+ #
+ # * `domain:{domain}`: The G Suite domain (primary) that represents all the
+ # users of that domain. For example, `google.com` or `example.com`.
+ #
+ "A String",
+ ],
+ "role": "A String", # Role that is assigned to `members`.
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+ },
+ ],
+ },
+ }
+
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # An Identity and Access Management (IAM) policy, which specifies access
+ # controls for Google Cloud resources.
+ #
+ #
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
+ # `members` to a single `role`. Members can be user accounts, service accounts,
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
+ # 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.
+ #
+ # **JSON example:**
+ #
+ # {
+ # "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.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
+ # }
+ #
+ # **YAML example:**
+ #
+ # bindings:
+ # - 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:eve@example.com
+ # role: roles/resourcemanager.organizationViewer
+ # 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
+ #
+ # For a description of IAM and its features, see the
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
+ "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.
+ "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`.
+ "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.
+ "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
+ # 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 Google
+ # account. For example, `alice@example.com` .
+ #
+ #
+ # * `serviceAccount:{emailid}`: An email address that represents a service
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
+ #
+ # * `group:{emailid}`: An email address that represents a Google group.
+ # For example, `admins@example.com`.
+ #
+ # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
+ # identifier) representing a user that has been recently deleted. For
+ # example, `alice@example.com?uid=123456789012345678901`. If the user is
+ # recovered, this value reverts to `user:{emailid}` and the recovered user
+ # retains the role in the binding.
+ #
+ # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
+ # unique identifier) representing a service account that has been recently
+ # deleted. For example,
+ # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
+ # If the service account is undeleted, this value reverts to
+ # `serviceAccount:{emailid}` and the undeleted service account retains the
+ # role in the binding.
+ #
+ # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
+ # identifier) representing a Google group that has been recently
+ # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
+ # the group is recovered, this value reverts to `group:{emailid}` and the
+ # recovered group retains the role in the binding.
+ #
+ #
+ # * `domain:{domain}`: The G Suite domain (primary) that represents all the
+ # users of that domain. For example, `google.com` or `example.com`.
+ #
+ "A String",
+ ],
+ "role": "A String", # Role that is assigned to `members`.
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+ },
+ ],
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</code>
+ <pre>Returns permissions that the caller has on the specified database or backup
+resource.
+
+Attempting this RPC on a non-existent Cloud Spanner database will
+result in a NOT_FOUND error if the user has
+`spanner.databases.list` permission on the containing Cloud
+Spanner instance. Otherwise returns an empty set of permissions.
+Calling this method on a backup that does not exist will
+result in a NOT_FOUND error if the user has
+`spanner.backups.list` permission on the containing instance.
+
+Args:
+ resource: string, REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is `projects/<project ID>/instances/<instance ID>` for instance resources and `projects/<project ID>/instances/<instance ID>/databases/<database ID>` for database resources. (required)
+ body: object, The request body.
+ The object takes the form of:
+
+{ # Request message for `TestIamPermissions` method.
+ "permissions": [ # REQUIRED: The set of permissions to check for 'resource'.
+ # Permissions with wildcards (such as '*', 'spanner.*', 'spanner.instances.*') are not allowed.
+ "A String",
+ ],
+ }
+
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
+
+Returns:
+ An object of the form:
+
+ { # Response message for `TestIamPermissions` method.
+ "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is
+ # allowed.
+ "A String",
+ ],
+ }</pre>
+</div>
+
+</body></html>
\ No newline at end of file