blob: 875fa51660a9306cc52586bd25f2f4883ee92cd7 [file] [log] [blame]
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5 margin: 0;
6 padding: 0;
7 border: 0;
8 font-weight: inherit;
9 font-style: inherit;
10 font-size: 100%;
11 font-family: inherit;
12 vertical-align: baseline;
13}
14
15body {
16 font-size: 13px;
17 padding: 1em;
18}
19
20h1 {
21 font-size: 26px;
22 margin-bottom: 1em;
23}
24
25h2 {
26 font-size: 24px;
27 margin-bottom: 1em;
28}
29
30h3 {
31 font-size: 20px;
32 margin-bottom: 1em;
33 margin-top: 1em;
34}
35
36pre, code {
37 line-height: 1.5;
38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42 margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46 font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50 border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54 margin-top: 0.5em;
55}
56
57.firstline {
58 margin-left: 2 em;
59}
60
61.method {
62 margin-top: 1em;
63 border: solid 1px #CCC;
64 padding: 1em;
65 background: #EEE;
66}
67
68.details {
69 font-weight: bold;
70 font-size: 14px;
71}
72
73</style>
74
75<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></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070078 <code><a href="spanner_v1.projects.instances.backupOperations.html">backupOperations()</a></code>
79</p>
80<p class="firstline">Returns the backupOperations Resource.</p>
81
82<p class="toc_element">
83 <code><a href="spanner_v1.projects.instances.backups.html">backups()</a></code>
84</p>
85<p class="firstline">Returns the backups Resource.</p>
86
87<p class="toc_element">
88 <code><a href="spanner_v1.projects.instances.databaseOperations.html">databaseOperations()</a></code>
89</p>
90<p class="firstline">Returns the databaseOperations Resource.</p>
91
92<p class="toc_element">
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -040093 <code><a href="spanner_v1.projects.instances.databases.html">databases()</a></code>
94</p>
95<p class="firstline">Returns the databases Resource.</p>
96
97<p class="toc_element">
98 <code><a href="spanner_v1.projects.instances.operations.html">operations()</a></code>
99</p>
100<p class="firstline">Returns the operations Resource.</p>
101
102<p class="toc_element">
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700103 <code><a href="#close">close()</a></code></p>
104<p class="firstline">Close httplib2 connections.</p>
105<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -0700106 <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700107<p class="firstline">Creates an instance and begins preparing it to begin serving. The returned long-running operation can be used to track the progress of preparing the new instance. The instance name is assigned by the caller. If the named instance already exists, `CreateInstance` returns `ALREADY_EXISTS`. Immediately upon completion of this request: * The instance is readable via the API, with all requested attributes but no allocated resources. Its state is `CREATING`. Until completion of the returned operation: * Cancelling the operation renders the instance immediately unreadable via the API. * The instance can be deleted. * All other attempts to modify the instance are rejected. Upon completion of the returned operation: * Billing for all successfully-allocated resources begins (some types may have lower than the requested levels). * Databases can be created in the instance. * The instance's allocated resource levels are readable via the API. * The instance's state becomes `READY`. The returned long-running operation will have a name of the format `/operations/` and can be used to track creation of the instance. The metadata field type is CreateInstanceMetadata. The response field type is Instance, if successful.</p>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400108<p class="toc_element">
Thomas Coffee2f245372017-03-27 10:39:26 -0700109 <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700110<p class="firstline">Deletes an instance. Immediately upon completion of the request: * Billing ceases for all of the instance's reserved resources. Soon afterward: * The instance and *all of its databases* immediately and irrevocably disappear from the API. All data in the databases is permanently deleted.</p>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400111<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -0700112 <code><a href="#get">get(name, fieldMask=None, x__xgafv=None)</a></code></p>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400113<p class="firstline">Gets information about a particular instance.</p>
114<p class="toc_element">
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700115 <code><a href="#getIamPolicy">getIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700116<p class="firstline">Gets the access control policy for an instance resource. Returns an empty policy if an instance exists but does not have a policy set. Authorization requires `spanner.instances.getIamPolicy` on resource.</p>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400117<p class="toc_element">
yoshi-code-botb6dc1b92021-03-02 11:49:08 -0800118 <code><a href="#list">list(parent, filter=None, instanceDeadline=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400119<p class="firstline">Lists all instances in the given project.</p>
120<p class="toc_element">
121 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
122<p class="firstline">Retrieves the next page of results.</p>
123<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -0700124 <code><a href="#patch">patch(name, body=None, x__xgafv=None)</a></code></p>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700125<p class="firstline">Updates an instance, and begins allocating or releasing resources as requested. The returned long-running operation can be used to track the progress of updating the instance. If the named instance does not exist, returns `NOT_FOUND`. Immediately upon completion of this request: * For resource types for which a decrease in the instance's allocation has been requested, billing is based on the newly-requested level. Until completion of the returned operation: * Cancelling the operation sets its metadata's cancel_time, and begins restoring resources to their pre-request values. The operation is guaranteed to succeed at undoing all resource changes, after which point it terminates with a `CANCELLED` status. * All other attempts to modify the instance are rejected. * Reading the instance via the API continues to give the pre-request resource levels. Upon completion of the returned operation: * Billing begins for all successfully-allocated resources (some types may have lower than the requested levels). * All newly-reserved resources are available for serving the instance's tables. * The instance's new resource levels are readable via the API. The returned long-running operation will have a name of the format `/operations/` and can be used to track the instance modification. The metadata field type is UpdateInstanceMetadata. The response field type is Instance, if successful. Authorization requires `spanner.instances.update` permission on resource name.</p>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400126<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -0700127 <code><a href="#setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700128<p class="firstline">Sets the access control policy on an instance resource. Replaces any existing policy. Authorization requires `spanner.instances.setIamPolicy` on resource.</p>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400129<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -0700130 <code><a href="#testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</a></code></p>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700131<p class="firstline">Returns permissions that the caller has on the specified instance resource. Attempting this RPC on a non-existent Cloud Spanner instance resource will result in a NOT_FOUND error if the user has `spanner.instances.list` permission on the containing Google Cloud Project. Otherwise returns an empty set of permissions.</p>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400132<h3>Method Details</h3>
133<div class="method">
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700134 <code class="details" id="close">close()</code>
135 <pre>Close httplib2 connections.</pre>
136</div>
137
138<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700139 <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700140 <pre>Creates an instance and begins preparing it to begin serving. The returned long-running operation can be used to track the progress of preparing the new instance. The instance name is assigned by the caller. If the named instance already exists, `CreateInstance` returns `ALREADY_EXISTS`. Immediately upon completion of this request: * The instance is readable via the API, with all requested attributes but no allocated resources. Its state is `CREATING`. Until completion of the returned operation: * Cancelling the operation renders the instance immediately unreadable via the API. * The instance can be deleted. * All other attempts to modify the instance are rejected. Upon completion of the returned operation: * Billing for all successfully-allocated resources begins (some types may have lower than the requested levels). * Databases can be created in the instance. * The instance&#x27;s allocated resource levels are readable via the API. * The instance&#x27;s state becomes `READY`. The returned long-running operation will have a name of the format `/operations/` and can be used to track creation of the instance. The metadata field type is CreateInstanceMetadata. The response field type is Instance, if successful.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400141
142Args:
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700143 parent: string, Required. The name of the project in which to create the instance. Values are of the form `projects/`. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700144 body: object, The request body.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400145 The object takes the form of:
146
147{ # The request for CreateInstance.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800148 &quot;instance&quot;: { # An isolated set of Cloud Spanner resources on which databases can be hosted. # Required. The instance to create. The name may be omitted, but if specified must be `/instances/`.
149 &quot;config&quot;: &quot;A String&quot;, # Required. The name of the instance&#x27;s configuration. Values are of the form `projects//instanceConfigs/`. See also InstanceConfig and ListInstanceConfigs.
150 &quot;displayName&quot;: &quot;A String&quot;, # Required. The descriptive name for this instance as it appears in UIs. Must be unique per project and between 4 and 30 characters in length.
151 &quot;endpointUris&quot;: [ # Deprecated. This field is not populated.
152 &quot;A String&quot;,
153 ],
154 &quot;labels&quot;: { # Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer&#x27;s organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. And so you are advised to use an internal label representation, such as JSON, which doesn&#x27;t rely upon specific characters being disallowed. For example, representing labels as the string: name + &quot;_&quot; + value would prove problematic if we were to allow &quot;_&quot; in a future release.
155 &quot;a_key&quot;: &quot;A String&quot;,
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400156 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800157 &quot;name&quot;: &quot;A String&quot;, # Required. A unique identifier for the instance, which cannot be changed after the instance is created. Values are of the form `projects//instances/a-z*[a-z0-9]`. The final segment of the name must be between 2 and 64 characters in length.
158 &quot;nodeCount&quot;: 42, # The number of nodes allocated to this instance. This may be zero in API responses for instances that are not yet in state `READY`. See [the documentation](https://cloud.google.com/spanner/docs/instances#node_count) for more information about nodes.
yoshi-code-bot26aa9e22021-06-10 00:24:06 -0700159 &quot;processingUnits&quot;: 42, # The number of processing units allocated to this instance. At most one of processing_units or node_count should be present in the message. This may be zero in API responses for instances that are not yet in state `READY`.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800160 &quot;state&quot;: &quot;A String&quot;, # Output only. The current instance state. For CreateInstance, the state must be either omitted or set to `CREATING`. For UpdateInstance, the state must be either omitted or set to `READY`.
161 },
162 &quot;instanceId&quot;: &quot;A String&quot;, # Required. The ID of the instance to create. Valid identifiers are of the form `a-z*[a-z0-9]` and must be between 2 and 64 characters in length.
163}
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400164
165 x__xgafv: string, V1 error format.
166 Allowed values
167 1 - v1 error format
168 2 - v2 error format
169
170Returns:
171 An object of the form:
172
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700173 { # This resource represents a long-running operation that is the result of a network API call.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800174 &quot;done&quot;: 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.
175 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for 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). # The error result of the operation in case of failure or cancellation.
176 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
177 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
178 {
179 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
180 },
181 ],
182 &quot;message&quot;: &quot;A String&quot;, # 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.
183 },
184 &quot;metadata&quot;: { # 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.
185 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
186 },
187 &quot;name&quot;: &quot;A String&quot;, # 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}`.
188 &quot;response&quot;: { # 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`.
189 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
190 },
191}</pre>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400192</div>
193
194<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -0700195 <code class="details" id="delete">delete(name, x__xgafv=None)</code>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700196 <pre>Deletes an instance. Immediately upon completion of the request: * Billing ceases for all of the instance&#x27;s reserved resources. Soon afterward: * The instance and *all of its databases* immediately and irrevocably disappear from the API. All data in the databases is permanently deleted.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400197
198Args:
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700199 name: string, Required. The name of the instance to be deleted. Values are of the form `projects//instances/` (required)
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400200 x__xgafv: string, V1 error format.
201 Allowed values
202 1 - v1 error format
203 2 - v2 error format
204
205Returns:
206 An object of the form:
207
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700208 { # 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 `{}`.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800209}</pre>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400210</div>
211
212<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700213 <code class="details" id="get">get(name, fieldMask=None, x__xgafv=None)</code>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400214 <pre>Gets information about a particular instance.
215
216Args:
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700217 name: string, Required. The name of the requested instance. Values are of the form `projects//instances/`. (required)
218 fieldMask: string, If field_mask is present, specifies the subset of Instance fields that should be returned. If absent, all Instance fields are returned.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400219 x__xgafv: string, V1 error format.
220 Allowed values
221 1 - v1 error format
222 2 - v2 error format
223
224Returns:
225 An object of the form:
226
227 { # An isolated set of Cloud Spanner resources on which databases can be hosted.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800228 &quot;config&quot;: &quot;A String&quot;, # Required. The name of the instance&#x27;s configuration. Values are of the form `projects//instanceConfigs/`. See also InstanceConfig and ListInstanceConfigs.
229 &quot;displayName&quot;: &quot;A String&quot;, # Required. The descriptive name for this instance as it appears in UIs. Must be unique per project and between 4 and 30 characters in length.
230 &quot;endpointUris&quot;: [ # Deprecated. This field is not populated.
231 &quot;A String&quot;,
232 ],
233 &quot;labels&quot;: { # Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer&#x27;s organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. And so you are advised to use an internal label representation, such as JSON, which doesn&#x27;t rely upon specific characters being disallowed. For example, representing labels as the string: name + &quot;_&quot; + value would prove problematic if we were to allow &quot;_&quot; in a future release.
234 &quot;a_key&quot;: &quot;A String&quot;,
235 },
236 &quot;name&quot;: &quot;A String&quot;, # Required. A unique identifier for the instance, which cannot be changed after the instance is created. Values are of the form `projects//instances/a-z*[a-z0-9]`. The final segment of the name must be between 2 and 64 characters in length.
237 &quot;nodeCount&quot;: 42, # The number of nodes allocated to this instance. This may be zero in API responses for instances that are not yet in state `READY`. See [the documentation](https://cloud.google.com/spanner/docs/instances#node_count) for more information about nodes.
yoshi-code-bot26aa9e22021-06-10 00:24:06 -0700238 &quot;processingUnits&quot;: 42, # The number of processing units allocated to this instance. At most one of processing_units or node_count should be present in the message. This may be zero in API responses for instances that are not yet in state `READY`.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800239 &quot;state&quot;: &quot;A String&quot;, # Output only. The current instance state. For CreateInstance, the state must be either omitted or set to `CREATING`. For UpdateInstance, the state must be either omitted or set to `READY`.
240}</pre>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400241</div>
242
243<div class="method">
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700244 <code class="details" id="getIamPolicy">getIamPolicy(resource, body=None, x__xgafv=None)</code>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700245 <pre>Gets the access control policy for an instance resource. Returns an empty policy if an instance exists but does not have a policy set. Authorization requires `spanner.instances.getIamPolicy` on resource.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400246
247Args:
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700248 resource: string, REQUIRED: The Cloud Spanner resource for which the policy is being retrieved. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for database resources. (required)
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700249 body: object, The request body.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400250 The object takes the form of:
251
252{ # Request message for `GetIamPolicy` method.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800253 &quot;options&quot;: { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`.
254 &quot;requestedPolicyVersion&quot;: 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. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
255 },
256}
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400257
258 x__xgafv: string, V1 error format.
259 Allowed values
260 1 - v1 error format
261 2 - v2 error format
262
263Returns:
264 An object of the form:
265
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700266 { # 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. 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:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 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 &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800267 &quot;bindings&quot;: [ # 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.
268 { # Associates `members` with a `role`.
269 &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) 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: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; 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. # 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).
270 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
271 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language syntax.
272 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
273 &quot;title&quot;: &quot;A String&quot;, # 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.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400274 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800275 &quot;members&quot;: [ # 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`.
276 &quot;A String&quot;,
277 ],
278 &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
279 },
280 ],
281 &quot;etag&quot;: &quot;A String&quot;, # `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.
282 &quot;version&quot;: 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).
283}</pre>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400284</div>
285
286<div class="method">
yoshi-code-botb6dc1b92021-03-02 11:49:08 -0800287 <code class="details" id="list">list(parent, filter=None, instanceDeadline=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400288 <pre>Lists all instances in the given project.
289
290Args:
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700291 parent: string, Required. The name of the project for which a list of instances is requested. Values are of the form `projects/`. (required)
Yoshi Automation Bot0bf565c2020-12-09 08:56:03 -0800292 filter: string, An expression for filtering the results of the request. Filter rules are case insensitive. The fields eligible for filtering are: * `name` * `display_name` * `labels.key` where key is the name of a label Some examples of using filters are: * `name:*` --&gt; The instance has a name. * `name:Howl` --&gt; The instance&#x27;s name contains the string &quot;howl&quot;. * `name:HOWL` --&gt; Equivalent to above. * `NAME:howl` --&gt; Equivalent to above. * `labels.env:*` --&gt; The instance has the label &quot;env&quot;. * `labels.env:dev` --&gt; The instance has the label &quot;env&quot; and the value of the label contains the string &quot;dev&quot;. * `name:howl labels.env:dev` --&gt; The instance&#x27;s name contains &quot;howl&quot; and it has the label &quot;env&quot; with its value containing &quot;dev&quot;.
yoshi-code-botb6dc1b92021-03-02 11:49:08 -0800293 instanceDeadline: string, Deadline used while retrieving metadata for instances. Instances whose metadata cannot be retrieved within this deadline will be added to unreachable in ListInstancesResponse.
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800294 pageSize: integer, Number of instances to be returned in the response. If 0 or less, defaults to the server&#x27;s maximum allowed page size.
Yoshi Automation Bot0d561ef2020-11-25 07:50:41 -0800295 pageToken: string, If non-empty, `page_token` should contain a next_page_token from a previous ListInstancesResponse.
Bu Sun Kim65020912020-05-20 12:08:20 -0700296 x__xgafv: string, V1 error format.
297 Allowed values
298 1 - v1 error format
299 2 - v2 error format
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400300
301Returns:
302 An object of the form:
303
304 { # The response for ListInstances.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800305 &quot;instances&quot;: [ # The list of requested instances.
306 { # An isolated set of Cloud Spanner resources on which databases can be hosted.
307 &quot;config&quot;: &quot;A String&quot;, # Required. The name of the instance&#x27;s configuration. Values are of the form `projects//instanceConfigs/`. See also InstanceConfig and ListInstanceConfigs.
308 &quot;displayName&quot;: &quot;A String&quot;, # Required. The descriptive name for this instance as it appears in UIs. Must be unique per project and between 4 and 30 characters in length.
309 &quot;endpointUris&quot;: [ # Deprecated. This field is not populated.
310 &quot;A String&quot;,
311 ],
312 &quot;labels&quot;: { # Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer&#x27;s organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. And so you are advised to use an internal label representation, such as JSON, which doesn&#x27;t rely upon specific characters being disallowed. For example, representing labels as the string: name + &quot;_&quot; + value would prove problematic if we were to allow &quot;_&quot; in a future release.
313 &quot;a_key&quot;: &quot;A String&quot;,
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400314 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800315 &quot;name&quot;: &quot;A String&quot;, # Required. A unique identifier for the instance, which cannot be changed after the instance is created. Values are of the form `projects//instances/a-z*[a-z0-9]`. The final segment of the name must be between 2 and 64 characters in length.
316 &quot;nodeCount&quot;: 42, # The number of nodes allocated to this instance. This may be zero in API responses for instances that are not yet in state `READY`. See [the documentation](https://cloud.google.com/spanner/docs/instances#node_count) for more information about nodes.
yoshi-code-bot26aa9e22021-06-10 00:24:06 -0700317 &quot;processingUnits&quot;: 42, # The number of processing units allocated to this instance. At most one of processing_units or node_count should be present in the message. This may be zero in API responses for instances that are not yet in state `READY`.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800318 &quot;state&quot;: &quot;A String&quot;, # Output only. The current instance state. For CreateInstance, the state must be either omitted or set to `CREATING`. For UpdateInstance, the state must be either omitted or set to `READY`.
319 },
320 ],
321 &quot;nextPageToken&quot;: &quot;A String&quot;, # `next_page_token` can be sent in a subsequent ListInstances call to fetch more of the matching instances.
yoshi-code-botb6dc1b92021-03-02 11:49:08 -0800322 &quot;unreachable&quot;: [ # The list of unreachable instances. It includes the names of instances whose metadata could not be retrieved within instance_deadline.
323 &quot;A String&quot;,
324 ],
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800325}</pre>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400326</div>
327
328<div class="method">
329 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
330 <pre>Retrieves the next page of results.
331
332Args:
333 previous_request: The request for the previous page. (required)
334 previous_response: The response from the request for the previous page. (required)
335
336Returns:
Bu Sun Kim65020912020-05-20 12:08:20 -0700337 A request object that you can call &#x27;execute()&#x27; on to request the next
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400338 page. Returns None if there are no more items in the collection.
339 </pre>
340</div>
341
342<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700343 <code class="details" id="patch">patch(name, body=None, x__xgafv=None)</code>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700344 <pre>Updates an instance, and begins allocating or releasing resources as requested. The returned long-running operation can be used to track the progress of updating the instance. If the named instance does not exist, returns `NOT_FOUND`. Immediately upon completion of this request: * For resource types for which a decrease in the instance&#x27;s allocation has been requested, billing is based on the newly-requested level. Until completion of the returned operation: * Cancelling the operation sets its metadata&#x27;s cancel_time, and begins restoring resources to their pre-request values. The operation is guaranteed to succeed at undoing all resource changes, after which point it terminates with a `CANCELLED` status. * All other attempts to modify the instance are rejected. * Reading the instance via the API continues to give the pre-request resource levels. Upon completion of the returned operation: * Billing begins for all successfully-allocated resources (some types may have lower than the requested levels). * All newly-reserved resources are available for serving the instance&#x27;s tables. * The instance&#x27;s new resource levels are readable via the API. The returned long-running operation will have a name of the format `/operations/` and can be used to track the instance modification. The metadata field type is UpdateInstanceMetadata. The response field type is Instance, if successful. Authorization requires `spanner.instances.update` permission on resource name.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400345
346Args:
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700347 name: string, Required. A unique identifier for the instance, which cannot be changed after the instance is created. Values are of the form `projects//instances/a-z*[a-z0-9]`. The final segment of the name must be between 2 and 64 characters in length. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700348 body: object, The request body.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400349 The object takes the form of:
350
351{ # The request for UpdateInstance.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800352 &quot;fieldMask&quot;: &quot;A String&quot;, # Required. A mask specifying which fields in Instance should be updated. The field mask must always be specified; this prevents any future fields in Instance from being erased accidentally by clients that do not know about them.
353 &quot;instance&quot;: { # An isolated set of Cloud Spanner resources on which databases can be hosted. # Required. The instance to update, which must always include the instance name. Otherwise, only fields mentioned in field_mask need be included.
354 &quot;config&quot;: &quot;A String&quot;, # Required. The name of the instance&#x27;s configuration. Values are of the form `projects//instanceConfigs/`. See also InstanceConfig and ListInstanceConfigs.
355 &quot;displayName&quot;: &quot;A String&quot;, # Required. The descriptive name for this instance as it appears in UIs. Must be unique per project and between 4 and 30 characters in length.
356 &quot;endpointUris&quot;: [ # Deprecated. This field is not populated.
357 &quot;A String&quot;,
358 ],
359 &quot;labels&quot;: { # Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer&#x27;s organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. And so you are advised to use an internal label representation, such as JSON, which doesn&#x27;t rely upon specific characters being disallowed. For example, representing labels as the string: name + &quot;_&quot; + value would prove problematic if we were to allow &quot;_&quot; in a future release.
360 &quot;a_key&quot;: &quot;A String&quot;,
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400361 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800362 &quot;name&quot;: &quot;A String&quot;, # Required. A unique identifier for the instance, which cannot be changed after the instance is created. Values are of the form `projects//instances/a-z*[a-z0-9]`. The final segment of the name must be between 2 and 64 characters in length.
363 &quot;nodeCount&quot;: 42, # The number of nodes allocated to this instance. This may be zero in API responses for instances that are not yet in state `READY`. See [the documentation](https://cloud.google.com/spanner/docs/instances#node_count) for more information about nodes.
yoshi-code-bot26aa9e22021-06-10 00:24:06 -0700364 &quot;processingUnits&quot;: 42, # The number of processing units allocated to this instance. At most one of processing_units or node_count should be present in the message. This may be zero in API responses for instances that are not yet in state `READY`.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800365 &quot;state&quot;: &quot;A String&quot;, # Output only. The current instance state. For CreateInstance, the state must be either omitted or set to `CREATING`. For UpdateInstance, the state must be either omitted or set to `READY`.
366 },
367}
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400368
369 x__xgafv: string, V1 error format.
370 Allowed values
371 1 - v1 error format
372 2 - v2 error format
373
374Returns:
375 An object of the form:
376
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700377 { # This resource represents a long-running operation that is the result of a network API call.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800378 &quot;done&quot;: 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.
379 &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for 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). # The error result of the operation in case of failure or cancellation.
380 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
381 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
382 {
383 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
384 },
385 ],
386 &quot;message&quot;: &quot;A String&quot;, # 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.
387 },
388 &quot;metadata&quot;: { # 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.
389 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
390 },
391 &quot;name&quot;: &quot;A String&quot;, # 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}`.
392 &quot;response&quot;: { # 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`.
393 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
394 },
395}</pre>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400396</div>
397
398<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700399 <code class="details" id="setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</code>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700400 <pre>Sets the access control policy on an instance resource. Replaces any existing policy. Authorization requires `spanner.instances.setIamPolicy` on resource.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400401
402Args:
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700403 resource: string, REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for databases resources. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700404 body: object, The request body.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400405 The object takes the form of:
406
407{ # Request message for `SetIamPolicy` method.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800408 &quot;policy&quot;: { # 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. 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:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 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 &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # 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.
409 &quot;bindings&quot;: [ # 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.
410 { # Associates `members` with a `role`.
411 &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) 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: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; 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. # 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).
412 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
413 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language syntax.
414 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
415 &quot;title&quot;: &quot;A String&quot;, # 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.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400416 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800417 &quot;members&quot;: [ # 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`.
418 &quot;A String&quot;,
419 ],
420 &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
421 },
422 ],
423 &quot;etag&quot;: &quot;A String&quot;, # `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.
424 &quot;version&quot;: 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).
425 },
426}
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400427
428 x__xgafv: string, V1 error format.
429 Allowed values
430 1 - v1 error format
431 2 - v2 error format
432
433Returns:
434 An object of the form:
435
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700436 { # 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. 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:** { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 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 &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800437 &quot;bindings&quot;: [ # 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.
438 { # Associates `members` with a `role`.
439 &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) 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: &quot;Summary size limit&quot; description: &quot;Determines if a summary is less than 100 chars&quot; expression: &quot;document.summary.size() &lt; 100&quot; Example (Equality): title: &quot;Requestor is owner&quot; description: &quot;Determines if requestor is the document owner&quot; expression: &quot;document.owner == request.auth.claims.email&quot; Example (Logic): title: &quot;Public documents&quot; description: &quot;Determine whether the document should be publicly visible&quot; expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot; Example (Data Manipulation): title: &quot;Notification string&quot; description: &quot;Create a notification string with a timestamp.&quot; expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot; 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. # 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).
440 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
441 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language syntax.
442 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
443 &quot;title&quot;: &quot;A String&quot;, # 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.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400444 },
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800445 &quot;members&quot;: [ # 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`.
446 &quot;A String&quot;,
447 ],
448 &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
449 },
450 ],
451 &quot;etag&quot;: &quot;A String&quot;, # `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.
452 &quot;version&quot;: 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).
453}</pre>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400454</div>
455
456<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700457 <code class="details" id="testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</code>
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700458 <pre>Returns permissions that the caller has on the specified instance resource. Attempting this RPC on a non-existent Cloud Spanner instance resource will result in a NOT_FOUND error if the user has `spanner.instances.list` permission on the containing Google Cloud Project. Otherwise returns an empty set of permissions.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400459
460Args:
Dmitry Frenkel3e17f892020-10-06 16:46:05 -0700461 resource: string, REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for database resources. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700462 body: object, The request body.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400463 The object takes the form of:
464
465{ # Request message for `TestIamPermissions` method.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800466 &quot;permissions&quot;: [ # REQUIRED: The set of permissions to check for &#x27;resource&#x27;. Permissions with wildcards (such as &#x27;*&#x27;, &#x27;spanner.*&#x27;, &#x27;spanner.instances.*&#x27;) are not allowed.
467 &quot;A String&quot;,
468 ],
469}
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400470
471 x__xgafv: string, V1 error format.
472 Allowed values
473 1 - v1 error format
474 2 - v2 error format
475
476Returns:
477 An object of the form:
478
479 { # Response message for `TestIamPermissions` method.
Yoshi Automation Botcc94ec82021-01-15 07:10:04 -0800480 &quot;permissions&quot;: [ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
481 &quot;A String&quot;,
482 ],
483}</pre>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400484</div>
485
486</body></html>