blob: 4435f8fdc9cbf0fcbe392dfb455e4ca67a503e27 [file] [log] [blame]
Craig Citroe633be12015-03-02 13:40:36 -08001<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
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070075<h1><a href="pubsub_v1beta2.html">Cloud Pub/Sub API</a> . <a href="pubsub_v1beta2.projects.html">projects</a> . <a href="pubsub_v1beta2.projects.topics.html">topics</a></h1>
Craig Citroe633be12015-03-02 13:40:36 -080076<h2>Instance Methods</h2>
77<p class="toc_element">
78 <code><a href="pubsub_v1beta2.projects.topics.subscriptions.html">subscriptions()</a></code>
79</p>
80<p class="firstline">Returns the subscriptions Resource.</p>
81
82<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070083 <code><a href="#create">create(name, body=None, x__xgafv=None)</a></code></p>
Craig Citroe633be12015-03-02 13:40:36 -080084<p class="firstline">Creates the given topic with the given name.</p>
85<p class="toc_element">
Nathaniel Manista4f877e52015-06-15 16:44:50 +000086 <code><a href="#delete">delete(topic, x__xgafv=None)</a></code></p>
Jon Wayne Parrott692617a2017-01-06 09:58:29 -080087<p class="firstline">Deletes the topic with the given name. Returns `NOT_FOUND` if the topic</p>
Craig Citroe633be12015-03-02 13:40:36 -080088<p class="toc_element">
Nathaniel Manista4f877e52015-06-15 16:44:50 +000089 <code><a href="#get">get(topic, x__xgafv=None)</a></code></p>
Craig Citroe633be12015-03-02 13:40:36 -080090<p class="firstline">Gets the configuration of a topic.</p>
91<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070092 <code><a href="#getIamPolicy">getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)</a></code></p>
Jon Wayne Parrott692617a2017-01-06 09:58:29 -080093<p class="firstline">Gets the access control policy for a resource.</p>
Nathaniel Manista4f877e52015-06-15 16:44:50 +000094<p class="toc_element">
95 <code><a href="#list">list(project, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
Craig Citroe633be12015-03-02 13:40:36 -080096<p class="firstline">Lists matching topics.</p>
97<p class="toc_element">
98 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
99<p class="firstline">Retrieves the next page of results.</p>
100<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -0700101 <code><a href="#publish">publish(topic, body=None, x__xgafv=None)</a></code></p>
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800102<p class="firstline">Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic</p>
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000103<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -0700104 <code><a href="#setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800105<p class="firstline">Sets the access control policy on the specified resource. Replaces any</p>
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000106<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -0700107 <code><a href="#testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</a></code></p>
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000108<p class="firstline">Returns permissions that a caller has on the specified resource.</p>
Craig Citroe633be12015-03-02 13:40:36 -0800109<h3>Method Details</h3>
110<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700111 <code class="details" id="create">create(name, body=None, x__xgafv=None)</code>
Craig Citroe633be12015-03-02 13:40:36 -0800112 <pre>Creates the given topic with the given name.
113
114Args:
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800115 name: string, The name of the topic. It must have the format
116`"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
117and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
118underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
119signs (`%`). It must be between 3 and 255 characters in length, and it
120must not start with `"goog"`. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700121 body: object, The request body.
Craig Citroe633be12015-03-02 13:40:36 -0800122 The object takes the form of:
123
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000124{ # A topic resource.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800125 "name": "A String", # The name of the topic. It must have the format
126 # `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
127 # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
128 # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
129 # signs (`%`). It must be between 3 and 255 characters in length, and it
130 # must not start with `"goog"`.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000131}
Craig Citroe633be12015-03-02 13:40:36 -0800132
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000133 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800134 Allowed values
135 1 - v1 error format
136 2 - v2 error format
Craig Citroe633be12015-03-02 13:40:36 -0800137
138Returns:
139 An object of the form:
140
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000141 { # A topic resource.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800142 "name": "A String", # The name of the topic. It must have the format
143 # `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
144 # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
145 # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
146 # signs (`%`). It must be between 3 and 255 characters in length, and it
147 # must not start with `"goog"`.
Craig Citroe633be12015-03-02 13:40:36 -0800148 }</pre>
149</div>
150
151<div class="method">
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000152 <code class="details" id="delete">delete(topic, x__xgafv=None)</code>
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800153 <pre>Deletes the topic with the given name. Returns `NOT_FOUND` if the topic
154does not exist. After a topic is deleted, a new topic may be created with
155the same name; this is an entirely new topic with none of the old
156configuration or subscriptions. Existing subscriptions to this topic are
157not deleted, but their `topic` field is set to `_deleted-topic_`.
Craig Citroe633be12015-03-02 13:40:36 -0800158
159Args:
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000160 topic: string, Name of the topic to delete. (required)
161 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800162 Allowed values
163 1 - v1 error format
164 2 - v2 error format
Craig Citroe633be12015-03-02 13:40:36 -0800165
166Returns:
167 An object of the form:
168
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800169 { # A generic empty message that you can re-use to avoid defining duplicated
170 # empty messages in your APIs. A typical example is to use it as the request
171 # or the response type of an API method. For instance:
172 #
173 # service Foo {
174 # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
175 # }
176 #
177 # The JSON representation for `Empty` is empty JSON object `{}`.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000178 }</pre>
Craig Citroe633be12015-03-02 13:40:36 -0800179</div>
180
181<div class="method">
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000182 <code class="details" id="get">get(topic, x__xgafv=None)</code>
183 <pre>Gets the configuration of a topic.
Craig Citroe633be12015-03-02 13:40:36 -0800184
185Args:
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000186 topic: string, The name of the topic to get. (required)
187 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800188 Allowed values
189 1 - v1 error format
190 2 - v2 error format
Craig Citroe633be12015-03-02 13:40:36 -0800191
192Returns:
193 An object of the form:
194
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000195 { # A topic resource.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800196 "name": "A String", # The name of the topic. It must have the format
197 # `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
198 # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
199 # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
200 # signs (`%`). It must be between 3 and 255 characters in length, and it
201 # must not start with `"goog"`.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000202 }</pre>
203</div>
204
205<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700206 <code class="details" id="getIamPolicy">getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)</code>
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800207 <pre>Gets the access control policy for a resource.
208Returns an empty policy if the resource exists and does not have a policy
209set.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000210
211Args:
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800212 resource: string, REQUIRED: The resource for which the policy is being requested.
Sai Cheemalapatie833b792017-03-24 15:06:46 -0700213See the operation documentation for the appropriate value for this field. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700214 options_requestedPolicyVersion: integer, Optional. The policy format version to be returned.
215
216Valid values are 0, 1, and 3. Requests specifying an invalid value will be
217rejected.
218
219Requests for policies with any conditional bindings must specify version 3.
220Policies without any conditional bindings may specify any valid value or
221leave the field unset.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000222 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800223 Allowed values
224 1 - v1 error format
225 2 - v2 error format
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000226
227Returns:
228 An object of the form:
229
Dan O'Mearadd494642020-05-01 07:42:23 -0700230 { # An Identity and Access Management (IAM) policy, which specifies access
231 # controls for Google Cloud resources.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800232 #
233 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700234 # A `Policy` is a collection of `bindings`. A `binding` binds one or more
235 # `members` to a single `role`. Members can be user accounts, service accounts,
236 # Google groups, and domains (such as G Suite). A `role` is a named list of
237 # permissions; each `role` can be an IAM predefined role or a user-created
238 # custom role.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800239 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700240 # Optionally, a `binding` can specify a `condition`, which is a logical
241 # expression that allows access to a resource only if the expression evaluates
242 # to `true`. A condition can add constraints based on attributes of the
243 # request, the resource, or both.
244 #
245 # **JSON example:**
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800246 #
247 # {
248 # "bindings": [
249 # {
Dan O'Mearadd494642020-05-01 07:42:23 -0700250 # "role": "roles/resourcemanager.organizationAdmin",
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800251 # "members": [
252 # "user:mike@example.com",
253 # "group:admins@example.com",
254 # "domain:google.com",
Dan O'Mearadd494642020-05-01 07:42:23 -0700255 # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800256 # ]
257 # },
258 # {
Dan O'Mearadd494642020-05-01 07:42:23 -0700259 # "role": "roles/resourcemanager.organizationViewer",
260 # "members": ["user:eve@example.com"],
261 # "condition": {
262 # "title": "expirable access",
263 # "description": "Does not grant access after Sep 2020",
264 # "expression": "request.time &lt; timestamp('2020-10-01T00:00:00.000Z')",
265 # }
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800266 # }
Dan O'Mearadd494642020-05-01 07:42:23 -0700267 # ],
268 # "etag": "BwWWja0YfJA=",
269 # "version": 3
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800270 # }
271 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700272 # **YAML example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700273 #
274 # bindings:
275 # - members:
276 # - user:mike@example.com
277 # - group:admins@example.com
278 # - domain:google.com
Dan O'Mearadd494642020-05-01 07:42:23 -0700279 # - serviceAccount:my-project-id@appspot.gserviceaccount.com
280 # role: roles/resourcemanager.organizationAdmin
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700281 # - members:
Dan O'Mearadd494642020-05-01 07:42:23 -0700282 # - user:eve@example.com
283 # role: roles/resourcemanager.organizationViewer
284 # condition:
285 # title: expirable access
286 # description: Does not grant access after Sep 2020
287 # expression: request.time &lt; timestamp('2020-10-01T00:00:00.000Z')
288 # - etag: BwWWja0YfJA=
289 # - version: 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700290 #
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800291 # For a description of IAM and its features, see the
Dan O'Mearadd494642020-05-01 07:42:23 -0700292 # [IAM documentation](https://cloud.google.com/iam/docs/).
293 "bindings": [ # Associates a list of `members` to a `role`. Optionally, may specify a
294 # `condition` that determines how and when the `bindings` are applied. Each
295 # of the `bindings` must contain at least one member.
Sai Cheemalapatidf613972016-10-21 13:59:49 -0700296 { # Associates `members` with a `role`.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800297 "role": "A String", # Role that is assigned to `members`.
298 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800299 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
300 # `members` can have the following values:
301 #
302 # * `allUsers`: A special identifier that represents anyone who is
303 # on the internet; with or without a Google account.
304 #
305 # * `allAuthenticatedUsers`: A special identifier that represents anyone
306 # who is authenticated with a Google account or a service account.
307 #
308 # * `user:{emailid}`: An email address that represents a specific Google
Dan O'Mearadd494642020-05-01 07:42:23 -0700309 # account. For example, `alice@example.com` .
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800310 #
311 #
312 # * `serviceAccount:{emailid}`: An email address that represents a service
313 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
314 #
315 # * `group:{emailid}`: An email address that represents a Google group.
316 # For example, `admins@example.com`.
317 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700318 # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
319 # identifier) representing a user that has been recently deleted. For
320 # example, `alice@example.com?uid=123456789012345678901`. If the user is
321 # recovered, this value reverts to `user:{emailid}` and the recovered user
322 # retains the role in the binding.
323 #
324 # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
325 # unique identifier) representing a service account that has been recently
326 # deleted. For example,
327 # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
328 # If the service account is undeleted, this value reverts to
329 # `serviceAccount:{emailid}` and the undeleted service account retains the
330 # role in the binding.
331 #
332 # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
333 # identifier) representing a Google group that has been recently
334 # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
335 # the group is recovered, this value reverts to `group:{emailid}` and the
336 # recovered group retains the role in the binding.
337 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700338 #
339 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800340 # users of that domain. For example, `google.com` or `example.com`.
341 #
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000342 "A String",
343 ],
Dan O'Mearadd494642020-05-01 07:42:23 -0700344 "condition": { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
345 # NOTE: An unsatisfied condition will not allow user access via current
346 # binding. Different bindings, including their conditions, are examined
347 # independently.
348 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
349 # are documented at https://github.com/google/cel-spec.
350 #
351 # Example (Comparison):
352 #
353 # title: "Summary size limit"
354 # description: "Determines if a summary is less than 100 chars"
355 # expression: "document.summary.size() &lt; 100"
356 #
357 # Example (Equality):
358 #
359 # title: "Requestor is owner"
360 # description: "Determines if requestor is the document owner"
361 # expression: "document.owner == request.auth.claims.email"
362 #
363 # Example (Logic):
364 #
365 # title: "Public documents"
366 # description: "Determine whether the document should be publicly visible"
367 # expression: "document.type != 'private' &amp;&amp; document.type != 'internal'"
368 #
369 # Example (Data Manipulation):
370 #
371 # title: "Notification string"
372 # description: "Create a notification string with a timestamp."
373 # expression: "'New message received at ' + string(document.create_time)"
374 #
375 # The exact variables and functions that may be referenced within an expression
376 # are determined by the service that evaluates it. See the service
377 # documentation for additional information.
378 "description": "A String", # Optional. Description of the expression. This is a longer text which
379 # describes the expression, e.g. when hovered over it in a UI.
380 "expression": "A String", # Textual representation of an expression in Common Expression Language
381 # syntax.
382 "location": "A String", # Optional. String indicating the location of the expression for error
383 # reporting, e.g. a file name and a position in the file.
384 "title": "A String", # Optional. Title for the expression, i.e. a short string describing
385 # its purpose. This can be used e.g. in UIs which allow to enter the
386 # expression.
387 },
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000388 },
389 ],
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800390 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
391 # prevent simultaneous updates of a policy from overwriting each other.
392 # It is strongly suggested that systems make use of the `etag` in the
393 # read-modify-write cycle to perform policy updates in order to avoid race
394 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
395 # systems are expected to put that etag in the request to `setIamPolicy` to
396 # ensure that their change will be applied to the same version of the policy.
397 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700398 # **Important:** If you use IAM Conditions, you must include the `etag` field
399 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
400 # you to overwrite a version `3` policy with a version `1` policy, and all of
401 # the conditions in the version `3` policy are lost.
402 "version": 42, # Specifies the format of the policy.
403 #
404 # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
405 # are rejected.
406 #
407 # Any operation that affects conditional role bindings must specify version
408 # `3`. This requirement applies to the following operations:
409 #
410 # * Getting a policy that includes a conditional role binding
411 # * Adding a conditional role binding to a policy
412 # * Changing a conditional role binding in a policy
413 # * Removing any role binding, with or without a condition, from a policy
414 # that includes conditions
415 #
416 # **Important:** If you use IAM Conditions, you must include the `etag` field
417 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
418 # you to overwrite a version `3` policy with a version `1` policy, and all of
419 # the conditions in the version `3` policy are lost.
420 #
421 # If a policy does not include any conditions, operations on that policy may
422 # specify any valid version or leave the field unset.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000423 }</pre>
424</div>
425
426<div class="method">
427 <code class="details" id="list">list(project, pageSize=None, pageToken=None, x__xgafv=None)</code>
428 <pre>Lists matching topics.
429
430Args:
431 project: string, The name of the cloud project that topics belong to. (required)
432 pageSize: integer, Maximum number of topics to return.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800433 pageToken: string, The value returned by the last `ListTopicsResponse`; indicates that this is
434a continuation of a prior `ListTopics` call, and that the system should
435return the next page of data.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000436 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800437 Allowed values
438 1 - v1 error format
439 2 - v2 error format
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000440
441Returns:
442 An object of the form:
443
Sai Cheemalapatidf613972016-10-21 13:59:49 -0700444 { # Response for the `ListTopics` method.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800445 "nextPageToken": "A String", # If not empty, indicates that there may be more topics that match the
446 # request; this value should be passed in a new `ListTopicsRequest`.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000447 "topics": [ # The resulting topics.
448 { # A topic resource.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800449 "name": "A String", # The name of the topic. It must have the format
450 # `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
451 # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
452 # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
453 # signs (`%`). It must be between 3 and 255 characters in length, and it
454 # must not start with `"goog"`.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000455 },
Craig Citroe633be12015-03-02 13:40:36 -0800456 ],
457 }</pre>
458</div>
459
460<div class="method">
461 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
462 <pre>Retrieves the next page of results.
463
464Args:
465 previous_request: The request for the previous page. (required)
466 previous_response: The response from the request for the previous page. (required)
467
468Returns:
469 A request object that you can call 'execute()' on to request the next
470 page. Returns None if there are no more items in the collection.
471 </pre>
472</div>
473
474<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700475 <code class="details" id="publish">publish(topic, body=None, x__xgafv=None)</code>
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800476 <pre>Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic
477does not exist. The message payload must not be empty; it must contain
478 either a non-empty data field, or at least one attribute.
Craig Citroe633be12015-03-02 13:40:36 -0800479
480Args:
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000481 topic: string, The messages in the request will be published on this topic. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700482 body: object, The request body.
Craig Citroe633be12015-03-02 13:40:36 -0800483 The object takes the form of:
484
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000485{ # Request for the Publish method.
486 "messages": [ # The messages to publish.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800487 { # A message data and its attributes. The message payload must not be empty;
488 # it must contain either a non-empty data field, or at least one attribute.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000489 "attributes": { # Optional attributes for this message.
Craig Citroe633be12015-03-02 13:40:36 -0800490 "a_key": "A String",
491 },
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800492 "data": "A String", # The message payload. For JSON requests, the value of this field must be
493 # [base64-encoded](https://tools.ietf.org/html/rfc4648).
494 "publishTime": "A String", # The time at which the message was published, populated by the server when
495 # it receives the `Publish` call. It must not be populated by the
496 # publisher in a `Publish` call.
497 "messageId": "A String", # ID of this message, assigned by the server when the message is published.
498 # Guaranteed to be unique within the topic. This value may be read by a
499 # subscriber that receives a `PubsubMessage` via a `Pull` call or a push
500 # delivery. It must not be populated by the publisher in a `Publish` call.
Craig Citroe633be12015-03-02 13:40:36 -0800501 },
502 ],
503 }
504
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000505 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800506 Allowed values
507 1 - v1 error format
508 2 - v2 error format
Craig Citroe633be12015-03-02 13:40:36 -0800509
510Returns:
511 An object of the form:
512
Sai Cheemalapatidf613972016-10-21 13:59:49 -0700513 { # Response for the `Publish` method.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800514 "messageIds": [ # The server-assigned ID of each published message, in the same order as
515 # the messages in the request. IDs are guaranteed to be unique within
516 # the topic.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000517 "A String",
518 ],
519 }</pre>
520</div>
521
522<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700523 <code class="details" id="setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</code>
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800524 <pre>Sets the access control policy on the specified resource. Replaces any
525existing policy.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000526
Dan O'Mearadd494642020-05-01 07:42:23 -0700527Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED
528
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000529Args:
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800530 resource: string, REQUIRED: The resource for which the policy is being specified.
Sai Cheemalapatie833b792017-03-24 15:06:46 -0700531See the operation documentation for the appropriate value for this field. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700532 body: object, The request body.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000533 The object takes the form of:
534
535{ # Request message for `SetIamPolicy` method.
Dan O'Mearadd494642020-05-01 07:42:23 -0700536 "policy": { # An Identity and Access Management (IAM) policy, which specifies access # REQUIRED: The complete policy to be applied to the `resource`. The size of
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800537 # the policy is limited to a few 10s of KB. An empty policy is a
538 # valid policy but certain Cloud Platform services (such as Projects)
539 # might reject them.
Dan O'Mearadd494642020-05-01 07:42:23 -0700540 # controls for Google Cloud resources.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800541 #
542 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700543 # A `Policy` is a collection of `bindings`. A `binding` binds one or more
544 # `members` to a single `role`. Members can be user accounts, service accounts,
545 # Google groups, and domains (such as G Suite). A `role` is a named list of
546 # permissions; each `role` can be an IAM predefined role or a user-created
547 # custom role.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800548 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700549 # Optionally, a `binding` can specify a `condition`, which is a logical
550 # expression that allows access to a resource only if the expression evaluates
551 # to `true`. A condition can add constraints based on attributes of the
552 # request, the resource, or both.
553 #
554 # **JSON example:**
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800555 #
556 # {
557 # "bindings": [
558 # {
Dan O'Mearadd494642020-05-01 07:42:23 -0700559 # "role": "roles/resourcemanager.organizationAdmin",
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800560 # "members": [
561 # "user:mike@example.com",
562 # "group:admins@example.com",
563 # "domain:google.com",
Dan O'Mearadd494642020-05-01 07:42:23 -0700564 # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800565 # ]
566 # },
567 # {
Dan O'Mearadd494642020-05-01 07:42:23 -0700568 # "role": "roles/resourcemanager.organizationViewer",
569 # "members": ["user:eve@example.com"],
570 # "condition": {
571 # "title": "expirable access",
572 # "description": "Does not grant access after Sep 2020",
573 # "expression": "request.time &lt; timestamp('2020-10-01T00:00:00.000Z')",
574 # }
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800575 # }
Dan O'Mearadd494642020-05-01 07:42:23 -0700576 # ],
577 # "etag": "BwWWja0YfJA=",
578 # "version": 3
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800579 # }
580 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700581 # **YAML example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700582 #
583 # bindings:
584 # - members:
585 # - user:mike@example.com
586 # - group:admins@example.com
587 # - domain:google.com
Dan O'Mearadd494642020-05-01 07:42:23 -0700588 # - serviceAccount:my-project-id@appspot.gserviceaccount.com
589 # role: roles/resourcemanager.organizationAdmin
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700590 # - members:
Dan O'Mearadd494642020-05-01 07:42:23 -0700591 # - user:eve@example.com
592 # role: roles/resourcemanager.organizationViewer
593 # condition:
594 # title: expirable access
595 # description: Does not grant access after Sep 2020
596 # expression: request.time &lt; timestamp('2020-10-01T00:00:00.000Z')
597 # - etag: BwWWja0YfJA=
598 # - version: 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700599 #
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800600 # For a description of IAM and its features, see the
Dan O'Mearadd494642020-05-01 07:42:23 -0700601 # [IAM documentation](https://cloud.google.com/iam/docs/).
602 "bindings": [ # Associates a list of `members` to a `role`. Optionally, may specify a
603 # `condition` that determines how and when the `bindings` are applied. Each
604 # of the `bindings` must contain at least one member.
Sai Cheemalapatidf613972016-10-21 13:59:49 -0700605 { # Associates `members` with a `role`.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800606 "role": "A String", # Role that is assigned to `members`.
607 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800608 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
609 # `members` can have the following values:
610 #
611 # * `allUsers`: A special identifier that represents anyone who is
612 # on the internet; with or without a Google account.
613 #
614 # * `allAuthenticatedUsers`: A special identifier that represents anyone
615 # who is authenticated with a Google account or a service account.
616 #
617 # * `user:{emailid}`: An email address that represents a specific Google
Dan O'Mearadd494642020-05-01 07:42:23 -0700618 # account. For example, `alice@example.com` .
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800619 #
620 #
621 # * `serviceAccount:{emailid}`: An email address that represents a service
622 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
623 #
624 # * `group:{emailid}`: An email address that represents a Google group.
625 # For example, `admins@example.com`.
626 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700627 # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
628 # identifier) representing a user that has been recently deleted. For
629 # example, `alice@example.com?uid=123456789012345678901`. If the user is
630 # recovered, this value reverts to `user:{emailid}` and the recovered user
631 # retains the role in the binding.
632 #
633 # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
634 # unique identifier) representing a service account that has been recently
635 # deleted. For example,
636 # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
637 # If the service account is undeleted, this value reverts to
638 # `serviceAccount:{emailid}` and the undeleted service account retains the
639 # role in the binding.
640 #
641 # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
642 # identifier) representing a Google group that has been recently
643 # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
644 # the group is recovered, this value reverts to `group:{emailid}` and the
645 # recovered group retains the role in the binding.
646 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700647 #
648 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800649 # users of that domain. For example, `google.com` or `example.com`.
650 #
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000651 "A String",
652 ],
Dan O'Mearadd494642020-05-01 07:42:23 -0700653 "condition": { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
654 # NOTE: An unsatisfied condition will not allow user access via current
655 # binding. Different bindings, including their conditions, are examined
656 # independently.
657 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
658 # are documented at https://github.com/google/cel-spec.
659 #
660 # Example (Comparison):
661 #
662 # title: "Summary size limit"
663 # description: "Determines if a summary is less than 100 chars"
664 # expression: "document.summary.size() &lt; 100"
665 #
666 # Example (Equality):
667 #
668 # title: "Requestor is owner"
669 # description: "Determines if requestor is the document owner"
670 # expression: "document.owner == request.auth.claims.email"
671 #
672 # Example (Logic):
673 #
674 # title: "Public documents"
675 # description: "Determine whether the document should be publicly visible"
676 # expression: "document.type != 'private' &amp;&amp; document.type != 'internal'"
677 #
678 # Example (Data Manipulation):
679 #
680 # title: "Notification string"
681 # description: "Create a notification string with a timestamp."
682 # expression: "'New message received at ' + string(document.create_time)"
683 #
684 # The exact variables and functions that may be referenced within an expression
685 # are determined by the service that evaluates it. See the service
686 # documentation for additional information.
687 "description": "A String", # Optional. Description of the expression. This is a longer text which
688 # describes the expression, e.g. when hovered over it in a UI.
689 "expression": "A String", # Textual representation of an expression in Common Expression Language
690 # syntax.
691 "location": "A String", # Optional. String indicating the location of the expression for error
692 # reporting, e.g. a file name and a position in the file.
693 "title": "A String", # Optional. Title for the expression, i.e. a short string describing
694 # its purpose. This can be used e.g. in UIs which allow to enter the
695 # expression.
696 },
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000697 },
698 ],
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800699 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
700 # prevent simultaneous updates of a policy from overwriting each other.
701 # It is strongly suggested that systems make use of the `etag` in the
702 # read-modify-write cycle to perform policy updates in order to avoid race
703 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
704 # systems are expected to put that etag in the request to `setIamPolicy` to
705 # ensure that their change will be applied to the same version of the policy.
706 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700707 # **Important:** If you use IAM Conditions, you must include the `etag` field
708 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
709 # you to overwrite a version `3` policy with a version `1` policy, and all of
710 # the conditions in the version `3` policy are lost.
711 "version": 42, # Specifies the format of the policy.
712 #
713 # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
714 # are rejected.
715 #
716 # Any operation that affects conditional role bindings must specify version
717 # `3`. This requirement applies to the following operations:
718 #
719 # * Getting a policy that includes a conditional role binding
720 # * Adding a conditional role binding to a policy
721 # * Changing a conditional role binding in a policy
722 # * Removing any role binding, with or without a condition, from a policy
723 # that includes conditions
724 #
725 # **Important:** If you use IAM Conditions, you must include the `etag` field
726 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
727 # you to overwrite a version `3` policy with a version `1` policy, and all of
728 # the conditions in the version `3` policy are lost.
729 #
730 # If a policy does not include any conditions, operations on that policy may
731 # specify any valid version or leave the field unset.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000732 },
733 }
734
735 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800736 Allowed values
737 1 - v1 error format
738 2 - v2 error format
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000739
740Returns:
741 An object of the form:
742
Dan O'Mearadd494642020-05-01 07:42:23 -0700743 { # An Identity and Access Management (IAM) policy, which specifies access
744 # controls for Google Cloud resources.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800745 #
746 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700747 # A `Policy` is a collection of `bindings`. A `binding` binds one or more
748 # `members` to a single `role`. Members can be user accounts, service accounts,
749 # Google groups, and domains (such as G Suite). A `role` is a named list of
750 # permissions; each `role` can be an IAM predefined role or a user-created
751 # custom role.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800752 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700753 # Optionally, a `binding` can specify a `condition`, which is a logical
754 # expression that allows access to a resource only if the expression evaluates
755 # to `true`. A condition can add constraints based on attributes of the
756 # request, the resource, or both.
757 #
758 # **JSON example:**
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800759 #
760 # {
761 # "bindings": [
762 # {
Dan O'Mearadd494642020-05-01 07:42:23 -0700763 # "role": "roles/resourcemanager.organizationAdmin",
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800764 # "members": [
765 # "user:mike@example.com",
766 # "group:admins@example.com",
767 # "domain:google.com",
Dan O'Mearadd494642020-05-01 07:42:23 -0700768 # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800769 # ]
770 # },
771 # {
Dan O'Mearadd494642020-05-01 07:42:23 -0700772 # "role": "roles/resourcemanager.organizationViewer",
773 # "members": ["user:eve@example.com"],
774 # "condition": {
775 # "title": "expirable access",
776 # "description": "Does not grant access after Sep 2020",
777 # "expression": "request.time &lt; timestamp('2020-10-01T00:00:00.000Z')",
778 # }
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800779 # }
Dan O'Mearadd494642020-05-01 07:42:23 -0700780 # ],
781 # "etag": "BwWWja0YfJA=",
782 # "version": 3
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800783 # }
784 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700785 # **YAML example:**
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700786 #
787 # bindings:
788 # - members:
789 # - user:mike@example.com
790 # - group:admins@example.com
791 # - domain:google.com
Dan O'Mearadd494642020-05-01 07:42:23 -0700792 # - serviceAccount:my-project-id@appspot.gserviceaccount.com
793 # role: roles/resourcemanager.organizationAdmin
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700794 # - members:
Dan O'Mearadd494642020-05-01 07:42:23 -0700795 # - user:eve@example.com
796 # role: roles/resourcemanager.organizationViewer
797 # condition:
798 # title: expirable access
799 # description: Does not grant access after Sep 2020
800 # expression: request.time &lt; timestamp('2020-10-01T00:00:00.000Z')
801 # - etag: BwWWja0YfJA=
802 # - version: 3
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700803 #
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800804 # For a description of IAM and its features, see the
Dan O'Mearadd494642020-05-01 07:42:23 -0700805 # [IAM documentation](https://cloud.google.com/iam/docs/).
806 "bindings": [ # Associates a list of `members` to a `role`. Optionally, may specify a
807 # `condition` that determines how and when the `bindings` are applied. Each
808 # of the `bindings` must contain at least one member.
Sai Cheemalapatidf613972016-10-21 13:59:49 -0700809 { # Associates `members` with a `role`.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800810 "role": "A String", # Role that is assigned to `members`.
811 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800812 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
813 # `members` can have the following values:
814 #
815 # * `allUsers`: A special identifier that represents anyone who is
816 # on the internet; with or without a Google account.
817 #
818 # * `allAuthenticatedUsers`: A special identifier that represents anyone
819 # who is authenticated with a Google account or a service account.
820 #
821 # * `user:{emailid}`: An email address that represents a specific Google
Dan O'Mearadd494642020-05-01 07:42:23 -0700822 # account. For example, `alice@example.com` .
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800823 #
824 #
825 # * `serviceAccount:{emailid}`: An email address that represents a service
826 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
827 #
828 # * `group:{emailid}`: An email address that represents a Google group.
829 # For example, `admins@example.com`.
830 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700831 # * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
832 # identifier) representing a user that has been recently deleted. For
833 # example, `alice@example.com?uid=123456789012345678901`. If the user is
834 # recovered, this value reverts to `user:{emailid}` and the recovered user
835 # retains the role in the binding.
836 #
837 # * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
838 # unique identifier) representing a service account that has been recently
839 # deleted. For example,
840 # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
841 # If the service account is undeleted, this value reverts to
842 # `serviceAccount:{emailid}` and the undeleted service account retains the
843 # role in the binding.
844 #
845 # * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
846 # identifier) representing a Google group that has been recently
847 # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
848 # the group is recovered, this value reverts to `group:{emailid}` and the
849 # recovered group retains the role in the binding.
850 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700851 #
852 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800853 # users of that domain. For example, `google.com` or `example.com`.
854 #
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000855 "A String",
856 ],
Dan O'Mearadd494642020-05-01 07:42:23 -0700857 "condition": { # Represents a textual expression in the Common Expression Language (CEL) # The condition that is associated with this binding.
858 # NOTE: An unsatisfied condition will not allow user access via current
859 # binding. Different bindings, including their conditions, are examined
860 # independently.
861 # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
862 # are documented at https://github.com/google/cel-spec.
863 #
864 # Example (Comparison):
865 #
866 # title: "Summary size limit"
867 # description: "Determines if a summary is less than 100 chars"
868 # expression: "document.summary.size() &lt; 100"
869 #
870 # Example (Equality):
871 #
872 # title: "Requestor is owner"
873 # description: "Determines if requestor is the document owner"
874 # expression: "document.owner == request.auth.claims.email"
875 #
876 # Example (Logic):
877 #
878 # title: "Public documents"
879 # description: "Determine whether the document should be publicly visible"
880 # expression: "document.type != 'private' &amp;&amp; document.type != 'internal'"
881 #
882 # Example (Data Manipulation):
883 #
884 # title: "Notification string"
885 # description: "Create a notification string with a timestamp."
886 # expression: "'New message received at ' + string(document.create_time)"
887 #
888 # The exact variables and functions that may be referenced within an expression
889 # are determined by the service that evaluates it. See the service
890 # documentation for additional information.
891 "description": "A String", # Optional. Description of the expression. This is a longer text which
892 # describes the expression, e.g. when hovered over it in a UI.
893 "expression": "A String", # Textual representation of an expression in Common Expression Language
894 # syntax.
895 "location": "A String", # Optional. String indicating the location of the expression for error
896 # reporting, e.g. a file name and a position in the file.
897 "title": "A String", # Optional. Title for the expression, i.e. a short string describing
898 # its purpose. This can be used e.g. in UIs which allow to enter the
899 # expression.
900 },
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000901 },
902 ],
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800903 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
904 # prevent simultaneous updates of a policy from overwriting each other.
905 # It is strongly suggested that systems make use of the `etag` in the
906 # read-modify-write cycle to perform policy updates in order to avoid race
907 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
908 # systems are expected to put that etag in the request to `setIamPolicy` to
909 # ensure that their change will be applied to the same version of the policy.
910 #
Dan O'Mearadd494642020-05-01 07:42:23 -0700911 # **Important:** If you use IAM Conditions, you must include the `etag` field
912 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
913 # you to overwrite a version `3` policy with a version `1` policy, and all of
914 # the conditions in the version `3` policy are lost.
915 "version": 42, # Specifies the format of the policy.
916 #
917 # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
918 # are rejected.
919 #
920 # Any operation that affects conditional role bindings must specify version
921 # `3`. This requirement applies to the following operations:
922 #
923 # * Getting a policy that includes a conditional role binding
924 # * Adding a conditional role binding to a policy
925 # * Changing a conditional role binding in a policy
926 # * Removing any role binding, with or without a condition, from a policy
927 # that includes conditions
928 #
929 # **Important:** If you use IAM Conditions, you must include the `etag` field
930 # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
931 # you to overwrite a version `3` policy with a version `1` policy, and all of
932 # the conditions in the version `3` policy are lost.
933 #
934 # If a policy does not include any conditions, operations on that policy may
935 # specify any valid version or leave the field unset.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000936 }</pre>
937</div>
938
939<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -0700940 <code class="details" id="testIamPermissions">testIamPermissions(resource, body=None, x__xgafv=None)</code>
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000941 <pre>Returns permissions that a caller has on the specified resource.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800942If the resource does not exist, this will return an empty set of
943permissions, not a NOT_FOUND error.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000944
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400945Note: This operation is designed to be used for building permission-aware
946UIs and command-line tools, not for authorization checking. This operation
947may "fail open" without warning.
948
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000949Args:
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800950 resource: string, REQUIRED: The resource for which the policy detail is being requested.
Sai Cheemalapatie833b792017-03-24 15:06:46 -0700951See the operation documentation for the appropriate value for this field. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -0700952 body: object, The request body.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000953 The object takes the form of:
954
955{ # Request message for `TestIamPermissions` method.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800956 "permissions": [ # The set of permissions to check for the `resource`. Permissions with
957 # wildcards (such as '*' or 'storage.*') are not allowed. For more
958 # information see
959 # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000960 "A String",
961 ],
962 }
963
964 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800965 Allowed values
966 1 - v1 error format
967 2 - v2 error format
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000968
969Returns:
970 An object of the form:
971
972 { # Response message for `TestIamPermissions` method.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800973 "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is
974 # allowed.
Craig Citroe633be12015-03-02 13:40:36 -0800975 "A String",
976 ],
977 }</pre>
978</div>
979
980</body></html>