blob: 8042f940c9d8706a00d3dd4b7f7f20ec8b1d4679 [file] [log] [blame]
Bu Sun Kim65020912020-05-20 12:08:20 -07001<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="bigtableadmin_v2.html">Cloud Bigtable Admin API</a> . <a href="bigtableadmin_v2.projects.html">projects</a> . <a href="bigtableadmin_v2.projects.instances.html">instances</a> . <a href="bigtableadmin_v2.projects.instances.clusters.html">clusters</a> . <a href="bigtableadmin_v2.projects.instances.clusters.backups.html">backups</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
78 <code><a href="#getIamPolicy">getIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
79<p class="firstline">Gets the access control policy for a Table resource.</p>
80<p class="toc_element">
81 <code><a href="#setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
82<p class="firstline">Sets the access control policy on a Table resource.</p>
83<p class="toc_element">
84 <code><a href="#testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</a></code></p>
85<p class="firstline">Returns permissions that the caller has on the specified table resource.</p>
86<h3>Method Details</h3>
87<div class="method">
88 <code class="details" id="getIamPolicy">getIamPolicy(resource, body=None, x__xgafv=None)</code>
89 <pre>Gets the access control policy for a Table resource.
90Returns an empty policy if the resource exists but does not have a policy
91set.
92
93Args:
94 resource: string, REQUIRED: The resource for which the policy is being requested.
95See the operation documentation for the appropriate value for this field. (required)
96 body: object, The request body.
97 The object takes the form of:
98
99{ # Request message for `GetIamPolicy` method.
100 &quot;options&quot;: { # Encapsulates settings provided to GetIamPolicy. # OPTIONAL: A `GetPolicyOptions` object for specifying options to
101 # `GetIamPolicy`. This field is only used by Cloud IAM.
102 &quot;requestedPolicyVersion&quot;: 42, # Optional. The policy format version to be returned.
103 #
104 # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
105 # rejected.
106 #
107 # Requests for policies with any conditional bindings must specify version 3.
108 # Policies without any conditional bindings may specify any valid value or
109 # leave the field unset.
110 },
111 }
112
113 x__xgafv: string, V1 error format.
114 Allowed values
115 1 - v1 error format
116 2 - v2 error format
117
118Returns:
119 An object of the form:
120
121 { # An Identity and Access Management (IAM) policy, which specifies access
122 # controls for Google Cloud resources.
123 #
124 #
125 # A `Policy` is a collection of `bindings`. A `binding` binds one or more
126 # `members` to a single `role`. Members can be user accounts, service accounts,
127 # Google groups, and domains (such as G Suite). A `role` is a named list of
128 # permissions; each `role` can be an IAM predefined role or a user-created
129 # custom role.
130 #
131 # Optionally, a `binding` can specify a `condition`, which is a logical
132 # expression that allows access to a resource only if the expression evaluates
133 # to `true`. A condition can add constraints based on attributes of the
134 # request, the resource, or both.
135 #
136 # **JSON example:**
137 #
138 # {
139 # &quot;bindings&quot;: [
140 # {
141 # &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;,
142 # &quot;members&quot;: [
143 # &quot;user:mike@example.com&quot;,
144 # &quot;group:admins@example.com&quot;,
145 # &quot;domain:google.com&quot;,
146 # &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot;
147 # ]
148 # },
149 # {
150 # &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;,
151 # &quot;members&quot;: [&quot;user:eve@example.com&quot;],
152 # &quot;condition&quot;: {
153 # &quot;title&quot;: &quot;expirable access&quot;,
154 # &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;,
155 # &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;,
156 # }
157 # }
158 # ],
159 # &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;,
160 # &quot;version&quot;: 3
161 # }
162 #
163 # **YAML example:**
164 #
165 # bindings:
166 # - members:
167 # - user:mike@example.com
168 # - group:admins@example.com
169 # - domain:google.com
170 # - serviceAccount:my-project-id@appspot.gserviceaccount.com
171 # role: roles/resourcemanager.organizationAdmin
172 # - members:
173 # - user:eve@example.com
174 # role: roles/resourcemanager.organizationViewer
175 # condition:
176 # title: expirable access
177 # description: Does not grant access after Sep 2020
178 # expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)
179 # - etag: BwWWja0YfJA=
180 # - version: 3
181 #
182 # For a description of IAM and its features, see the
183 # [IAM documentation](https://cloud.google.com/iam/docs/).
Bu Sun Kim65020912020-05-20 12:08:20 -0700184 &quot;version&quot;: 42, # Specifies the format of the policy.
185 #
186 # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
187 # are rejected.
188 #
189 # Any operation that affects conditional role bindings must specify version
190 # `3`. This requirement applies to the following operations:
191 #
192 # * Getting a policy that includes a conditional role binding
193 # * Adding a conditional role binding to a policy
194 # * Changing a conditional role binding in a policy
195 # * Removing any role binding, with or without a condition, from a policy
196 # that includes conditions
197 #
198 # **Important:** If you use IAM Conditions, you must include the `etag` field
199 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
200 # you to overwrite a version `3` policy with a version `1` policy, and all of
201 # the conditions in the version `3` policy are lost.
202 #
203 # If a policy does not include any conditions, operations on that policy may
204 # specify any valid version or leave the field unset.
205 &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
206 { # Specifies the audit configuration for a service.
207 # The configuration determines which permission types are logged, and what
208 # identities, if any, are exempted from logging.
209 # An AuditConfig must have one or more AuditLogConfigs.
210 #
211 # If there are AuditConfigs for both `allServices` and a specific service,
212 # the union of the two AuditConfigs is used for that service: the log_types
213 # specified in each AuditConfig are enabled, and the exempted_members in each
214 # AuditLogConfig are exempted.
215 #
216 # Example Policy with multiple AuditConfigs:
217 #
218 # {
219 # &quot;audit_configs&quot;: [
220 # {
221 # &quot;service&quot;: &quot;allServices&quot;
222 # &quot;audit_log_configs&quot;: [
223 # {
224 # &quot;log_type&quot;: &quot;DATA_READ&quot;,
225 # &quot;exempted_members&quot;: [
226 # &quot;user:jose@example.com&quot;
227 # ]
228 # },
229 # {
230 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
231 # },
232 # {
233 # &quot;log_type&quot;: &quot;ADMIN_READ&quot;,
234 # }
235 # ]
236 # },
237 # {
238 # &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;
239 # &quot;audit_log_configs&quot;: [
240 # {
241 # &quot;log_type&quot;: &quot;DATA_READ&quot;,
242 # },
243 # {
244 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
245 # &quot;exempted_members&quot;: [
246 # &quot;user:aliya@example.com&quot;
247 # ]
248 # }
249 # ]
250 # }
251 # ]
252 # }
253 #
254 # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
255 # logging. It also exempts jose@example.com from DATA_READ logging, and
256 # aliya@example.com from DATA_WRITE logging.
257 &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging.
258 # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
259 # `allServices` is a special value that covers all services.
260 &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
261 { # Provides the configuration for logging a type of permissions.
262 # Example:
263 #
264 # {
265 # &quot;audit_log_configs&quot;: [
266 # {
267 # &quot;log_type&quot;: &quot;DATA_READ&quot;,
268 # &quot;exempted_members&quot;: [
269 # &quot;user:jose@example.com&quot;
270 # ]
271 # },
272 # {
273 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
274 # }
275 # ]
276 # }
277 #
278 # This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting
279 # jose@example.com from DATA_READ logging.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700280 &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
Bu Sun Kim65020912020-05-20 12:08:20 -0700281 &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of
282 # permission.
283 # Follows the same format of Binding.members.
284 &quot;A String&quot;,
285 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700286 },
287 ],
288 },
289 ],
290 &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
291 # `condition` that determines how and when the `bindings` are applied. Each
292 # of the `bindings` must contain at least one member.
293 { # Associates `members` with a `role`.
294 &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
295 # NOTE: An unsatisfied condition will not allow user access via current
296 # binding. Different bindings, including their conditions, are examined
297 # independently.
298 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
299 # are documented at https://github.com/google/cel-spec.
300 #
301 # Example (Comparison):
302 #
303 # title: &quot;Summary size limit&quot;
304 # description: &quot;Determines if a summary is less than 100 chars&quot;
305 # expression: &quot;document.summary.size() &lt; 100&quot;
306 #
307 # Example (Equality):
308 #
309 # title: &quot;Requestor is owner&quot;
310 # description: &quot;Determines if requestor is the document owner&quot;
311 # expression: &quot;document.owner == request.auth.claims.email&quot;
312 #
313 # Example (Logic):
314 #
315 # title: &quot;Public documents&quot;
316 # description: &quot;Determine whether the document should be publicly visible&quot;
317 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
318 #
319 # Example (Data Manipulation):
320 #
321 # title: &quot;Notification string&quot;
322 # description: &quot;Create a notification string with a timestamp.&quot;
323 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
324 #
325 # The exact variables and functions that may be referenced within an expression
326 # are determined by the service that evaluates it. See the service
327 # documentation for additional information.
Bu Sun Kim65020912020-05-20 12:08:20 -0700328 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
329 # its purpose. This can be used e.g. in UIs which allow to enter the
330 # expression.
331 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
332 # reporting, e.g. a file name and a position in the file.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700333 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
334 # describes the expression, e.g. when hovered over it in a UI.
335 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
336 # syntax.
Bu Sun Kim65020912020-05-20 12:08:20 -0700337 },
338 &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
339 # `members` can have the following values:
340 #
341 # * `allUsers`: A special identifier that represents anyone who is
342 # on the internet; with or without a Google account.
343 #
344 # * `allAuthenticatedUsers`: A special identifier that represents anyone
345 # who is authenticated with a Google account or a service account.
346 #
347 # * `user:{emailid}`: An email address that represents a specific Google
348 # account. For example, `alice@example.com` .
349 #
350 #
351 # * `serviceAccount:{emailid}`: An email address that represents a service
352 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
353 #
354 # * `group:{emailid}`: An email address that represents a Google group.
355 # For example, `admins@example.com`.
356 #
357 # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
358 # identifier) representing a user that has been recently deleted. For
359 # example, `alice@example.com?uid=123456789012345678901`. If the user is
360 # recovered, this value reverts to `user:{emailid}` and the recovered user
361 # retains the role in the binding.
362 #
363 # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
364 # unique identifier) representing a service account that has been recently
365 # deleted. For example,
366 # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
367 # If the service account is undeleted, this value reverts to
368 # `serviceAccount:{emailid}` and the undeleted service account retains the
369 # role in the binding.
370 #
371 # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
372 # identifier) representing a Google group that has been recently
373 # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
374 # the group is recovered, this value reverts to `group:{emailid}` and the
375 # recovered group retains the role in the binding.
376 #
377 #
378 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
379 # users of that domain. For example, `google.com` or `example.com`.
380 #
381 &quot;A String&quot;,
382 ],
383 &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
384 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
385 },
386 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700387 &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
388 # prevent simultaneous updates of a policy from overwriting each other.
389 # It is strongly suggested that systems make use of the `etag` in the
390 # read-modify-write cycle to perform policy updates in order to avoid race
391 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
392 # systems are expected to put that etag in the request to `setIamPolicy` to
393 # ensure that their change will be applied to the same version of the policy.
394 #
395 # **Important:** If you use IAM Conditions, you must include the `etag` field
396 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
397 # you to overwrite a version `3` policy with a version `1` policy, and all of
398 # the conditions in the version `3` policy are lost.
Bu Sun Kim65020912020-05-20 12:08:20 -0700399 }</pre>
400</div>
401
402<div class="method">
403 <code class="details" id="setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</code>
404 <pre>Sets the access control policy on a Table resource.
405Replaces any existing policy.
406
407Args:
408 resource: string, REQUIRED: The resource for which the policy is being specified.
409See the operation documentation for the appropriate value for this field. (required)
410 body: object, The request body.
411 The object takes the form of:
412
413{ # Request message for `SetIamPolicy` method.
414 &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access # REQUIRED: The complete policy to be applied to the `resource`. The size of
415 # the policy is limited to a few 10s of KB. An empty policy is a
416 # valid policy but certain Cloud Platform services (such as Projects)
417 # might reject them.
418 # controls for Google Cloud resources.
419 #
420 #
421 # A `Policy` is a collection of `bindings`. A `binding` binds one or more
422 # `members` to a single `role`. Members can be user accounts, service accounts,
423 # Google groups, and domains (such as G Suite). A `role` is a named list of
424 # permissions; each `role` can be an IAM predefined role or a user-created
425 # custom role.
426 #
427 # Optionally, a `binding` can specify a `condition`, which is a logical
428 # expression that allows access to a resource only if the expression evaluates
429 # to `true`. A condition can add constraints based on attributes of the
430 # request, the resource, or both.
431 #
432 # **JSON example:**
433 #
434 # {
435 # &quot;bindings&quot;: [
436 # {
437 # &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;,
438 # &quot;members&quot;: [
439 # &quot;user:mike@example.com&quot;,
440 # &quot;group:admins@example.com&quot;,
441 # &quot;domain:google.com&quot;,
442 # &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot;
443 # ]
444 # },
445 # {
446 # &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;,
447 # &quot;members&quot;: [&quot;user:eve@example.com&quot;],
448 # &quot;condition&quot;: {
449 # &quot;title&quot;: &quot;expirable access&quot;,
450 # &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;,
451 # &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;,
452 # }
453 # }
454 # ],
455 # &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;,
456 # &quot;version&quot;: 3
457 # }
458 #
459 # **YAML example:**
460 #
461 # bindings:
462 # - members:
463 # - user:mike@example.com
464 # - group:admins@example.com
465 # - domain:google.com
466 # - serviceAccount:my-project-id@appspot.gserviceaccount.com
467 # role: roles/resourcemanager.organizationAdmin
468 # - members:
469 # - user:eve@example.com
470 # role: roles/resourcemanager.organizationViewer
471 # condition:
472 # title: expirable access
473 # description: Does not grant access after Sep 2020
474 # expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)
475 # - etag: BwWWja0YfJA=
476 # - version: 3
477 #
478 # For a description of IAM and its features, see the
479 # [IAM documentation](https://cloud.google.com/iam/docs/).
Bu Sun Kim65020912020-05-20 12:08:20 -0700480 &quot;version&quot;: 42, # Specifies the format of the policy.
481 #
482 # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
483 # are rejected.
484 #
485 # Any operation that affects conditional role bindings must specify version
486 # `3`. This requirement applies to the following operations:
487 #
488 # * Getting a policy that includes a conditional role binding
489 # * Adding a conditional role binding to a policy
490 # * Changing a conditional role binding in a policy
491 # * Removing any role binding, with or without a condition, from a policy
492 # that includes conditions
493 #
494 # **Important:** If you use IAM Conditions, you must include the `etag` field
495 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
496 # you to overwrite a version `3` policy with a version `1` policy, and all of
497 # the conditions in the version `3` policy are lost.
498 #
499 # If a policy does not include any conditions, operations on that policy may
500 # specify any valid version or leave the field unset.
501 &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
502 { # Specifies the audit configuration for a service.
503 # The configuration determines which permission types are logged, and what
504 # identities, if any, are exempted from logging.
505 # An AuditConfig must have one or more AuditLogConfigs.
506 #
507 # If there are AuditConfigs for both `allServices` and a specific service,
508 # the union of the two AuditConfigs is used for that service: the log_types
509 # specified in each AuditConfig are enabled, and the exempted_members in each
510 # AuditLogConfig are exempted.
511 #
512 # Example Policy with multiple AuditConfigs:
513 #
514 # {
515 # &quot;audit_configs&quot;: [
516 # {
517 # &quot;service&quot;: &quot;allServices&quot;
518 # &quot;audit_log_configs&quot;: [
519 # {
520 # &quot;log_type&quot;: &quot;DATA_READ&quot;,
521 # &quot;exempted_members&quot;: [
522 # &quot;user:jose@example.com&quot;
523 # ]
524 # },
525 # {
526 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
527 # },
528 # {
529 # &quot;log_type&quot;: &quot;ADMIN_READ&quot;,
530 # }
531 # ]
532 # },
533 # {
534 # &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;
535 # &quot;audit_log_configs&quot;: [
536 # {
537 # &quot;log_type&quot;: &quot;DATA_READ&quot;,
538 # },
539 # {
540 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
541 # &quot;exempted_members&quot;: [
542 # &quot;user:aliya@example.com&quot;
543 # ]
544 # }
545 # ]
546 # }
547 # ]
548 # }
549 #
550 # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
551 # logging. It also exempts jose@example.com from DATA_READ logging, and
552 # aliya@example.com from DATA_WRITE logging.
553 &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging.
554 # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
555 # `allServices` is a special value that covers all services.
556 &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
557 { # Provides the configuration for logging a type of permissions.
558 # Example:
559 #
560 # {
561 # &quot;audit_log_configs&quot;: [
562 # {
563 # &quot;log_type&quot;: &quot;DATA_READ&quot;,
564 # &quot;exempted_members&quot;: [
565 # &quot;user:jose@example.com&quot;
566 # ]
567 # },
568 # {
569 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
570 # }
571 # ]
572 # }
573 #
574 # This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting
575 # jose@example.com from DATA_READ logging.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700576 &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
Bu Sun Kim65020912020-05-20 12:08:20 -0700577 &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of
578 # permission.
579 # Follows the same format of Binding.members.
580 &quot;A String&quot;,
581 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700582 },
583 ],
584 },
585 ],
586 &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
587 # `condition` that determines how and when the `bindings` are applied. Each
588 # of the `bindings` must contain at least one member.
589 { # Associates `members` with a `role`.
590 &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
591 # NOTE: An unsatisfied condition will not allow user access via current
592 # binding. Different bindings, including their conditions, are examined
593 # independently.
594 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
595 # are documented at https://github.com/google/cel-spec.
596 #
597 # Example (Comparison):
598 #
599 # title: &quot;Summary size limit&quot;
600 # description: &quot;Determines if a summary is less than 100 chars&quot;
601 # expression: &quot;document.summary.size() &lt; 100&quot;
602 #
603 # Example (Equality):
604 #
605 # title: &quot;Requestor is owner&quot;
606 # description: &quot;Determines if requestor is the document owner&quot;
607 # expression: &quot;document.owner == request.auth.claims.email&quot;
608 #
609 # Example (Logic):
610 #
611 # title: &quot;Public documents&quot;
612 # description: &quot;Determine whether the document should be publicly visible&quot;
613 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
614 #
615 # Example (Data Manipulation):
616 #
617 # title: &quot;Notification string&quot;
618 # description: &quot;Create a notification string with a timestamp.&quot;
619 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
620 #
621 # The exact variables and functions that may be referenced within an expression
622 # are determined by the service that evaluates it. See the service
623 # documentation for additional information.
Bu Sun Kim65020912020-05-20 12:08:20 -0700624 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
625 # its purpose. This can be used e.g. in UIs which allow to enter the
626 # expression.
627 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
628 # reporting, e.g. a file name and a position in the file.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700629 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
630 # describes the expression, e.g. when hovered over it in a UI.
631 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
632 # syntax.
Bu Sun Kim65020912020-05-20 12:08:20 -0700633 },
634 &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
635 # `members` can have the following values:
636 #
637 # * `allUsers`: A special identifier that represents anyone who is
638 # on the internet; with or without a Google account.
639 #
640 # * `allAuthenticatedUsers`: A special identifier that represents anyone
641 # who is authenticated with a Google account or a service account.
642 #
643 # * `user:{emailid}`: An email address that represents a specific Google
644 # account. For example, `alice@example.com` .
645 #
646 #
647 # * `serviceAccount:{emailid}`: An email address that represents a service
648 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
649 #
650 # * `group:{emailid}`: An email address that represents a Google group.
651 # For example, `admins@example.com`.
652 #
653 # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
654 # identifier) representing a user that has been recently deleted. For
655 # example, `alice@example.com?uid=123456789012345678901`. If the user is
656 # recovered, this value reverts to `user:{emailid}` and the recovered user
657 # retains the role in the binding.
658 #
659 # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
660 # unique identifier) representing a service account that has been recently
661 # deleted. For example,
662 # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
663 # If the service account is undeleted, this value reverts to
664 # `serviceAccount:{emailid}` and the undeleted service account retains the
665 # role in the binding.
666 #
667 # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
668 # identifier) representing a Google group that has been recently
669 # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
670 # the group is recovered, this value reverts to `group:{emailid}` and the
671 # recovered group retains the role in the binding.
672 #
673 #
674 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
675 # users of that domain. For example, `google.com` or `example.com`.
676 #
677 &quot;A String&quot;,
678 ],
679 &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
680 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
681 },
682 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700683 &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
684 # prevent simultaneous updates of a policy from overwriting each other.
685 # It is strongly suggested that systems make use of the `etag` in the
686 # read-modify-write cycle to perform policy updates in order to avoid race
687 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
688 # systems are expected to put that etag in the request to `setIamPolicy` to
689 # ensure that their change will be applied to the same version of the policy.
690 #
691 # **Important:** If you use IAM Conditions, you must include the `etag` field
692 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
693 # you to overwrite a version `3` policy with a version `1` policy, and all of
694 # the conditions in the version `3` policy are lost.
Bu Sun Kim65020912020-05-20 12:08:20 -0700695 },
696 &quot;updateMask&quot;: &quot;A String&quot;, # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
697 # the fields in the mask will be modified. If no mask is provided, the
698 # following default mask is used:
699 # paths: &quot;bindings, etag&quot;
700 # This field is only used by Cloud IAM.
701 }
702
703 x__xgafv: string, V1 error format.
704 Allowed values
705 1 - v1 error format
706 2 - v2 error format
707
708Returns:
709 An object of the form:
710
711 { # An Identity and Access Management (IAM) policy, which specifies access
712 # controls for Google Cloud resources.
713 #
714 #
715 # A `Policy` is a collection of `bindings`. A `binding` binds one or more
716 # `members` to a single `role`. Members can be user accounts, service accounts,
717 # Google groups, and domains (such as G Suite). A `role` is a named list of
718 # permissions; each `role` can be an IAM predefined role or a user-created
719 # custom role.
720 #
721 # Optionally, a `binding` can specify a `condition`, which is a logical
722 # expression that allows access to a resource only if the expression evaluates
723 # to `true`. A condition can add constraints based on attributes of the
724 # request, the resource, or both.
725 #
726 # **JSON example:**
727 #
728 # {
729 # &quot;bindings&quot;: [
730 # {
731 # &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;,
732 # &quot;members&quot;: [
733 # &quot;user:mike@example.com&quot;,
734 # &quot;group:admins@example.com&quot;,
735 # &quot;domain:google.com&quot;,
736 # &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot;
737 # ]
738 # },
739 # {
740 # &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;,
741 # &quot;members&quot;: [&quot;user:eve@example.com&quot;],
742 # &quot;condition&quot;: {
743 # &quot;title&quot;: &quot;expirable access&quot;,
744 # &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;,
745 # &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;,
746 # }
747 # }
748 # ],
749 # &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;,
750 # &quot;version&quot;: 3
751 # }
752 #
753 # **YAML example:**
754 #
755 # bindings:
756 # - members:
757 # - user:mike@example.com
758 # - group:admins@example.com
759 # - domain:google.com
760 # - serviceAccount:my-project-id@appspot.gserviceaccount.com
761 # role: roles/resourcemanager.organizationAdmin
762 # - members:
763 # - user:eve@example.com
764 # role: roles/resourcemanager.organizationViewer
765 # condition:
766 # title: expirable access
767 # description: Does not grant access after Sep 2020
768 # expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)
769 # - etag: BwWWja0YfJA=
770 # - version: 3
771 #
772 # For a description of IAM and its features, see the
773 # [IAM documentation](https://cloud.google.com/iam/docs/).
Bu Sun Kim65020912020-05-20 12:08:20 -0700774 &quot;version&quot;: 42, # Specifies the format of the policy.
775 #
776 # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
777 # are rejected.
778 #
779 # Any operation that affects conditional role bindings must specify version
780 # `3`. This requirement applies to the following operations:
781 #
782 # * Getting a policy that includes a conditional role binding
783 # * Adding a conditional role binding to a policy
784 # * Changing a conditional role binding in a policy
785 # * Removing any role binding, with or without a condition, from a policy
786 # that includes conditions
787 #
788 # **Important:** If you use IAM Conditions, you must include the `etag` field
789 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
790 # you to overwrite a version `3` policy with a version `1` policy, and all of
791 # the conditions in the version `3` policy are lost.
792 #
793 # If a policy does not include any conditions, operations on that policy may
794 # specify any valid version or leave the field unset.
795 &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
796 { # Specifies the audit configuration for a service.
797 # The configuration determines which permission types are logged, and what
798 # identities, if any, are exempted from logging.
799 # An AuditConfig must have one or more AuditLogConfigs.
800 #
801 # If there are AuditConfigs for both `allServices` and a specific service,
802 # the union of the two AuditConfigs is used for that service: the log_types
803 # specified in each AuditConfig are enabled, and the exempted_members in each
804 # AuditLogConfig are exempted.
805 #
806 # Example Policy with multiple AuditConfigs:
807 #
808 # {
809 # &quot;audit_configs&quot;: [
810 # {
811 # &quot;service&quot;: &quot;allServices&quot;
812 # &quot;audit_log_configs&quot;: [
813 # {
814 # &quot;log_type&quot;: &quot;DATA_READ&quot;,
815 # &quot;exempted_members&quot;: [
816 # &quot;user:jose@example.com&quot;
817 # ]
818 # },
819 # {
820 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
821 # },
822 # {
823 # &quot;log_type&quot;: &quot;ADMIN_READ&quot;,
824 # }
825 # ]
826 # },
827 # {
828 # &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;
829 # &quot;audit_log_configs&quot;: [
830 # {
831 # &quot;log_type&quot;: &quot;DATA_READ&quot;,
832 # },
833 # {
834 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
835 # &quot;exempted_members&quot;: [
836 # &quot;user:aliya@example.com&quot;
837 # ]
838 # }
839 # ]
840 # }
841 # ]
842 # }
843 #
844 # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
845 # logging. It also exempts jose@example.com from DATA_READ logging, and
846 # aliya@example.com from DATA_WRITE logging.
847 &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging.
848 # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
849 # `allServices` is a special value that covers all services.
850 &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
851 { # Provides the configuration for logging a type of permissions.
852 # Example:
853 #
854 # {
855 # &quot;audit_log_configs&quot;: [
856 # {
857 # &quot;log_type&quot;: &quot;DATA_READ&quot;,
858 # &quot;exempted_members&quot;: [
859 # &quot;user:jose@example.com&quot;
860 # ]
861 # },
862 # {
863 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
864 # }
865 # ]
866 # }
867 #
868 # This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting
869 # jose@example.com from DATA_READ logging.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700870 &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
Bu Sun Kim65020912020-05-20 12:08:20 -0700871 &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of
872 # permission.
873 # Follows the same format of Binding.members.
874 &quot;A String&quot;,
875 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700876 },
877 ],
878 },
879 ],
880 &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
881 # `condition` that determines how and when the `bindings` are applied. Each
882 # of the `bindings` must contain at least one member.
883 { # Associates `members` with a `role`.
884 &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
885 # NOTE: An unsatisfied condition will not allow user access via current
886 # binding. Different bindings, including their conditions, are examined
887 # independently.
888 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
889 # are documented at https://github.com/google/cel-spec.
890 #
891 # Example (Comparison):
892 #
893 # title: &quot;Summary size limit&quot;
894 # description: &quot;Determines if a summary is less than 100 chars&quot;
895 # expression: &quot;document.summary.size() &lt; 100&quot;
896 #
897 # Example (Equality):
898 #
899 # title: &quot;Requestor is owner&quot;
900 # description: &quot;Determines if requestor is the document owner&quot;
901 # expression: &quot;document.owner == request.auth.claims.email&quot;
902 #
903 # Example (Logic):
904 #
905 # title: &quot;Public documents&quot;
906 # description: &quot;Determine whether the document should be publicly visible&quot;
907 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
908 #
909 # Example (Data Manipulation):
910 #
911 # title: &quot;Notification string&quot;
912 # description: &quot;Create a notification string with a timestamp.&quot;
913 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
914 #
915 # The exact variables and functions that may be referenced within an expression
916 # are determined by the service that evaluates it. See the service
917 # documentation for additional information.
Bu Sun Kim65020912020-05-20 12:08:20 -0700918 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
919 # its purpose. This can be used e.g. in UIs which allow to enter the
920 # expression.
921 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
922 # reporting, e.g. a file name and a position in the file.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700923 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
924 # describes the expression, e.g. when hovered over it in a UI.
925 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
926 # syntax.
Bu Sun Kim65020912020-05-20 12:08:20 -0700927 },
928 &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
929 # `members` can have the following values:
930 #
931 # * `allUsers`: A special identifier that represents anyone who is
932 # on the internet; with or without a Google account.
933 #
934 # * `allAuthenticatedUsers`: A special identifier that represents anyone
935 # who is authenticated with a Google account or a service account.
936 #
937 # * `user:{emailid}`: An email address that represents a specific Google
938 # account. For example, `alice@example.com` .
939 #
940 #
941 # * `serviceAccount:{emailid}`: An email address that represents a service
942 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
943 #
944 # * `group:{emailid}`: An email address that represents a Google group.
945 # For example, `admins@example.com`.
946 #
947 # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
948 # identifier) representing a user that has been recently deleted. For
949 # example, `alice@example.com?uid=123456789012345678901`. If the user is
950 # recovered, this value reverts to `user:{emailid}` and the recovered user
951 # retains the role in the binding.
952 #
953 # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
954 # unique identifier) representing a service account that has been recently
955 # deleted. For example,
956 # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
957 # If the service account is undeleted, this value reverts to
958 # `serviceAccount:{emailid}` and the undeleted service account retains the
959 # role in the binding.
960 #
961 # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
962 # identifier) representing a Google group that has been recently
963 # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
964 # the group is recovered, this value reverts to `group:{emailid}` and the
965 # recovered group retains the role in the binding.
966 #
967 #
968 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
969 # users of that domain. For example, `google.com` or `example.com`.
970 #
971 &quot;A String&quot;,
972 ],
973 &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
974 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
975 },
976 ],
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700977 &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
978 # prevent simultaneous updates of a policy from overwriting each other.
979 # It is strongly suggested that systems make use of the `etag` in the
980 # read-modify-write cycle to perform policy updates in order to avoid race
981 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
982 # systems are expected to put that etag in the request to `setIamPolicy` to
983 # ensure that their change will be applied to the same version of the policy.
984 #
985 # **Important:** If you use IAM Conditions, you must include the `etag` field
986 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
987 # you to overwrite a version `3` policy with a version `1` policy, and all of
988 # the conditions in the version `3` policy are lost.
Bu Sun Kim65020912020-05-20 12:08:20 -0700989 }</pre>
990</div>
991
992<div class="method">
993 <code class="details" id="testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</code>
994 <pre>Returns permissions that the caller has on the specified table resource.
995
996Args:
997 resource: string, REQUIRED: The resource for which the policy detail is being requested.
998See the operation documentation for the appropriate value for this field. (required)
999 body: object, The request body.
1000 The object takes the form of:
1001
1002{ # Request message for `TestIamPermissions` method.
1003 &quot;permissions&quot;: [ # The set of permissions to check for the `resource`. Permissions with
1004 # wildcards (such as &#x27;*&#x27; or &#x27;storage.*&#x27;) are not allowed. For more
1005 # information see
1006 # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
1007 &quot;A String&quot;,
1008 ],
1009 }
1010
1011 x__xgafv: string, V1 error format.
1012 Allowed values
1013 1 - v1 error format
1014 2 - v2 error format
1015
1016Returns:
1017 An object of the form:
1018
1019 { # Response message for `TestIamPermissions` method.
1020 &quot;permissions&quot;: [ # A subset of `TestPermissionsRequest.permissions` that the caller is
1021 # allowed.
1022 &quot;A String&quot;,
1023 ],
1024 }</pre>
1025</div>
1026
1027</body></html>