blob: 383fad45b50e59a546f6d83c6bd815a1bf55b42d [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="secretmanager_v1.html">Secret Manager API</a> . <a href="secretmanager_v1.projects.html">projects</a> . <a href="secretmanager_v1.projects.secrets.html">secrets</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
78 <code><a href="secretmanager_v1.projects.secrets.versions.html">versions()</a></code>
79</p>
80<p class="firstline">Returns the versions Resource.</p>
81
82<p class="toc_element">
83 <code><a href="#addVersion">addVersion(parent, body=None, x__xgafv=None)</a></code></p>
84<p class="firstline">Creates a new SecretVersion containing secret data and attaches</p>
85<p class="toc_element">
86 <code><a href="#create">create(parent, body=None, secretId=None, x__xgafv=None)</a></code></p>
87<p class="firstline">Creates a new Secret containing no SecretVersions.</p>
88<p class="toc_element">
89 <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
90<p class="firstline">Deletes a Secret.</p>
91<p class="toc_element">
92 <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
93<p class="firstline">Gets metadata for a given Secret.</p>
94<p class="toc_element">
95 <code><a href="#getIamPolicy">getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)</a></code></p>
96<p class="firstline">Gets the access control policy for a secret.</p>
97<p class="toc_element">
98 <code><a href="#list">list(parent, pageToken=None, pageSize=None, x__xgafv=None)</a></code></p>
99<p class="firstline">Lists Secrets.</p>
100<p class="toc_element">
101 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
102<p class="firstline">Retrieves the next page of results.</p>
103<p class="toc_element">
104 <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
105<p class="firstline">Updates metadata of an existing Secret.</p>
106<p class="toc_element">
107 <code><a href="#setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
108<p class="firstline">Sets the access control policy on the specified secret. Replaces any</p>
109<p class="toc_element">
110 <code><a href="#testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</a></code></p>
111<p class="firstline">Returns permissions that a caller has for the specified secret.</p>
112<h3>Method Details</h3>
113<div class="method">
114 <code class="details" id="addVersion">addVersion(parent, body=None, x__xgafv=None)</code>
115 <pre>Creates a new SecretVersion containing secret data and attaches
116it to an existing Secret.
117
118Args:
119 parent: string, Required. The resource name of the Secret to associate with the
120SecretVersion in the format `projects/*/secrets/*`. (required)
121 body: object, The request body.
122 The object takes the form of:
123
124{ # Request message for SecretManagerService.AddSecretVersion.
125 &quot;payload&quot;: { # A secret payload resource in the Secret Manager API. This contains the # Required. The secret payload of the SecretVersion.
126 # sensitive secret payload that is associated with a SecretVersion.
127 &quot;data&quot;: &quot;A String&quot;, # The secret data. Must be no larger than 64KiB.
128 },
129 }
130
131 x__xgafv: string, V1 error format.
132 Allowed values
133 1 - v1 error format
134 2 - v2 error format
135
136Returns:
137 An object of the form:
138
139 { # A secret version resource in the Secret Manager API.
140 &quot;destroyTime&quot;: &quot;A String&quot;, # Output only. The time this SecretVersion was destroyed.
141 # Only present if state is
142 # DESTROYED.
143 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the SecretVersion was created.
144 &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the SecretVersion.
145 &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the SecretVersion in the
146 # format `projects/*/secrets/*/versions/*`.
147 #
148 # SecretVersion IDs in a Secret start at 1 and
149 # are incremented for each subsequent version of the secret.
150 }</pre>
151</div>
152
153<div class="method">
154 <code class="details" id="create">create(parent, body=None, secretId=None, x__xgafv=None)</code>
155 <pre>Creates a new Secret containing no SecretVersions.
156
157Args:
158 parent: string, Required. The resource name of the project to associate with the
159Secret, in the format `projects/*`. (required)
160 body: object, The request body.
161 The object takes the form of:
162
163{ # A Secret is a logical secret whose value and versions can
164 # be accessed.
165 #
166 # A Secret is made up of zero or more SecretVersions that
167 # represent the secret data.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700168 &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the Secret in the format `projects/*/secrets/*`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700169 &quot;replication&quot;: { # A policy that defines the replication configuration of data. # Required. Immutable. The replication policy of the secret data attached to the Secret.
170 #
171 # The replication policy cannot be changed after the Secret has been created.
172 &quot;userManaged&quot;: { # A replication policy that replicates the Secret payload into the # The Secret will only be replicated into the locations specified.
173 # locations specified in Secret.replication.user_managed.replicas
174 &quot;replicas&quot;: [ # Required. The list of Replicas for this Secret.
175 #
176 # Cannot be empty.
177 { # Represents a Replica for this Secret.
178 &quot;location&quot;: &quot;A String&quot;, # The canonical IDs of the location to replicate data.
179 # For example: `&quot;us-east1&quot;`.
180 },
181 ],
182 },
183 &quot;automatic&quot;: { # A replication policy that replicates the Secret payload without any # The Secret will automatically be replicated without any restrictions.
184 # restrictions.
185 },
186 },
187 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the Secret was created.
188 &quot;labels&quot;: { # The labels assigned to this Secret.
189 #
190 # Label keys must be between 1 and 63 characters long, have a UTF-8 encoding
191 # of maximum 128 bytes, and must conform to the following PCRE regular
192 # expression: `\p{Ll}\p{Lo}{0,62}`
193 #
194 # Label values must be between 0 and 63 characters long, have a UTF-8
195 # encoding of maximum 128 bytes, and must conform to the following PCRE
196 # regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}`
197 #
198 # No more than 64 labels can be assigned to a given resource.
199 &quot;a_key&quot;: &quot;A String&quot;,
200 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700201}
202
203 secretId: string, Required. This must be unique within the project.
204
205A secret ID is a string with a maximum length of 255 characters and can
206contain uppercase and lowercase letters, numerals, and the hyphen (`-`) and
207underscore (`_`) characters.
208 x__xgafv: string, V1 error format.
209 Allowed values
210 1 - v1 error format
211 2 - v2 error format
212
213Returns:
214 An object of the form:
215
216 { # A Secret is a logical secret whose value and versions can
217 # be accessed.
218 #
219 # A Secret is made up of zero or more SecretVersions that
220 # represent the secret data.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700221 &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the Secret in the format `projects/*/secrets/*`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700222 &quot;replication&quot;: { # A policy that defines the replication configuration of data. # Required. Immutable. The replication policy of the secret data attached to the Secret.
223 #
224 # The replication policy cannot be changed after the Secret has been created.
225 &quot;userManaged&quot;: { # A replication policy that replicates the Secret payload into the # The Secret will only be replicated into the locations specified.
226 # locations specified in Secret.replication.user_managed.replicas
227 &quot;replicas&quot;: [ # Required. The list of Replicas for this Secret.
228 #
229 # Cannot be empty.
230 { # Represents a Replica for this Secret.
231 &quot;location&quot;: &quot;A String&quot;, # The canonical IDs of the location to replicate data.
232 # For example: `&quot;us-east1&quot;`.
233 },
234 ],
235 },
236 &quot;automatic&quot;: { # A replication policy that replicates the Secret payload without any # The Secret will automatically be replicated without any restrictions.
237 # restrictions.
238 },
239 },
240 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the Secret was created.
241 &quot;labels&quot;: { # The labels assigned to this Secret.
242 #
243 # Label keys must be between 1 and 63 characters long, have a UTF-8 encoding
244 # of maximum 128 bytes, and must conform to the following PCRE regular
245 # expression: `\p{Ll}\p{Lo}{0,62}`
246 #
247 # Label values must be between 0 and 63 characters long, have a UTF-8
248 # encoding of maximum 128 bytes, and must conform to the following PCRE
249 # regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}`
250 #
251 # No more than 64 labels can be assigned to a given resource.
252 &quot;a_key&quot;: &quot;A String&quot;,
253 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700254 }</pre>
255</div>
256
257<div class="method">
258 <code class="details" id="delete">delete(name, x__xgafv=None)</code>
259 <pre>Deletes a Secret.
260
261Args:
262 name: string, Required. The resource name of the Secret to delete in the format
263`projects/*/secrets/*`. (required)
264 x__xgafv: string, V1 error format.
265 Allowed values
266 1 - v1 error format
267 2 - v2 error format
268
269Returns:
270 An object of the form:
271
272 { # A generic empty message that you can re-use to avoid defining duplicated
273 # empty messages in your APIs. A typical example is to use it as the request
274 # or the response type of an API method. For instance:
275 #
276 # service Foo {
277 # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
278 # }
279 #
280 # The JSON representation for `Empty` is empty JSON object `{}`.
281 }</pre>
282</div>
283
284<div class="method">
285 <code class="details" id="get">get(name, x__xgafv=None)</code>
286 <pre>Gets metadata for a given Secret.
287
288Args:
289 name: string, Required. The resource name of the Secret, in the format `projects/*/secrets/*`. (required)
290 x__xgafv: string, V1 error format.
291 Allowed values
292 1 - v1 error format
293 2 - v2 error format
294
295Returns:
296 An object of the form:
297
298 { # A Secret is a logical secret whose value and versions can
299 # be accessed.
300 #
301 # A Secret is made up of zero or more SecretVersions that
302 # represent the secret data.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700303 &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the Secret in the format `projects/*/secrets/*`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700304 &quot;replication&quot;: { # A policy that defines the replication configuration of data. # Required. Immutable. The replication policy of the secret data attached to the Secret.
305 #
306 # The replication policy cannot be changed after the Secret has been created.
307 &quot;userManaged&quot;: { # A replication policy that replicates the Secret payload into the # The Secret will only be replicated into the locations specified.
308 # locations specified in Secret.replication.user_managed.replicas
309 &quot;replicas&quot;: [ # Required. The list of Replicas for this Secret.
310 #
311 # Cannot be empty.
312 { # Represents a Replica for this Secret.
313 &quot;location&quot;: &quot;A String&quot;, # The canonical IDs of the location to replicate data.
314 # For example: `&quot;us-east1&quot;`.
315 },
316 ],
317 },
318 &quot;automatic&quot;: { # A replication policy that replicates the Secret payload without any # The Secret will automatically be replicated without any restrictions.
319 # restrictions.
320 },
321 },
322 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the Secret was created.
323 &quot;labels&quot;: { # The labels assigned to this Secret.
324 #
325 # Label keys must be between 1 and 63 characters long, have a UTF-8 encoding
326 # of maximum 128 bytes, and must conform to the following PCRE regular
327 # expression: `\p{Ll}\p{Lo}{0,62}`
328 #
329 # Label values must be between 0 and 63 characters long, have a UTF-8
330 # encoding of maximum 128 bytes, and must conform to the following PCRE
331 # regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}`
332 #
333 # No more than 64 labels can be assigned to a given resource.
334 &quot;a_key&quot;: &quot;A String&quot;,
335 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700336 }</pre>
337</div>
338
339<div class="method">
340 <code class="details" id="getIamPolicy">getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)</code>
341 <pre>Gets the access control policy for a secret.
342Returns empty policy if the secret exists and does not have a policy set.
343
344Args:
345 resource: string, REQUIRED: The resource for which the policy is being requested.
346See the operation documentation for the appropriate value for this field. (required)
347 options_requestedPolicyVersion: integer, Optional. The policy format version to be returned.
348
349Valid values are 0, 1, and 3. Requests specifying an invalid value will be
350rejected.
351
352Requests for policies with any conditional bindings must specify version 3.
353Policies without any conditional bindings may specify any valid value or
354leave the field unset.
355
356To learn which resources support conditions in their IAM policies, see the
357[IAM
358documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
359 x__xgafv: string, V1 error format.
360 Allowed values
361 1 - v1 error format
362 2 - v2 error format
363
364Returns:
365 An object of the form:
366
367 { # An Identity and Access Management (IAM) policy, which specifies access
368 # controls for Google Cloud resources.
369 #
370 #
371 # A `Policy` is a collection of `bindings`. A `binding` binds one or more
372 # `members` to a single `role`. Members can be user accounts, service accounts,
373 # Google groups, and domains (such as G Suite). A `role` is a named list of
374 # permissions; each `role` can be an IAM predefined role or a user-created
375 # custom role.
376 #
377 # For some types of Google Cloud resources, a `binding` can also specify a
378 # `condition`, which is a logical expression that allows access to a resource
379 # only if the expression evaluates to `true`. A condition can add constraints
380 # based on attributes of the request, the resource, or both. To learn which
381 # resources support conditions in their IAM policies, see the
382 # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
383 #
384 # **JSON example:**
385 #
386 # {
387 # &quot;bindings&quot;: [
388 # {
389 # &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;,
390 # &quot;members&quot;: [
391 # &quot;user:mike@example.com&quot;,
392 # &quot;group:admins@example.com&quot;,
393 # &quot;domain:google.com&quot;,
394 # &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot;
395 # ]
396 # },
397 # {
398 # &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;,
399 # &quot;members&quot;: [
400 # &quot;user:eve@example.com&quot;
401 # ],
402 # &quot;condition&quot;: {
403 # &quot;title&quot;: &quot;expirable access&quot;,
404 # &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;,
405 # &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;,
406 # }
407 # }
408 # ],
409 # &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;,
410 # &quot;version&quot;: 3
411 # }
412 #
413 # **YAML example:**
414 #
415 # bindings:
416 # - members:
417 # - user:mike@example.com
418 # - group:admins@example.com
419 # - domain:google.com
420 # - serviceAccount:my-project-id@appspot.gserviceaccount.com
421 # role: roles/resourcemanager.organizationAdmin
422 # - members:
423 # - user:eve@example.com
424 # role: roles/resourcemanager.organizationViewer
425 # condition:
426 # title: expirable access
427 # description: Does not grant access after Sep 2020
428 # expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)
429 # - etag: BwWWja0YfJA=
430 # - version: 3
431 #
432 # For a description of IAM and its features, see the
433 # [IAM documentation](https://cloud.google.com/iam/docs/).
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700434 &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
435 # `condition` that determines how and when the `bindings` are applied. Each
436 # of the `bindings` must contain at least one member.
437 { # Associates `members` with a `role`.
438 &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
439 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
440 &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
441 #
442 # If the condition evaluates to `true`, then this binding applies to the
443 # current request.
444 #
445 # If the condition evaluates to `false`, then this binding does not apply to
446 # the current request. However, a different role binding might grant the same
447 # role to one or more of the members in this binding.
448 #
449 # To learn which resources support conditions in their IAM policies, see the
450 # [IAM
451 # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
452 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
453 # are documented at https://github.com/google/cel-spec.
454 #
455 # Example (Comparison):
456 #
457 # title: &quot;Summary size limit&quot;
458 # description: &quot;Determines if a summary is less than 100 chars&quot;
459 # expression: &quot;document.summary.size() &lt; 100&quot;
460 #
461 # Example (Equality):
462 #
463 # title: &quot;Requestor is owner&quot;
464 # description: &quot;Determines if requestor is the document owner&quot;
465 # expression: &quot;document.owner == request.auth.claims.email&quot;
466 #
467 # Example (Logic):
468 #
469 # title: &quot;Public documents&quot;
470 # description: &quot;Determine whether the document should be publicly visible&quot;
471 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
472 #
473 # Example (Data Manipulation):
474 #
475 # title: &quot;Notification string&quot;
476 # description: &quot;Create a notification string with a timestamp.&quot;
477 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
478 #
479 # The exact variables and functions that may be referenced within an expression
480 # are determined by the service that evaluates it. See the service
481 # documentation for additional information.
482 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
483 # its purpose. This can be used e.g. in UIs which allow to enter the
484 # expression.
485 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
486 # reporting, e.g. a file name and a position in the file.
487 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
488 # describes the expression, e.g. when hovered over it in a UI.
489 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
490 # syntax.
491 },
492 &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
493 # `members` can have the following values:
494 #
495 # * `allUsers`: A special identifier that represents anyone who is
496 # on the internet; with or without a Google account.
497 #
498 # * `allAuthenticatedUsers`: A special identifier that represents anyone
499 # who is authenticated with a Google account or a service account.
500 #
501 # * `user:{emailid}`: An email address that represents a specific Google
502 # account. For example, `alice@example.com` .
503 #
504 #
505 # * `serviceAccount:{emailid}`: An email address that represents a service
506 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
507 #
508 # * `group:{emailid}`: An email address that represents a Google group.
509 # For example, `admins@example.com`.
510 #
511 # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
512 # identifier) representing a user that has been recently deleted. For
513 # example, `alice@example.com?uid=123456789012345678901`. If the user is
514 # recovered, this value reverts to `user:{emailid}` and the recovered user
515 # retains the role in the binding.
516 #
517 # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
518 # unique identifier) representing a service account that has been recently
519 # deleted. For example,
520 # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
521 # If the service account is undeleted, this value reverts to
522 # `serviceAccount:{emailid}` and the undeleted service account retains the
523 # role in the binding.
524 #
525 # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
526 # identifier) representing a Google group that has been recently
527 # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
528 # the group is recovered, this value reverts to `group:{emailid}` and the
529 # recovered group retains the role in the binding.
530 #
531 #
532 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
533 # users of that domain. For example, `google.com` or `example.com`.
534 #
535 &quot;A String&quot;,
536 ],
537 },
538 ],
539 &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
540 # prevent simultaneous updates of a policy from overwriting each other.
541 # It is strongly suggested that systems make use of the `etag` in the
542 # read-modify-write cycle to perform policy updates in order to avoid race
543 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
544 # systems are expected to put that etag in the request to `setIamPolicy` to
545 # ensure that their change will be applied to the same version of the policy.
546 #
547 # **Important:** If you use IAM Conditions, you must include the `etag` field
548 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
549 # you to overwrite a version `3` policy with a version `1` policy, and all of
550 # the conditions in the version `3` policy are lost.
551 &quot;version&quot;: 42, # Specifies the format of the policy.
552 #
553 # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
554 # are rejected.
555 #
556 # Any operation that affects conditional role bindings must specify version
557 # `3`. This requirement applies to the following operations:
558 #
559 # * Getting a policy that includes a conditional role binding
560 # * Adding a conditional role binding to a policy
561 # * Changing a conditional role binding in a policy
562 # * Removing any role binding, with or without a condition, from a policy
563 # that includes conditions
564 #
565 # **Important:** If you use IAM Conditions, you must include the `etag` field
566 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
567 # you to overwrite a version `3` policy with a version `1` policy, and all of
568 # the conditions in the version `3` policy are lost.
569 #
570 # If a policy does not include any conditions, operations on that policy may
571 # specify any valid version or leave the field unset.
572 #
573 # To learn which resources support conditions in their IAM policies, see the
574 # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
Bu Sun Kim65020912020-05-20 12:08:20 -0700575 &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
576 { # Specifies the audit configuration for a service.
577 # The configuration determines which permission types are logged, and what
578 # identities, if any, are exempted from logging.
579 # An AuditConfig must have one or more AuditLogConfigs.
580 #
581 # If there are AuditConfigs for both `allServices` and a specific service,
582 # the union of the two AuditConfigs is used for that service: the log_types
583 # specified in each AuditConfig are enabled, and the exempted_members in each
584 # AuditLogConfig are exempted.
585 #
586 # Example Policy with multiple AuditConfigs:
587 #
588 # {
589 # &quot;audit_configs&quot;: [
590 # {
591 # &quot;service&quot;: &quot;allServices&quot;
592 # &quot;audit_log_configs&quot;: [
593 # {
594 # &quot;log_type&quot;: &quot;DATA_READ&quot;,
595 # &quot;exempted_members&quot;: [
596 # &quot;user:jose@example.com&quot;
597 # ]
598 # },
599 # {
600 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
601 # },
602 # {
603 # &quot;log_type&quot;: &quot;ADMIN_READ&quot;,
604 # }
605 # ]
606 # },
607 # {
608 # &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;
609 # &quot;audit_log_configs&quot;: [
610 # {
611 # &quot;log_type&quot;: &quot;DATA_READ&quot;,
612 # },
613 # {
614 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
615 # &quot;exempted_members&quot;: [
616 # &quot;user:aliya@example.com&quot;
617 # ]
618 # }
619 # ]
620 # }
621 # ]
622 # }
623 #
624 # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
625 # logging. It also exempts jose@example.com from DATA_READ logging, and
626 # aliya@example.com from DATA_WRITE logging.
627 &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging.
628 # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
629 # `allServices` is a special value that covers all services.
630 &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
631 { # Provides the configuration for logging a type of permissions.
632 # Example:
633 #
634 # {
635 # &quot;audit_log_configs&quot;: [
636 # {
637 # &quot;log_type&quot;: &quot;DATA_READ&quot;,
638 # &quot;exempted_members&quot;: [
639 # &quot;user:jose@example.com&quot;
640 # ]
641 # },
642 # {
643 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
644 # }
645 # ]
646 # }
647 #
648 # This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting
649 # jose@example.com from DATA_READ logging.
650 &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of
651 # permission.
652 # Follows the same format of Binding.members.
653 &quot;A String&quot;,
654 ],
655 &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
656 },
657 ],
658 },
659 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700660 }</pre>
661</div>
662
663<div class="method">
664 <code class="details" id="list">list(parent, pageToken=None, pageSize=None, x__xgafv=None)</code>
665 <pre>Lists Secrets.
666
667Args:
668 parent: string, Required. The resource name of the project associated with the
669Secrets, in the format `projects/*`. (required)
670 pageToken: string, Optional. Pagination token, returned earlier via
671ListSecretsResponse.next_page_token.
672 pageSize: integer, Optional. The maximum number of results to be returned in a single page. If
673set to 0, the server decides the number of results to return. If the
674number is greater than 25000, it is capped at 25000.
675 x__xgafv: string, V1 error format.
676 Allowed values
677 1 - v1 error format
678 2 - v2 error format
679
680Returns:
681 An object of the form:
682
683 { # Response message for SecretManagerService.ListSecrets.
Bu Sun Kim65020912020-05-20 12:08:20 -0700684 &quot;secrets&quot;: [ # The list of Secrets sorted in reverse by create_time (newest
685 # first).
686 { # A Secret is a logical secret whose value and versions can
687 # be accessed.
688 #
689 # A Secret is made up of zero or more SecretVersions that
690 # represent the secret data.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700691 &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the Secret in the format `projects/*/secrets/*`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700692 &quot;replication&quot;: { # A policy that defines the replication configuration of data. # Required. Immutable. The replication policy of the secret data attached to the Secret.
693 #
694 # The replication policy cannot be changed after the Secret has been created.
695 &quot;userManaged&quot;: { # A replication policy that replicates the Secret payload into the # The Secret will only be replicated into the locations specified.
696 # locations specified in Secret.replication.user_managed.replicas
697 &quot;replicas&quot;: [ # Required. The list of Replicas for this Secret.
698 #
699 # Cannot be empty.
700 { # Represents a Replica for this Secret.
701 &quot;location&quot;: &quot;A String&quot;, # The canonical IDs of the location to replicate data.
702 # For example: `&quot;us-east1&quot;`.
703 },
704 ],
705 },
706 &quot;automatic&quot;: { # A replication policy that replicates the Secret payload without any # The Secret will automatically be replicated without any restrictions.
707 # restrictions.
708 },
709 },
710 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the Secret was created.
711 &quot;labels&quot;: { # The labels assigned to this Secret.
712 #
713 # Label keys must be between 1 and 63 characters long, have a UTF-8 encoding
714 # of maximum 128 bytes, and must conform to the following PCRE regular
715 # expression: `\p{Ll}\p{Lo}{0,62}`
716 #
717 # Label values must be between 0 and 63 characters long, have a UTF-8
718 # encoding of maximum 128 bytes, and must conform to the following PCRE
719 # regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}`
720 #
721 # No more than 64 labels can be assigned to a given resource.
722 &quot;a_key&quot;: &quot;A String&quot;,
723 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700724 },
725 ],
726 &quot;nextPageToken&quot;: &quot;A String&quot;, # A token to retrieve the next page of results. Pass this value in
727 # ListSecretsRequest.page_token to retrieve the next page.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700728 &quot;totalSize&quot;: 42, # The total number of Secrets.
Bu Sun Kim65020912020-05-20 12:08:20 -0700729 }</pre>
730</div>
731
732<div class="method">
733 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
734 <pre>Retrieves the next page of results.
735
736Args:
737 previous_request: The request for the previous page. (required)
738 previous_response: The response from the request for the previous page. (required)
739
740Returns:
741 A request object that you can call &#x27;execute()&#x27; on to request the next
742 page. Returns None if there are no more items in the collection.
743 </pre>
744</div>
745
746<div class="method">
747 <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
748 <pre>Updates metadata of an existing Secret.
749
750Args:
751 name: string, Output only. The resource name of the Secret in the format `projects/*/secrets/*`. (required)
752 body: object, The request body.
753 The object takes the form of:
754
755{ # A Secret is a logical secret whose value and versions can
756 # be accessed.
757 #
758 # A Secret is made up of zero or more SecretVersions that
759 # represent the secret data.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700760 &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the Secret in the format `projects/*/secrets/*`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700761 &quot;replication&quot;: { # A policy that defines the replication configuration of data. # Required. Immutable. The replication policy of the secret data attached to the Secret.
762 #
763 # The replication policy cannot be changed after the Secret has been created.
764 &quot;userManaged&quot;: { # A replication policy that replicates the Secret payload into the # The Secret will only be replicated into the locations specified.
765 # locations specified in Secret.replication.user_managed.replicas
766 &quot;replicas&quot;: [ # Required. The list of Replicas for this Secret.
767 #
768 # Cannot be empty.
769 { # Represents a Replica for this Secret.
770 &quot;location&quot;: &quot;A String&quot;, # The canonical IDs of the location to replicate data.
771 # For example: `&quot;us-east1&quot;`.
772 },
773 ],
774 },
775 &quot;automatic&quot;: { # A replication policy that replicates the Secret payload without any # The Secret will automatically be replicated without any restrictions.
776 # restrictions.
777 },
778 },
779 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the Secret was created.
780 &quot;labels&quot;: { # The labels assigned to this Secret.
781 #
782 # Label keys must be between 1 and 63 characters long, have a UTF-8 encoding
783 # of maximum 128 bytes, and must conform to the following PCRE regular
784 # expression: `\p{Ll}\p{Lo}{0,62}`
785 #
786 # Label values must be between 0 and 63 characters long, have a UTF-8
787 # encoding of maximum 128 bytes, and must conform to the following PCRE
788 # regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}`
789 #
790 # No more than 64 labels can be assigned to a given resource.
791 &quot;a_key&quot;: &quot;A String&quot;,
792 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700793}
794
795 updateMask: string, Required. Specifies the fields to be updated.
796 x__xgafv: string, V1 error format.
797 Allowed values
798 1 - v1 error format
799 2 - v2 error format
800
801Returns:
802 An object of the form:
803
804 { # A Secret is a logical secret whose value and versions can
805 # be accessed.
806 #
807 # A Secret is made up of zero or more SecretVersions that
808 # represent the secret data.
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700809 &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the Secret in the format `projects/*/secrets/*`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700810 &quot;replication&quot;: { # A policy that defines the replication configuration of data. # Required. Immutable. The replication policy of the secret data attached to the Secret.
811 #
812 # The replication policy cannot be changed after the Secret has been created.
813 &quot;userManaged&quot;: { # A replication policy that replicates the Secret payload into the # The Secret will only be replicated into the locations specified.
814 # locations specified in Secret.replication.user_managed.replicas
815 &quot;replicas&quot;: [ # Required. The list of Replicas for this Secret.
816 #
817 # Cannot be empty.
818 { # Represents a Replica for this Secret.
819 &quot;location&quot;: &quot;A String&quot;, # The canonical IDs of the location to replicate data.
820 # For example: `&quot;us-east1&quot;`.
821 },
822 ],
823 },
824 &quot;automatic&quot;: { # A replication policy that replicates the Secret payload without any # The Secret will automatically be replicated without any restrictions.
825 # restrictions.
826 },
827 },
828 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the Secret was created.
829 &quot;labels&quot;: { # The labels assigned to this Secret.
830 #
831 # Label keys must be between 1 and 63 characters long, have a UTF-8 encoding
832 # of maximum 128 bytes, and must conform to the following PCRE regular
833 # expression: `\p{Ll}\p{Lo}{0,62}`
834 #
835 # Label values must be between 0 and 63 characters long, have a UTF-8
836 # encoding of maximum 128 bytes, and must conform to the following PCRE
837 # regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}`
838 #
839 # No more than 64 labels can be assigned to a given resource.
840 &quot;a_key&quot;: &quot;A String&quot;,
841 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700842 }</pre>
843</div>
844
845<div class="method">
846 <code class="details" id="setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</code>
847 <pre>Sets the access control policy on the specified secret. Replaces any
848existing policy.
849
850Permissions on SecretVersions are enforced according
851to the policy set on the associated Secret.
852
853Args:
854 resource: string, REQUIRED: The resource for which the policy is being specified.
855See the operation documentation for the appropriate value for this field. (required)
856 body: object, The request body.
857 The object takes the form of:
858
859{ # Request message for `SetIamPolicy` method.
860 &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
861 # the policy is limited to a few 10s of KB. An empty policy is a
862 # valid policy but certain Cloud Platform services (such as Projects)
863 # might reject them.
864 # controls for Google Cloud resources.
865 #
866 #
867 # A `Policy` is a collection of `bindings`. A `binding` binds one or more
868 # `members` to a single `role`. Members can be user accounts, service accounts,
869 # Google groups, and domains (such as G Suite). A `role` is a named list of
870 # permissions; each `role` can be an IAM predefined role or a user-created
871 # custom role.
872 #
873 # For some types of Google Cloud resources, a `binding` can also specify a
874 # `condition`, which is a logical expression that allows access to a resource
875 # only if the expression evaluates to `true`. A condition can add constraints
876 # based on attributes of the request, the resource, or both. To learn which
877 # resources support conditions in their IAM policies, see the
878 # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
879 #
880 # **JSON example:**
881 #
882 # {
883 # &quot;bindings&quot;: [
884 # {
885 # &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;,
886 # &quot;members&quot;: [
887 # &quot;user:mike@example.com&quot;,
888 # &quot;group:admins@example.com&quot;,
889 # &quot;domain:google.com&quot;,
890 # &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot;
891 # ]
892 # },
893 # {
894 # &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;,
895 # &quot;members&quot;: [
896 # &quot;user:eve@example.com&quot;
897 # ],
898 # &quot;condition&quot;: {
899 # &quot;title&quot;: &quot;expirable access&quot;,
900 # &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;,
901 # &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;,
902 # }
903 # }
904 # ],
905 # &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;,
906 # &quot;version&quot;: 3
907 # }
908 #
909 # **YAML example:**
910 #
911 # bindings:
912 # - members:
913 # - user:mike@example.com
914 # - group:admins@example.com
915 # - domain:google.com
916 # - serviceAccount:my-project-id@appspot.gserviceaccount.com
917 # role: roles/resourcemanager.organizationAdmin
918 # - members:
919 # - user:eve@example.com
920 # role: roles/resourcemanager.organizationViewer
921 # condition:
922 # title: expirable access
923 # description: Does not grant access after Sep 2020
924 # expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)
925 # - etag: BwWWja0YfJA=
926 # - version: 3
927 #
928 # For a description of IAM and its features, see the
929 # [IAM documentation](https://cloud.google.com/iam/docs/).
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -0700930 &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
931 # `condition` that determines how and when the `bindings` are applied. Each
932 # of the `bindings` must contain at least one member.
933 { # Associates `members` with a `role`.
934 &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
935 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
936 &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
937 #
938 # If the condition evaluates to `true`, then this binding applies to the
939 # current request.
940 #
941 # If the condition evaluates to `false`, then this binding does not apply to
942 # the current request. However, a different role binding might grant the same
943 # role to one or more of the members in this binding.
944 #
945 # To learn which resources support conditions in their IAM policies, see the
946 # [IAM
947 # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
948 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
949 # are documented at https://github.com/google/cel-spec.
950 #
951 # Example (Comparison):
952 #
953 # title: &quot;Summary size limit&quot;
954 # description: &quot;Determines if a summary is less than 100 chars&quot;
955 # expression: &quot;document.summary.size() &lt; 100&quot;
956 #
957 # Example (Equality):
958 #
959 # title: &quot;Requestor is owner&quot;
960 # description: &quot;Determines if requestor is the document owner&quot;
961 # expression: &quot;document.owner == request.auth.claims.email&quot;
962 #
963 # Example (Logic):
964 #
965 # title: &quot;Public documents&quot;
966 # description: &quot;Determine whether the document should be publicly visible&quot;
967 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
968 #
969 # Example (Data Manipulation):
970 #
971 # title: &quot;Notification string&quot;
972 # description: &quot;Create a notification string with a timestamp.&quot;
973 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
974 #
975 # The exact variables and functions that may be referenced within an expression
976 # are determined by the service that evaluates it. See the service
977 # documentation for additional information.
978 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
979 # its purpose. This can be used e.g. in UIs which allow to enter the
980 # expression.
981 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
982 # reporting, e.g. a file name and a position in the file.
983 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
984 # describes the expression, e.g. when hovered over it in a UI.
985 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
986 # syntax.
987 },
988 &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
989 # `members` can have the following values:
990 #
991 # * `allUsers`: A special identifier that represents anyone who is
992 # on the internet; with or without a Google account.
993 #
994 # * `allAuthenticatedUsers`: A special identifier that represents anyone
995 # who is authenticated with a Google account or a service account.
996 #
997 # * `user:{emailid}`: An email address that represents a specific Google
998 # account. For example, `alice@example.com` .
999 #
1000 #
1001 # * `serviceAccount:{emailid}`: An email address that represents a service
1002 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
1003 #
1004 # * `group:{emailid}`: An email address that represents a Google group.
1005 # For example, `admins@example.com`.
1006 #
1007 # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
1008 # identifier) representing a user that has been recently deleted. For
1009 # example, `alice@example.com?uid=123456789012345678901`. If the user is
1010 # recovered, this value reverts to `user:{emailid}` and the recovered user
1011 # retains the role in the binding.
1012 #
1013 # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
1014 # unique identifier) representing a service account that has been recently
1015 # deleted. For example,
1016 # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
1017 # If the service account is undeleted, this value reverts to
1018 # `serviceAccount:{emailid}` and the undeleted service account retains the
1019 # role in the binding.
1020 #
1021 # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
1022 # identifier) representing a Google group that has been recently
1023 # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
1024 # the group is recovered, this value reverts to `group:{emailid}` and the
1025 # recovered group retains the role in the binding.
1026 #
1027 #
1028 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
1029 # users of that domain. For example, `google.com` or `example.com`.
1030 #
1031 &quot;A String&quot;,
1032 ],
1033 },
1034 ],
1035 &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
1036 # prevent simultaneous updates of a policy from overwriting each other.
1037 # It is strongly suggested that systems make use of the `etag` in the
1038 # read-modify-write cycle to perform policy updates in order to avoid race
1039 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
1040 # systems are expected to put that etag in the request to `setIamPolicy` to
1041 # ensure that their change will be applied to the same version of the policy.
1042 #
1043 # **Important:** If you use IAM Conditions, you must include the `etag` field
1044 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1045 # you to overwrite a version `3` policy with a version `1` policy, and all of
1046 # the conditions in the version `3` policy are lost.
1047 &quot;version&quot;: 42, # Specifies the format of the policy.
1048 #
1049 # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
1050 # are rejected.
1051 #
1052 # Any operation that affects conditional role bindings must specify version
1053 # `3`. This requirement applies to the following operations:
1054 #
1055 # * Getting a policy that includes a conditional role binding
1056 # * Adding a conditional role binding to a policy
1057 # * Changing a conditional role binding in a policy
1058 # * Removing any role binding, with or without a condition, from a policy
1059 # that includes conditions
1060 #
1061 # **Important:** If you use IAM Conditions, you must include the `etag` field
1062 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1063 # you to overwrite a version `3` policy with a version `1` policy, and all of
1064 # the conditions in the version `3` policy are lost.
1065 #
1066 # If a policy does not include any conditions, operations on that policy may
1067 # specify any valid version or leave the field unset.
1068 #
1069 # To learn which resources support conditions in their IAM policies, see the
1070 # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
Bu Sun Kim65020912020-05-20 12:08:20 -07001071 &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
1072 { # Specifies the audit configuration for a service.
1073 # The configuration determines which permission types are logged, and what
1074 # identities, if any, are exempted from logging.
1075 # An AuditConfig must have one or more AuditLogConfigs.
1076 #
1077 # If there are AuditConfigs for both `allServices` and a specific service,
1078 # the union of the two AuditConfigs is used for that service: the log_types
1079 # specified in each AuditConfig are enabled, and the exempted_members in each
1080 # AuditLogConfig are exempted.
1081 #
1082 # Example Policy with multiple AuditConfigs:
1083 #
1084 # {
1085 # &quot;audit_configs&quot;: [
1086 # {
1087 # &quot;service&quot;: &quot;allServices&quot;
1088 # &quot;audit_log_configs&quot;: [
1089 # {
1090 # &quot;log_type&quot;: &quot;DATA_READ&quot;,
1091 # &quot;exempted_members&quot;: [
1092 # &quot;user:jose@example.com&quot;
1093 # ]
1094 # },
1095 # {
1096 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
1097 # },
1098 # {
1099 # &quot;log_type&quot;: &quot;ADMIN_READ&quot;,
1100 # }
1101 # ]
1102 # },
1103 # {
1104 # &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;
1105 # &quot;audit_log_configs&quot;: [
1106 # {
1107 # &quot;log_type&quot;: &quot;DATA_READ&quot;,
1108 # },
1109 # {
1110 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
1111 # &quot;exempted_members&quot;: [
1112 # &quot;user:aliya@example.com&quot;
1113 # ]
1114 # }
1115 # ]
1116 # }
1117 # ]
1118 # }
1119 #
1120 # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
1121 # logging. It also exempts jose@example.com from DATA_READ logging, and
1122 # aliya@example.com from DATA_WRITE logging.
1123 &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging.
1124 # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
1125 # `allServices` is a special value that covers all services.
1126 &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
1127 { # Provides the configuration for logging a type of permissions.
1128 # Example:
1129 #
1130 # {
1131 # &quot;audit_log_configs&quot;: [
1132 # {
1133 # &quot;log_type&quot;: &quot;DATA_READ&quot;,
1134 # &quot;exempted_members&quot;: [
1135 # &quot;user:jose@example.com&quot;
1136 # ]
1137 # },
1138 # {
1139 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
1140 # }
1141 # ]
1142 # }
1143 #
1144 # This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting
1145 # jose@example.com from DATA_READ logging.
1146 &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of
1147 # permission.
1148 # Follows the same format of Binding.members.
1149 &quot;A String&quot;,
1150 ],
1151 &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
1152 },
1153 ],
1154 },
1155 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001156 },
1157 &quot;updateMask&quot;: &quot;A String&quot;, # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
1158 # the fields in the mask will be modified. If no mask is provided, the
1159 # following default mask is used:
1160 #
1161 # `paths: &quot;bindings, etag&quot;`
1162 }
1163
1164 x__xgafv: string, V1 error format.
1165 Allowed values
1166 1 - v1 error format
1167 2 - v2 error format
1168
1169Returns:
1170 An object of the form:
1171
1172 { # An Identity and Access Management (IAM) policy, which specifies access
1173 # controls for Google Cloud resources.
1174 #
1175 #
1176 # A `Policy` is a collection of `bindings`. A `binding` binds one or more
1177 # `members` to a single `role`. Members can be user accounts, service accounts,
1178 # Google groups, and domains (such as G Suite). A `role` is a named list of
1179 # permissions; each `role` can be an IAM predefined role or a user-created
1180 # custom role.
1181 #
1182 # For some types of Google Cloud resources, a `binding` can also specify a
1183 # `condition`, which is a logical expression that allows access to a resource
1184 # only if the expression evaluates to `true`. A condition can add constraints
1185 # based on attributes of the request, the resource, or both. To learn which
1186 # resources support conditions in their IAM policies, see the
1187 # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
1188 #
1189 # **JSON example:**
1190 #
1191 # {
1192 # &quot;bindings&quot;: [
1193 # {
1194 # &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;,
1195 # &quot;members&quot;: [
1196 # &quot;user:mike@example.com&quot;,
1197 # &quot;group:admins@example.com&quot;,
1198 # &quot;domain:google.com&quot;,
1199 # &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot;
1200 # ]
1201 # },
1202 # {
1203 # &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;,
1204 # &quot;members&quot;: [
1205 # &quot;user:eve@example.com&quot;
1206 # ],
1207 # &quot;condition&quot;: {
1208 # &quot;title&quot;: &quot;expirable access&quot;,
1209 # &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;,
1210 # &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;,
1211 # }
1212 # }
1213 # ],
1214 # &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;,
1215 # &quot;version&quot;: 3
1216 # }
1217 #
1218 # **YAML example:**
1219 #
1220 # bindings:
1221 # - members:
1222 # - user:mike@example.com
1223 # - group:admins@example.com
1224 # - domain:google.com
1225 # - serviceAccount:my-project-id@appspot.gserviceaccount.com
1226 # role: roles/resourcemanager.organizationAdmin
1227 # - members:
1228 # - user:eve@example.com
1229 # role: roles/resourcemanager.organizationViewer
1230 # condition:
1231 # title: expirable access
1232 # description: Does not grant access after Sep 2020
1233 # expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)
1234 # - etag: BwWWja0YfJA=
1235 # - version: 3
1236 #
1237 # For a description of IAM and its features, see the
1238 # [IAM documentation](https://cloud.google.com/iam/docs/).
Bu Sun Kim4ed7d3f2020-05-27 12:20:54 -07001239 &quot;bindings&quot;: [ # Associates a list of `members` to a `role`. Optionally, may specify a
1240 # `condition` that determines how and when the `bindings` are applied. Each
1241 # of the `bindings` must contain at least one member.
1242 { # Associates `members` with a `role`.
1243 &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to `members`.
1244 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
1245 &quot;condition&quot;: { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
1246 #
1247 # If the condition evaluates to `true`, then this binding applies to the
1248 # current request.
1249 #
1250 # If the condition evaluates to `false`, then this binding does not apply to
1251 # the current request. However, a different role binding might grant the same
1252 # role to one or more of the members in this binding.
1253 #
1254 # To learn which resources support conditions in their IAM policies, see the
1255 # [IAM
1256 # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
1257 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
1258 # are documented at https://github.com/google/cel-spec.
1259 #
1260 # Example (Comparison):
1261 #
1262 # title: &quot;Summary size limit&quot;
1263 # description: &quot;Determines if a summary is less than 100 chars&quot;
1264 # expression: &quot;document.summary.size() &lt; 100&quot;
1265 #
1266 # Example (Equality):
1267 #
1268 # title: &quot;Requestor is owner&quot;
1269 # description: &quot;Determines if requestor is the document owner&quot;
1270 # expression: &quot;document.owner == request.auth.claims.email&quot;
1271 #
1272 # Example (Logic):
1273 #
1274 # title: &quot;Public documents&quot;
1275 # description: &quot;Determine whether the document should be publicly visible&quot;
1276 # expression: &quot;document.type != &#x27;private&#x27; &amp;&amp; document.type != &#x27;internal&#x27;&quot;
1277 #
1278 # Example (Data Manipulation):
1279 #
1280 # title: &quot;Notification string&quot;
1281 # description: &quot;Create a notification string with a timestamp.&quot;
1282 # expression: &quot;&#x27;New message received at &#x27; + string(document.create_time)&quot;
1283 #
1284 # The exact variables and functions that may be referenced within an expression
1285 # are determined by the service that evaluates it. See the service
1286 # documentation for additional information.
1287 &quot;title&quot;: &quot;A String&quot;, # Optional. Title for the expression, i.e. a short string describing
1288 # its purpose. This can be used e.g. in UIs which allow to enter the
1289 # expression.
1290 &quot;location&quot;: &quot;A String&quot;, # Optional. String indicating the location of the expression for error
1291 # reporting, e.g. a file name and a position in the file.
1292 &quot;description&quot;: &quot;A String&quot;, # Optional. Description of the expression. This is a longer text which
1293 # describes the expression, e.g. when hovered over it in a UI.
1294 &quot;expression&quot;: &quot;A String&quot;, # Textual representation of an expression in Common Expression Language
1295 # syntax.
1296 },
1297 &quot;members&quot;: [ # Specifies the identities requesting access for a Cloud Platform resource.
1298 # `members` can have the following values:
1299 #
1300 # * `allUsers`: A special identifier that represents anyone who is
1301 # on the internet; with or without a Google account.
1302 #
1303 # * `allAuthenticatedUsers`: A special identifier that represents anyone
1304 # who is authenticated with a Google account or a service account.
1305 #
1306 # * `user:{emailid}`: An email address that represents a specific Google
1307 # account. For example, `alice@example.com` .
1308 #
1309 #
1310 # * `serviceAccount:{emailid}`: An email address that represents a service
1311 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
1312 #
1313 # * `group:{emailid}`: An email address that represents a Google group.
1314 # For example, `admins@example.com`.
1315 #
1316 # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
1317 # identifier) representing a user that has been recently deleted. For
1318 # example, `alice@example.com?uid=123456789012345678901`. If the user is
1319 # recovered, this value reverts to `user:{emailid}` and the recovered user
1320 # retains the role in the binding.
1321 #
1322 # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
1323 # unique identifier) representing a service account that has been recently
1324 # deleted. For example,
1325 # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
1326 # If the service account is undeleted, this value reverts to
1327 # `serviceAccount:{emailid}` and the undeleted service account retains the
1328 # role in the binding.
1329 #
1330 # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
1331 # identifier) representing a Google group that has been recently
1332 # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
1333 # the group is recovered, this value reverts to `group:{emailid}` and the
1334 # recovered group retains the role in the binding.
1335 #
1336 #
1337 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
1338 # users of that domain. For example, `google.com` or `example.com`.
1339 #
1340 &quot;A String&quot;,
1341 ],
1342 },
1343 ],
1344 &quot;etag&quot;: &quot;A String&quot;, # `etag` is used for optimistic concurrency control as a way to help
1345 # prevent simultaneous updates of a policy from overwriting each other.
1346 # It is strongly suggested that systems make use of the `etag` in the
1347 # read-modify-write cycle to perform policy updates in order to avoid race
1348 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
1349 # systems are expected to put that etag in the request to `setIamPolicy` to
1350 # ensure that their change will be applied to the same version of the policy.
1351 #
1352 # **Important:** If you use IAM Conditions, you must include the `etag` field
1353 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1354 # you to overwrite a version `3` policy with a version `1` policy, and all of
1355 # the conditions in the version `3` policy are lost.
1356 &quot;version&quot;: 42, # Specifies the format of the policy.
1357 #
1358 # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
1359 # are rejected.
1360 #
1361 # Any operation that affects conditional role bindings must specify version
1362 # `3`. This requirement applies to the following operations:
1363 #
1364 # * Getting a policy that includes a conditional role binding
1365 # * Adding a conditional role binding to a policy
1366 # * Changing a conditional role binding in a policy
1367 # * Removing any role binding, with or without a condition, from a policy
1368 # that includes conditions
1369 #
1370 # **Important:** If you use IAM Conditions, you must include the `etag` field
1371 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1372 # you to overwrite a version `3` policy with a version `1` policy, and all of
1373 # the conditions in the version `3` policy are lost.
1374 #
1375 # If a policy does not include any conditions, operations on that policy may
1376 # specify any valid version or leave the field unset.
1377 #
1378 # To learn which resources support conditions in their IAM policies, see the
1379 # [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
Bu Sun Kim65020912020-05-20 12:08:20 -07001380 &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
1381 { # Specifies the audit configuration for a service.
1382 # The configuration determines which permission types are logged, and what
1383 # identities, if any, are exempted from logging.
1384 # An AuditConfig must have one or more AuditLogConfigs.
1385 #
1386 # If there are AuditConfigs for both `allServices` and a specific service,
1387 # the union of the two AuditConfigs is used for that service: the log_types
1388 # specified in each AuditConfig are enabled, and the exempted_members in each
1389 # AuditLogConfig are exempted.
1390 #
1391 # Example Policy with multiple AuditConfigs:
1392 #
1393 # {
1394 # &quot;audit_configs&quot;: [
1395 # {
1396 # &quot;service&quot;: &quot;allServices&quot;
1397 # &quot;audit_log_configs&quot;: [
1398 # {
1399 # &quot;log_type&quot;: &quot;DATA_READ&quot;,
1400 # &quot;exempted_members&quot;: [
1401 # &quot;user:jose@example.com&quot;
1402 # ]
1403 # },
1404 # {
1405 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
1406 # },
1407 # {
1408 # &quot;log_type&quot;: &quot;ADMIN_READ&quot;,
1409 # }
1410 # ]
1411 # },
1412 # {
1413 # &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;
1414 # &quot;audit_log_configs&quot;: [
1415 # {
1416 # &quot;log_type&quot;: &quot;DATA_READ&quot;,
1417 # },
1418 # {
1419 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
1420 # &quot;exempted_members&quot;: [
1421 # &quot;user:aliya@example.com&quot;
1422 # ]
1423 # }
1424 # ]
1425 # }
1426 # ]
1427 # }
1428 #
1429 # For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
1430 # logging. It also exempts jose@example.com from DATA_READ logging, and
1431 # aliya@example.com from DATA_WRITE logging.
1432 &quot;service&quot;: &quot;A String&quot;, # Specifies a service that will be enabled for audit logging.
1433 # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
1434 # `allServices` is a special value that covers all services.
1435 &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
1436 { # Provides the configuration for logging a type of permissions.
1437 # Example:
1438 #
1439 # {
1440 # &quot;audit_log_configs&quot;: [
1441 # {
1442 # &quot;log_type&quot;: &quot;DATA_READ&quot;,
1443 # &quot;exempted_members&quot;: [
1444 # &quot;user:jose@example.com&quot;
1445 # ]
1446 # },
1447 # {
1448 # &quot;log_type&quot;: &quot;DATA_WRITE&quot;,
1449 # }
1450 # ]
1451 # }
1452 #
1453 # This enables &#x27;DATA_READ&#x27; and &#x27;DATA_WRITE&#x27; logging, while exempting
1454 # jose@example.com from DATA_READ logging.
1455 &quot;exemptedMembers&quot;: [ # Specifies the identities that do not cause logging for this type of
1456 # permission.
1457 # Follows the same format of Binding.members.
1458 &quot;A String&quot;,
1459 ],
1460 &quot;logType&quot;: &quot;A String&quot;, # The log type that this config enables.
1461 },
1462 ],
1463 },
1464 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001465 }</pre>
1466</div>
1467
1468<div class="method">
1469 <code class="details" id="testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</code>
1470 <pre>Returns permissions that a caller has for the specified secret.
1471If the secret does not exist, this call returns an empty set of
1472permissions, not a NOT_FOUND error.
1473
1474Note: This operation is designed to be used for building permission-aware
1475UIs and command-line tools, not for authorization checking. This operation
1476may &quot;fail open&quot; without warning.
1477
1478Args:
1479 resource: string, REQUIRED: The resource for which the policy detail is being requested.
1480See the operation documentation for the appropriate value for this field. (required)
1481 body: object, The request body.
1482 The object takes the form of:
1483
1484{ # Request message for `TestIamPermissions` method.
1485 &quot;permissions&quot;: [ # The set of permissions to check for the `resource`. Permissions with
1486 # wildcards (such as &#x27;*&#x27; or &#x27;storage.*&#x27;) are not allowed. For more
1487 # information see
1488 # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
1489 &quot;A String&quot;,
1490 ],
1491 }
1492
1493 x__xgafv: string, V1 error format.
1494 Allowed values
1495 1 - v1 error format
1496 2 - v2 error format
1497
1498Returns:
1499 An object of the form:
1500
1501 { # Response message for `TestIamPermissions` method.
1502 &quot;permissions&quot;: [ # A subset of `TestPermissionsRequest.permissions` that the caller is
1503 # allowed.
1504 &quot;A String&quot;,
1505 ],
1506 }</pre>
1507</div>
1508
1509</body></html>