blob: b73265de39cf8a0ebfb1a1c278dbcafc14fc52ed [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">
78 <code><a href="spanner_v1.projects.instances.databases.html">databases()</a></code>
79</p>
80<p class="firstline">Returns the databases Resource.</p>
81
82<p class="toc_element">
83 <code><a href="spanner_v1.projects.instances.operations.html">operations()</a></code>
84</p>
85<p class="firstline">Returns the operations Resource.</p>
86
87<p class="toc_element">
Thomas Coffee2f245372017-03-27 10:39:26 -070088 <code><a href="#create">create(parent, body, x__xgafv=None)</a></code></p>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -040089<p class="firstline">Creates an instance and begins preparing it to begin serving. The</p>
90<p class="toc_element">
Thomas Coffee2f245372017-03-27 10:39:26 -070091 <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -040092<p class="firstline">Deletes an instance.</p>
93<p class="toc_element">
Thomas Coffee2f245372017-03-27 10:39:26 -070094 <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -040095<p class="firstline">Gets information about a particular instance.</p>
96<p class="toc_element">
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070097 <code><a href="#getIamPolicy">getIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -040098<p class="firstline">Gets the access control policy for an instance resource. Returns an empty</p>
99<p class="toc_element">
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700100 <code><a href="#list">list(parent, pageToken=None, x__xgafv=None, pageSize=None, filter=None)</a></code></p>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400101<p class="firstline">Lists all instances in the given project.</p>
102<p class="toc_element">
103 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
104<p class="firstline">Retrieves the next page of results.</p>
105<p class="toc_element">
Thomas Coffee2f245372017-03-27 10:39:26 -0700106 <code><a href="#patch">patch(name, body, x__xgafv=None)</a></code></p>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400107<p class="firstline">Updates an instance, and begins allocating or releasing resources</p>
108<p class="toc_element">
109 <code><a href="#setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</a></code></p>
110<p class="firstline">Sets the access control policy on an instance resource. Replaces any</p>
111<p class="toc_element">
112 <code><a href="#testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</a></code></p>
113<p class="firstline">Returns permissions that the caller has on the specified instance resource.</p>
114<h3>Method Details</h3>
115<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -0700116 <code class="details" id="create">create(parent, body, x__xgafv=None)</code>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400117 <pre>Creates an instance and begins preparing it to begin serving. The
118returned long-running operation
119can be used to track the progress of preparing the new
120instance. The instance name is assigned by the caller. If the
121named instance already exists, `CreateInstance` returns
122`ALREADY_EXISTS`.
123
124Immediately upon completion of this request:
125
126 * The instance is readable via the API, with all requested attributes
127 but no allocated resources. Its state is `CREATING`.
128
129Until completion of the returned operation:
130
131 * Cancelling the operation renders the instance immediately unreadable
132 via the API.
133 * The instance can be deleted.
134 * All other attempts to modify the instance are rejected.
135
136Upon completion of the returned operation:
137
138 * Billing for all successfully-allocated resources begins (some types
139 may have lower than the requested levels).
140 * Databases can be created in the instance.
141 * The instance's allocated resource levels are readable via the API.
142 * The instance's state becomes `READY`.
143
144The returned long-running operation will
145have a name of the format `<instance_name>/operations/<operation_id>` and
146can be used to track creation of the instance. The
147metadata field type is
148CreateInstanceMetadata.
149The response field type is
150Instance, if successful.
151
152Args:
153 parent: string, Required. The name of the project in which to create the instance. Values
154are of the form `projects/<project>`. (required)
155 body: object, The request body. (required)
156 The object takes the form of:
157
158{ # The request for CreateInstance.
159 "instanceId": "A String", # Required. The ID of the instance to create. Valid identifiers are of the
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700160 # form `a-z*[a-z0-9]` and must be between 2 and 64 characters in
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400161 # length.
162 "instance": { # 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
163 # specified must be `<parent>/instances/<instance_id>`.
164 "displayName": "A String", # Required. The descriptive name for this instance as it appears in UIs.
165 # Must be unique per project and between 4 and 30 characters in length.
166 "name": "A String", # Required. A unique identifier for the instance, which cannot be changed
167 # after the instance is created. Values are of the form
168 # `projects/<project>/instances/a-z*[a-z0-9]`. The final
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700169 # segment of the name must be between 2 and 64 characters in length.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400170 "labels": { # Cloud Labels are a flexible and lightweight mechanism for organizing cloud
171 # resources into groups that reflect a customer's organizational needs and
172 # deployment strategies. Cloud Labels can be used to filter collections of
173 # resources. They can be used to control how resource metrics are aggregated.
174 # And they can be used as arguments to policy management rules (e.g. route,
175 # firewall, load balancing, etc.).
176 #
177 # * Label keys must be between 1 and 63 characters long and must conform to
178 # the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
179 # * Label values must be between 0 and 63 characters long and must conform
180 # to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
181 # * No more than 64 labels can be associated with a given resource.
182 #
183 # See https://goo.gl/xmQnxf for more information on and examples of labels.
184 #
185 # If you plan to use labels in your own code, please note that additional
186 # characters may be allowed in the future. And so you are advised to use an
187 # internal label representation, such as JSON, which doesn't rely upon
188 # specific characters being disallowed. For example, representing labels
189 # as the string: name + "_" + value would prove problematic if we were to
190 # allow "_" in a future release.
191 "a_key": "A String",
192 },
193 "state": "A String", # Output only. The current instance state. For
194 # CreateInstance, the state must be
195 # either omitted or set to `CREATING`. For
196 # UpdateInstance, the state must be
197 # either omitted or set to `READY`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700198 "nodeCount": 42, # Required. The number of nodes allocated to this instance. This may be zero
199 # in API responses for instances that are not yet in state `READY`.
200 #
201 # See [the
202 # documentation](https://cloud.google.com/spanner/docs/instances#node_count)
203 # for more information about nodes.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400204 "config": "A String", # Required. The name of the instance's configuration. Values are of the form
205 # `projects/<project>/instanceConfigs/<configuration>`. See
206 # also InstanceConfig and
207 # ListInstanceConfigs.
208 },
209 }
210
211 x__xgafv: string, V1 error format.
212 Allowed values
213 1 - v1 error format
214 2 - v2 error format
215
216Returns:
217 An object of the form:
218
219 { # This resource represents a long-running operation that is the result of a
220 # network API call.
221 "metadata": { # Service-specific metadata associated with the operation. It typically
222 # contains progress information and common metadata such as create time.
223 # Some services might not provide such metadata. Any method that returns a
224 # long-running operation should document the metadata type, if any.
225 "a_key": "", # Properties of the object. Contains field @type with type URL.
226 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700227 "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.
228 # different programming environments, including REST APIs and RPC APIs. It is
229 # used by [gRPC](https://github.com/grpc). The error model is designed to be:
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400230 #
231 # - Simple to use and understand for most users
232 # - Flexible enough to meet unexpected needs
233 #
234 # # Overview
235 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700236 # The `Status` message contains three pieces of data: error code, error
237 # message, and error details. The error code should be an enum value of
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400238 # google.rpc.Code, but it may accept additional error codes if needed. The
239 # error message should be a developer-facing English message that helps
240 # developers *understand* and *resolve* the error. If a localized user-facing
241 # error message is needed, put the localized message in the error details or
242 # localize it in the client. The optional error details may contain arbitrary
243 # information about the error. There is a predefined set of error detail types
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700244 # in the package `google.rpc` that can be used for common error conditions.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400245 #
246 # # Language mapping
247 #
248 # The `Status` message is the logical representation of the error model, but it
249 # is not necessarily the actual wire format. When the `Status` message is
250 # exposed in different client libraries and different wire protocols, it can be
251 # mapped differently. For example, it will likely be mapped to some exceptions
252 # in Java, but more likely mapped to some error codes in C.
253 #
254 # # Other uses
255 #
256 # The error model and the `Status` message can be used in a variety of
257 # environments, either with or without APIs, to provide a
258 # consistent developer experience across different environments.
259 #
260 # Example uses of this error model include:
261 #
262 # - Partial errors. If a service needs to return partial errors to the client,
263 # it may embed the `Status` in the normal response to indicate the partial
264 # errors.
265 #
266 # - Workflow errors. A typical workflow has multiple steps. Each step may
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700267 # have a `Status` message for error reporting.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400268 #
269 # - Batch operations. If a client uses batch request and batch response, the
270 # `Status` message should be used directly inside batch response, one for
271 # each error sub-response.
272 #
273 # - Asynchronous operations. If an API call embeds asynchronous operation
274 # results in its response, the status of those operations should be
275 # represented directly using the `Status` message.
276 #
277 # - Logging. If some API errors are stored in logs, the message `Status` could
278 # be used directly after any stripping needed for security/privacy reasons.
279 "message": "A String", # A developer-facing error message, which should be in English. Any
280 # user-facing error message should be localized and sent in the
281 # google.rpc.Status.details field, or localized by the client.
282 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700283 "details": [ # A list of messages that carry the error details. There is a common set of
284 # message types for APIs to use.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400285 {
286 "a_key": "", # Properties of the object. Contains field @type with type URL.
287 },
288 ],
289 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700290 "done": True or False, # If the value is `false`, it means the operation is still in progress.
291 # If `true`, the operation is completed, and either `error` or `response` is
292 # available.
293 "response": { # The normal response of the operation in case of success. If the original
294 # method returns no data on success, such as `Delete`, the response is
295 # `google.protobuf.Empty`. If the original method is standard
296 # `Get`/`Create`/`Update`, the response should be the resource. For other
297 # methods, the response should have the type `XxxResponse`, where `Xxx`
298 # is the original method name. For example, if the original method name
299 # is `TakeSnapshot()`, the inferred response type is
300 # `TakeSnapshotResponse`.
301 "a_key": "", # Properties of the object. Contains field @type with type URL.
302 },
303 "name": "A String", # The server-assigned name, which is only unique within the same service that
304 # originally returns it. If you use the default HTTP mapping, the
305 # `name` should be a resource name ending with `operations/{unique_id}`.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400306 }</pre>
307</div>
308
309<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -0700310 <code class="details" id="delete">delete(name, x__xgafv=None)</code>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400311 <pre>Deletes an instance.
312
313Immediately upon completion of the request:
314
315 * Billing ceases for all of the instance's reserved resources.
316
317Soon afterward:
318
319 * The instance and *all of its databases* immediately and
320 irrevocably disappear from the API. All data in the databases
321 is permanently deleted.
322
323Args:
324 name: string, Required. The name of the instance to be deleted. Values are of the form
325`projects/<project>/instances/<instance>` (required)
326 x__xgafv: string, V1 error format.
327 Allowed values
328 1 - v1 error format
329 2 - v2 error format
330
331Returns:
332 An object of the form:
333
334 { # A generic empty message that you can re-use to avoid defining duplicated
335 # empty messages in your APIs. A typical example is to use it as the request
336 # or the response type of an API method. For instance:
337 #
338 # service Foo {
339 # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
340 # }
341 #
342 # The JSON representation for `Empty` is empty JSON object `{}`.
343 }</pre>
344</div>
345
346<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -0700347 <code class="details" id="get">get(name, x__xgafv=None)</code>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400348 <pre>Gets information about a particular instance.
349
350Args:
351 name: string, Required. The name of the requested instance. Values are of the form
352`projects/<project>/instances/<instance>`. (required)
353 x__xgafv: string, V1 error format.
354 Allowed values
355 1 - v1 error format
356 2 - v2 error format
357
358Returns:
359 An object of the form:
360
361 { # An isolated set of Cloud Spanner resources on which databases can be hosted.
362 "displayName": "A String", # Required. The descriptive name for this instance as it appears in UIs.
363 # Must be unique per project and between 4 and 30 characters in length.
364 "name": "A String", # Required. A unique identifier for the instance, which cannot be changed
365 # after the instance is created. Values are of the form
366 # `projects/<project>/instances/a-z*[a-z0-9]`. The final
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700367 # segment of the name must be between 2 and 64 characters in length.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400368 "labels": { # Cloud Labels are a flexible and lightweight mechanism for organizing cloud
369 # resources into groups that reflect a customer's organizational needs and
370 # deployment strategies. Cloud Labels can be used to filter collections of
371 # resources. They can be used to control how resource metrics are aggregated.
372 # And they can be used as arguments to policy management rules (e.g. route,
373 # firewall, load balancing, etc.).
374 #
375 # * Label keys must be between 1 and 63 characters long and must conform to
376 # the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
377 # * Label values must be between 0 and 63 characters long and must conform
378 # to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
379 # * No more than 64 labels can be associated with a given resource.
380 #
381 # See https://goo.gl/xmQnxf for more information on and examples of labels.
382 #
383 # If you plan to use labels in your own code, please note that additional
384 # characters may be allowed in the future. And so you are advised to use an
385 # internal label representation, such as JSON, which doesn't rely upon
386 # specific characters being disallowed. For example, representing labels
387 # as the string: name + "_" + value would prove problematic if we were to
388 # allow "_" in a future release.
389 "a_key": "A String",
390 },
391 "state": "A String", # Output only. The current instance state. For
392 # CreateInstance, the state must be
393 # either omitted or set to `CREATING`. For
394 # UpdateInstance, the state must be
395 # either omitted or set to `READY`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700396 "nodeCount": 42, # Required. The number of nodes allocated to this instance. This may be zero
397 # in API responses for instances that are not yet in state `READY`.
398 #
399 # See [the
400 # documentation](https://cloud.google.com/spanner/docs/instances#node_count)
401 # for more information about nodes.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400402 "config": "A String", # Required. The name of the instance's configuration. Values are of the form
403 # `projects/<project>/instanceConfigs/<configuration>`. See
404 # also InstanceConfig and
405 # ListInstanceConfigs.
406 }</pre>
407</div>
408
409<div class="method">
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700410 <code class="details" id="getIamPolicy">getIamPolicy(resource, body=None, x__xgafv=None)</code>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400411 <pre>Gets the access control policy for an instance resource. Returns an empty
412policy if an instance exists but does not have a policy set.
413
414Authorization requires `spanner.instances.getIamPolicy` on
415resource.
416
417Args:
418 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)
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700419 body: object, The request body.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400420 The object takes the form of:
421
422{ # Request message for `GetIamPolicy` method.
423 }
424
425 x__xgafv: string, V1 error format.
426 Allowed values
427 1 - v1 error format
428 2 - v2 error format
429
430Returns:
431 An object of the form:
432
433 { # Defines an Identity and Access Management (IAM) policy. It is used to
434 # specify access control policies for Cloud Platform resources.
435 #
436 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700437 # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400438 # `members` to a `role`, where the members can be user accounts, Google groups,
439 # Google domains, and service accounts. A `role` is a named list of permissions
440 # defined by IAM.
441 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700442 # **JSON Example**
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400443 #
444 # {
445 # "bindings": [
446 # {
447 # "role": "roles/owner",
448 # "members": [
449 # "user:mike@example.com",
450 # "group:admins@example.com",
451 # "domain:google.com",
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700452 # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400453 # ]
454 # },
455 # {
456 # "role": "roles/viewer",
457 # "members": ["user:sean@example.com"]
458 # }
459 # ]
460 # }
461 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700462 # **YAML Example**
463 #
464 # bindings:
465 # - members:
466 # - user:mike@example.com
467 # - group:admins@example.com
468 # - domain:google.com
469 # - serviceAccount:my-other-app@appspot.gserviceaccount.com
470 # role: roles/owner
471 # - members:
472 # - user:sean@example.com
473 # role: roles/viewer
474 #
475 #
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400476 # For a description of IAM and its features, see the
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700477 # [IAM developer's guide](https://cloud.google.com/iam/docs).
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400478 "bindings": [ # Associates a list of `members` to a `role`.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400479 # `bindings` with no members will result in an error.
480 { # Associates `members` with a `role`.
481 "role": "A String", # Role that is assigned to `members`.
482 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400483 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
484 # `members` can have the following values:
485 #
486 # * `allUsers`: A special identifier that represents anyone who is
487 # on the internet; with or without a Google account.
488 #
489 # * `allAuthenticatedUsers`: A special identifier that represents anyone
490 # who is authenticated with a Google account or a service account.
491 #
492 # * `user:{emailid}`: An email address that represents a specific Google
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700493 # account. For example, `alice@gmail.com` .
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400494 #
495 #
496 # * `serviceAccount:{emailid}`: An email address that represents a service
497 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
498 #
499 # * `group:{emailid}`: An email address that represents a Google group.
500 # For example, `admins@example.com`.
501 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700502 #
503 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400504 # users of that domain. For example, `google.com` or `example.com`.
505 #
506 "A String",
507 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700508 "condition": { # Represents an expression text. Example: # The condition that is associated with this binding.
509 # NOTE: An unsatisfied condition will not allow user access via current
510 # binding. Different bindings, including their conditions, are examined
511 # independently.
512 #
513 # title: "User account presence"
514 # description: "Determines whether the request has a user account"
515 # expression: "size(request.user) > 0"
516 "location": "A String", # An optional string indicating the location of the expression for error
517 # reporting, e.g. a file name and a position in the file.
518 "expression": "A String", # Textual representation of an expression in
519 # Common Expression Language syntax.
520 #
521 # The application context of the containing message determines which
522 # well-known feature set of CEL is supported.
523 "description": "A String", # An optional description of the expression. This is a longer text which
524 # describes the expression, e.g. when hovered over it in a UI.
525 "title": "A String", # An optional title for the expression, i.e. a short string describing
526 # its purpose. This can be used e.g. in UIs which allow to enter the
527 # expression.
528 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400529 },
530 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700531 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
532 # prevent simultaneous updates of a policy from overwriting each other.
533 # It is strongly suggested that systems make use of the `etag` in the
534 # read-modify-write cycle to perform policy updates in order to avoid race
535 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
536 # systems are expected to put that etag in the request to `setIamPolicy` to
537 # ensure that their change will be applied to the same version of the policy.
538 #
539 # If no `etag` is provided in the call to `setIamPolicy`, then the existing
540 # policy is overwritten blindly.
541 "version": 42, # Deprecated.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400542 }</pre>
543</div>
544
545<div class="method">
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700546 <code class="details" id="list">list(parent, pageToken=None, x__xgafv=None, pageSize=None, filter=None)</code>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400547 <pre>Lists all instances in the given project.
548
549Args:
550 parent: string, Required. The name of the project for which a list of instances is
551requested. Values are of the form `projects/<project>`. (required)
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400552 pageToken: string, If non-empty, `page_token` should contain a
553next_page_token from a
554previous ListInstancesResponse.
555 x__xgafv: string, V1 error format.
556 Allowed values
557 1 - v1 error format
558 2 - v2 error format
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700559 pageSize: integer, Number of instances to be returned in the response. If 0 or less, defaults
560to the server's maximum allowed page size.
561 filter: string, An expression for filtering the results of the request. Filter rules are
562case insensitive. The fields eligible for filtering are:
563
564 * `name`
565 * `display_name`
566 * `labels.key` where key is the name of a label
567
568Some examples of using filters are:
569
570 * `name:*` --> The instance has a name.
571 * `name:Howl` --> The instance's name contains the string "howl".
572 * `name:HOWL` --> Equivalent to above.
573 * `NAME:howl` --> Equivalent to above.
574 * `labels.env:*` --> The instance has the label "env".
575 * `labels.env:dev` --> The instance has the label "env" and the value of
576 the label contains the string "dev".
577 * `name:howl labels.env:dev` --> The instance's name contains "howl" and
578 it has the label "env" with its value
579 containing "dev".
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400580
581Returns:
582 An object of the form:
583
584 { # The response for ListInstances.
585 "nextPageToken": "A String", # `next_page_token` can be sent in a subsequent
586 # ListInstances call to fetch more
587 # of the matching instances.
588 "instances": [ # The list of requested instances.
589 { # An isolated set of Cloud Spanner resources on which databases can be hosted.
590 "displayName": "A String", # Required. The descriptive name for this instance as it appears in UIs.
591 # Must be unique per project and between 4 and 30 characters in length.
592 "name": "A String", # Required. A unique identifier for the instance, which cannot be changed
593 # after the instance is created. Values are of the form
594 # `projects/<project>/instances/a-z*[a-z0-9]`. The final
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700595 # segment of the name must be between 2 and 64 characters in length.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400596 "labels": { # Cloud Labels are a flexible and lightweight mechanism for organizing cloud
597 # resources into groups that reflect a customer's organizational needs and
598 # deployment strategies. Cloud Labels can be used to filter collections of
599 # resources. They can be used to control how resource metrics are aggregated.
600 # And they can be used as arguments to policy management rules (e.g. route,
601 # firewall, load balancing, etc.).
602 #
603 # * Label keys must be between 1 and 63 characters long and must conform to
604 # the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
605 # * Label values must be between 0 and 63 characters long and must conform
606 # to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
607 # * No more than 64 labels can be associated with a given resource.
608 #
609 # See https://goo.gl/xmQnxf for more information on and examples of labels.
610 #
611 # If you plan to use labels in your own code, please note that additional
612 # characters may be allowed in the future. And so you are advised to use an
613 # internal label representation, such as JSON, which doesn't rely upon
614 # specific characters being disallowed. For example, representing labels
615 # as the string: name + "_" + value would prove problematic if we were to
616 # allow "_" in a future release.
617 "a_key": "A String",
618 },
619 "state": "A String", # Output only. The current instance state. For
620 # CreateInstance, the state must be
621 # either omitted or set to `CREATING`. For
622 # UpdateInstance, the state must be
623 # either omitted or set to `READY`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700624 "nodeCount": 42, # Required. The number of nodes allocated to this instance. This may be zero
625 # in API responses for instances that are not yet in state `READY`.
626 #
627 # See [the
628 # documentation](https://cloud.google.com/spanner/docs/instances#node_count)
629 # for more information about nodes.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400630 "config": "A String", # Required. The name of the instance's configuration. Values are of the form
631 # `projects/<project>/instanceConfigs/<configuration>`. See
632 # also InstanceConfig and
633 # ListInstanceConfigs.
634 },
635 ],
636 }</pre>
637</div>
638
639<div class="method">
640 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
641 <pre>Retrieves the next page of results.
642
643Args:
644 previous_request: The request for the previous page. (required)
645 previous_response: The response from the request for the previous page. (required)
646
647Returns:
648 A request object that you can call 'execute()' on to request the next
649 page. Returns None if there are no more items in the collection.
650 </pre>
651</div>
652
653<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -0700654 <code class="details" id="patch">patch(name, body, x__xgafv=None)</code>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400655 <pre>Updates an instance, and begins allocating or releasing resources
656as requested. The returned long-running
657operation can be used to track the
658progress of updating the instance. If the named instance does not
659exist, returns `NOT_FOUND`.
660
661Immediately upon completion of this request:
662
663 * For resource types for which a decrease in the instance's allocation
664 has been requested, billing is based on the newly-requested level.
665
666Until completion of the returned operation:
667
668 * Cancelling the operation sets its metadata's
669 cancel_time, and begins
670 restoring resources to their pre-request values. The operation
671 is guaranteed to succeed at undoing all resource changes,
672 after which point it terminates with a `CANCELLED` status.
673 * All other attempts to modify the instance are rejected.
674 * Reading the instance via the API continues to give the pre-request
675 resource levels.
676
677Upon completion of the returned operation:
678
679 * Billing begins for all successfully-allocated resources (some types
680 may have lower than the requested levels).
681 * All newly-reserved resources are available for serving the instance's
682 tables.
683 * The instance's new resource levels are readable via the API.
684
685The returned long-running operation will
686have a name of the format `<instance_name>/operations/<operation_id>` and
687can be used to track the instance modification. The
688metadata field type is
689UpdateInstanceMetadata.
690The response field type is
691Instance, if successful.
692
693Authorization requires `spanner.instances.update` permission on
694resource name.
695
696Args:
697 name: string, Required. A unique identifier for the instance, which cannot be changed
698after the instance is created. Values are of the form
699`projects/<project>/instances/a-z*[a-z0-9]`. The final
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700700segment of the name must be between 2 and 64 characters in length. (required)
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400701 body: object, The request body. (required)
702 The object takes the form of:
703
704{ # The request for UpdateInstance.
705 "instance": { # An isolated set of Cloud Spanner resources on which databases can be hosted. # Required. The instance to update, which must always include the instance
706 # name. Otherwise, only fields mentioned in [][google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask] need be included.
707 "displayName": "A String", # Required. The descriptive name for this instance as it appears in UIs.
708 # Must be unique per project and between 4 and 30 characters in length.
709 "name": "A String", # Required. A unique identifier for the instance, which cannot be changed
710 # after the instance is created. Values are of the form
711 # `projects/<project>/instances/a-z*[a-z0-9]`. The final
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700712 # segment of the name must be between 2 and 64 characters in length.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400713 "labels": { # Cloud Labels are a flexible and lightweight mechanism for organizing cloud
714 # resources into groups that reflect a customer's organizational needs and
715 # deployment strategies. Cloud Labels can be used to filter collections of
716 # resources. They can be used to control how resource metrics are aggregated.
717 # And they can be used as arguments to policy management rules (e.g. route,
718 # firewall, load balancing, etc.).
719 #
720 # * Label keys must be between 1 and 63 characters long and must conform to
721 # the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
722 # * Label values must be between 0 and 63 characters long and must conform
723 # to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
724 # * No more than 64 labels can be associated with a given resource.
725 #
726 # See https://goo.gl/xmQnxf for more information on and examples of labels.
727 #
728 # If you plan to use labels in your own code, please note that additional
729 # characters may be allowed in the future. And so you are advised to use an
730 # internal label representation, such as JSON, which doesn't rely upon
731 # specific characters being disallowed. For example, representing labels
732 # as the string: name + "_" + value would prove problematic if we were to
733 # allow "_" in a future release.
734 "a_key": "A String",
735 },
736 "state": "A String", # Output only. The current instance state. For
737 # CreateInstance, the state must be
738 # either omitted or set to `CREATING`. For
739 # UpdateInstance, the state must be
740 # either omitted or set to `READY`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700741 "nodeCount": 42, # Required. The number of nodes allocated to this instance. This may be zero
742 # in API responses for instances that are not yet in state `READY`.
743 #
744 # See [the
745 # documentation](https://cloud.google.com/spanner/docs/instances#node_count)
746 # for more information about nodes.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400747 "config": "A String", # Required. The name of the instance's configuration. Values are of the form
748 # `projects/<project>/instanceConfigs/<configuration>`. See
749 # also InstanceConfig and
750 # ListInstanceConfigs.
751 },
752 "fieldMask": "A String", # Required. A mask specifying which fields in [][google.spanner.admin.instance.v1.UpdateInstanceRequest.instance] should be updated.
753 # The field mask must always be specified; this prevents any future fields in
754 # [][google.spanner.admin.instance.v1.Instance] from being erased accidentally by clients that do not know
755 # about them.
756 }
757
758 x__xgafv: string, V1 error format.
759 Allowed values
760 1 - v1 error format
761 2 - v2 error format
762
763Returns:
764 An object of the form:
765
766 { # This resource represents a long-running operation that is the result of a
767 # network API call.
768 "metadata": { # Service-specific metadata associated with the operation. It typically
769 # contains progress information and common metadata such as create time.
770 # Some services might not provide such metadata. Any method that returns a
771 # long-running operation should document the metadata type, if any.
772 "a_key": "", # Properties of the object. Contains field @type with type URL.
773 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700774 "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.
775 # different programming environments, including REST APIs and RPC APIs. It is
776 # used by [gRPC](https://github.com/grpc). The error model is designed to be:
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400777 #
778 # - Simple to use and understand for most users
779 # - Flexible enough to meet unexpected needs
780 #
781 # # Overview
782 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700783 # The `Status` message contains three pieces of data: error code, error
784 # message, and error details. The error code should be an enum value of
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400785 # google.rpc.Code, but it may accept additional error codes if needed. The
786 # error message should be a developer-facing English message that helps
787 # developers *understand* and *resolve* the error. If a localized user-facing
788 # error message is needed, put the localized message in the error details or
789 # localize it in the client. The optional error details may contain arbitrary
790 # information about the error. There is a predefined set of error detail types
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700791 # in the package `google.rpc` that can be used for common error conditions.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400792 #
793 # # Language mapping
794 #
795 # The `Status` message is the logical representation of the error model, but it
796 # is not necessarily the actual wire format. When the `Status` message is
797 # exposed in different client libraries and different wire protocols, it can be
798 # mapped differently. For example, it will likely be mapped to some exceptions
799 # in Java, but more likely mapped to some error codes in C.
800 #
801 # # Other uses
802 #
803 # The error model and the `Status` message can be used in a variety of
804 # environments, either with or without APIs, to provide a
805 # consistent developer experience across different environments.
806 #
807 # Example uses of this error model include:
808 #
809 # - Partial errors. If a service needs to return partial errors to the client,
810 # it may embed the `Status` in the normal response to indicate the partial
811 # errors.
812 #
813 # - Workflow errors. A typical workflow has multiple steps. Each step may
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700814 # have a `Status` message for error reporting.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400815 #
816 # - Batch operations. If a client uses batch request and batch response, the
817 # `Status` message should be used directly inside batch response, one for
818 # each error sub-response.
819 #
820 # - Asynchronous operations. If an API call embeds asynchronous operation
821 # results in its response, the status of those operations should be
822 # represented directly using the `Status` message.
823 #
824 # - Logging. If some API errors are stored in logs, the message `Status` could
825 # be used directly after any stripping needed for security/privacy reasons.
826 "message": "A String", # A developer-facing error message, which should be in English. Any
827 # user-facing error message should be localized and sent in the
828 # google.rpc.Status.details field, or localized by the client.
829 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700830 "details": [ # A list of messages that carry the error details. There is a common set of
831 # message types for APIs to use.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400832 {
833 "a_key": "", # Properties of the object. Contains field @type with type URL.
834 },
835 ],
836 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700837 "done": True or False, # If the value is `false`, it means the operation is still in progress.
838 # If `true`, the operation is completed, and either `error` or `response` is
839 # available.
840 "response": { # The normal response of the operation in case of success. If the original
841 # method returns no data on success, such as `Delete`, the response is
842 # `google.protobuf.Empty`. If the original method is standard
843 # `Get`/`Create`/`Update`, the response should be the resource. For other
844 # methods, the response should have the type `XxxResponse`, where `Xxx`
845 # is the original method name. For example, if the original method name
846 # is `TakeSnapshot()`, the inferred response type is
847 # `TakeSnapshotResponse`.
848 "a_key": "", # Properties of the object. Contains field @type with type URL.
849 },
850 "name": "A String", # The server-assigned name, which is only unique within the same service that
851 # originally returns it. If you use the default HTTP mapping, the
852 # `name` should be a resource name ending with `operations/{unique_id}`.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400853 }</pre>
854</div>
855
856<div class="method">
857 <code class="details" id="setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</code>
858 <pre>Sets the access control policy on an instance resource. Replaces any
859existing policy.
860
861Authorization requires `spanner.instances.setIamPolicy` on
862resource.
863
864Args:
865 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)
866 body: object, The request body. (required)
867 The object takes the form of:
868
869{ # Request message for `SetIamPolicy` method.
870 "policy": { # Defines an Identity and Access Management (IAM) policy. It is used to # REQUIRED: The complete policy to be applied to the `resource`. The size of
871 # the policy is limited to a few 10s of KB. An empty policy is a
872 # valid policy but certain Cloud Platform services (such as Projects)
873 # might reject them.
874 # specify access control policies for Cloud Platform resources.
875 #
876 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700877 # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400878 # `members` to a `role`, where the members can be user accounts, Google groups,
879 # Google domains, and service accounts. A `role` is a named list of permissions
880 # defined by IAM.
881 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700882 # **JSON Example**
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400883 #
884 # {
885 # "bindings": [
886 # {
887 # "role": "roles/owner",
888 # "members": [
889 # "user:mike@example.com",
890 # "group:admins@example.com",
891 # "domain:google.com",
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700892 # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400893 # ]
894 # },
895 # {
896 # "role": "roles/viewer",
897 # "members": ["user:sean@example.com"]
898 # }
899 # ]
900 # }
901 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700902 # **YAML Example**
903 #
904 # bindings:
905 # - members:
906 # - user:mike@example.com
907 # - group:admins@example.com
908 # - domain:google.com
909 # - serviceAccount:my-other-app@appspot.gserviceaccount.com
910 # role: roles/owner
911 # - members:
912 # - user:sean@example.com
913 # role: roles/viewer
914 #
915 #
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400916 # For a description of IAM and its features, see the
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700917 # [IAM developer's guide](https://cloud.google.com/iam/docs).
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400918 "bindings": [ # Associates a list of `members` to a `role`.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400919 # `bindings` with no members will result in an error.
920 { # Associates `members` with a `role`.
921 "role": "A String", # Role that is assigned to `members`.
922 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400923 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
924 # `members` can have the following values:
925 #
926 # * `allUsers`: A special identifier that represents anyone who is
927 # on the internet; with or without a Google account.
928 #
929 # * `allAuthenticatedUsers`: A special identifier that represents anyone
930 # who is authenticated with a Google account or a service account.
931 #
932 # * `user:{emailid}`: An email address that represents a specific Google
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700933 # account. For example, `alice@gmail.com` .
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400934 #
935 #
936 # * `serviceAccount:{emailid}`: An email address that represents a service
937 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
938 #
939 # * `group:{emailid}`: An email address that represents a Google group.
940 # For example, `admins@example.com`.
941 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700942 #
943 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400944 # users of that domain. For example, `google.com` or `example.com`.
945 #
946 "A String",
947 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700948 "condition": { # Represents an expression text. Example: # The condition that is associated with this binding.
949 # NOTE: An unsatisfied condition will not allow user access via current
950 # binding. Different bindings, including their conditions, are examined
951 # independently.
952 #
953 # title: "User account presence"
954 # description: "Determines whether the request has a user account"
955 # expression: "size(request.user) > 0"
956 "location": "A String", # An optional string indicating the location of the expression for error
957 # reporting, e.g. a file name and a position in the file.
958 "expression": "A String", # Textual representation of an expression in
959 # Common Expression Language syntax.
960 #
961 # The application context of the containing message determines which
962 # well-known feature set of CEL is supported.
963 "description": "A String", # An optional description of the expression. This is a longer text which
964 # describes the expression, e.g. when hovered over it in a UI.
965 "title": "A String", # An optional title for the expression, i.e. a short string describing
966 # its purpose. This can be used e.g. in UIs which allow to enter the
967 # expression.
968 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400969 },
970 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700971 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
972 # prevent simultaneous updates of a policy from overwriting each other.
973 # It is strongly suggested that systems make use of the `etag` in the
974 # read-modify-write cycle to perform policy updates in order to avoid race
975 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
976 # systems are expected to put that etag in the request to `setIamPolicy` to
977 # ensure that their change will be applied to the same version of the policy.
978 #
979 # If no `etag` is provided in the call to `setIamPolicy`, then the existing
980 # policy is overwritten blindly.
981 "version": 42, # Deprecated.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400982 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400983 }
984
985 x__xgafv: string, V1 error format.
986 Allowed values
987 1 - v1 error format
988 2 - v2 error format
989
990Returns:
991 An object of the form:
992
993 { # Defines an Identity and Access Management (IAM) policy. It is used to
994 # specify access control policies for Cloud Platform resources.
995 #
996 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700997 # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400998 # `members` to a `role`, where the members can be user accounts, Google groups,
999 # Google domains, and service accounts. A `role` is a named list of permissions
1000 # defined by IAM.
1001 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001002 # **JSON Example**
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001003 #
1004 # {
1005 # "bindings": [
1006 # {
1007 # "role": "roles/owner",
1008 # "members": [
1009 # "user:mike@example.com",
1010 # "group:admins@example.com",
1011 # "domain:google.com",
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001012 # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001013 # ]
1014 # },
1015 # {
1016 # "role": "roles/viewer",
1017 # "members": ["user:sean@example.com"]
1018 # }
1019 # ]
1020 # }
1021 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001022 # **YAML Example**
1023 #
1024 # bindings:
1025 # - members:
1026 # - user:mike@example.com
1027 # - group:admins@example.com
1028 # - domain:google.com
1029 # - serviceAccount:my-other-app@appspot.gserviceaccount.com
1030 # role: roles/owner
1031 # - members:
1032 # - user:sean@example.com
1033 # role: roles/viewer
1034 #
1035 #
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001036 # For a description of IAM and its features, see the
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001037 # [IAM developer's guide](https://cloud.google.com/iam/docs).
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001038 "bindings": [ # Associates a list of `members` to a `role`.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001039 # `bindings` with no members will result in an error.
1040 { # Associates `members` with a `role`.
1041 "role": "A String", # Role that is assigned to `members`.
1042 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001043 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
1044 # `members` can have the following values:
1045 #
1046 # * `allUsers`: A special identifier that represents anyone who is
1047 # on the internet; with or without a Google account.
1048 #
1049 # * `allAuthenticatedUsers`: A special identifier that represents anyone
1050 # who is authenticated with a Google account or a service account.
1051 #
1052 # * `user:{emailid}`: An email address that represents a specific Google
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001053 # account. For example, `alice@gmail.com` .
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001054 #
1055 #
1056 # * `serviceAccount:{emailid}`: An email address that represents a service
1057 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
1058 #
1059 # * `group:{emailid}`: An email address that represents a Google group.
1060 # For example, `admins@example.com`.
1061 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001062 #
1063 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001064 # users of that domain. For example, `google.com` or `example.com`.
1065 #
1066 "A String",
1067 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001068 "condition": { # Represents an expression text. Example: # The condition that is associated with this binding.
1069 # NOTE: An unsatisfied condition will not allow user access via current
1070 # binding. Different bindings, including their conditions, are examined
1071 # independently.
1072 #
1073 # title: "User account presence"
1074 # description: "Determines whether the request has a user account"
1075 # expression: "size(request.user) > 0"
1076 "location": "A String", # An optional string indicating the location of the expression for error
1077 # reporting, e.g. a file name and a position in the file.
1078 "expression": "A String", # Textual representation of an expression in
1079 # Common Expression Language syntax.
1080 #
1081 # The application context of the containing message determines which
1082 # well-known feature set of CEL is supported.
1083 "description": "A String", # An optional description of the expression. This is a longer text which
1084 # describes the expression, e.g. when hovered over it in a UI.
1085 "title": "A String", # An optional title for the expression, i.e. a short string describing
1086 # its purpose. This can be used e.g. in UIs which allow to enter the
1087 # expression.
1088 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001089 },
1090 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001091 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
1092 # prevent simultaneous updates of a policy from overwriting each other.
1093 # It is strongly suggested that systems make use of the `etag` in the
1094 # read-modify-write cycle to perform policy updates in order to avoid race
1095 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
1096 # systems are expected to put that etag in the request to `setIamPolicy` to
1097 # ensure that their change will be applied to the same version of the policy.
1098 #
1099 # If no `etag` is provided in the call to `setIamPolicy`, then the existing
1100 # policy is overwritten blindly.
1101 "version": 42, # Deprecated.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001102 }</pre>
1103</div>
1104
1105<div class="method">
1106 <code class="details" id="testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</code>
1107 <pre>Returns permissions that the caller has on the specified instance resource.
1108
1109Attempting this RPC on a non-existent Cloud Spanner instance resource will
1110result in a NOT_FOUND error if the user has `spanner.instances.list`
1111permission on the containing Google Cloud Project. Otherwise returns an
1112empty set of permissions.
1113
1114Args:
1115 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)
1116 body: object, The request body. (required)
1117 The object takes the form of:
1118
1119{ # Request message for `TestIamPermissions` method.
1120 "permissions": [ # REQUIRED: The set of permissions to check for 'resource'.
1121 # Permissions with wildcards (such as '*', 'spanner.*', 'spanner.instances.*') are not allowed.
1122 "A String",
1123 ],
1124 }
1125
1126 x__xgafv: string, V1 error format.
1127 Allowed values
1128 1 - v1 error format
1129 2 - v2 error format
1130
1131Returns:
1132 An object of the form:
1133
1134 { # Response message for `TestIamPermissions` method.
1135 "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is
1136 # allowed.
1137 "A String",
1138 ],
1139 }</pre>
1140</div>
1141
1142</body></html>