blob: 8639b4ff71d20463936c9cdf3843de0d8be4272f [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
75<h1><a href="pubsub_v1beta2.html">Google Cloud Pub/Sub API</a> . <a href="pubsub_v1beta2.projects.html">projects</a> . <a href="pubsub_v1beta2.projects.topics.html">topics</a></h1>
76<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">
Thomas Coffee2f245372017-03-27 10:39:26 -070083 <code><a href="#create">create(name, body, 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">
Thomas Coffee2f245372017-03-27 10:39:26 -070092 <code><a href="#getIamPolicy">getIamPolicy(resource, 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">
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000101 <code><a href="#publish">publish(topic, body, 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">
Thomas Coffee2f245372017-03-27 10:39:26 -0700104 <code><a href="#setIamPolicy">setIamPolicy(resource, body, 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">
Thomas Coffee2f245372017-03-27 10:39:26 -0700107 <code><a href="#testIamPermissions">testIamPermissions(resource, body, 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">
Thomas Coffee2f245372017-03-27 10:39:26 -0700111 <code class="details" id="create">create(name, body, 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)
Craig Citroe633be12015-03-02 13:40:36 -0800121 body: object, The request body. (required)
122 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">
Thomas Coffee2f245372017-03-27 10:39:26 -0700206 <code class="details" id="getIamPolicy">getIamPolicy(resource, 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)
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000214 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800215 Allowed values
216 1 - v1 error format
217 2 - v2 error format
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000218
219Returns:
220 An object of the form:
221
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800222 { # Defines an Identity and Access Management (IAM) policy. It is used to
223 # specify access control policies for Cloud Platform resources.
224 #
225 #
226 # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
227 # `members` to a `role`, where the members can be user accounts, Google groups,
228 # Google domains, and service accounts. A `role` is a named list of permissions
229 # defined by IAM.
230 #
231 # **Example**
232 #
233 # {
234 # "bindings": [
235 # {
236 # "role": "roles/owner",
237 # "members": [
238 # "user:mike@example.com",
239 # "group:admins@example.com",
240 # "domain:google.com",
241 # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
242 # ]
243 # },
244 # {
245 # "role": "roles/viewer",
246 # "members": ["user:sean@example.com"]
247 # }
248 # ]
249 # }
250 #
251 # For a description of IAM and its features, see the
252 # [IAM developer's guide](https://cloud.google.com/iam).
253 "bindings": [ # Associates a list of `members` to a `role`.
254 # Multiple `bindings` must not be specified for the same `role`.
255 # `bindings` with no members will result in an error.
Sai Cheemalapatidf613972016-10-21 13:59:49 -0700256 { # Associates `members` with a `role`.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800257 "role": "A String", # Role that is assigned to `members`.
258 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
259 # Required
260 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
261 # `members` can have the following values:
262 #
263 # * `allUsers`: A special identifier that represents anyone who is
264 # on the internet; with or without a Google account.
265 #
266 # * `allAuthenticatedUsers`: A special identifier that represents anyone
267 # who is authenticated with a Google account or a service account.
268 #
269 # * `user:{emailid}`: An email address that represents a specific Google
270 # account. For example, `alice@gmail.com` or `joe@example.com`.
271 #
272 #
273 # * `serviceAccount:{emailid}`: An email address that represents a service
274 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
275 #
276 # * `group:{emailid}`: An email address that represents a Google group.
277 # For example, `admins@example.com`.
278 #
279 # * `domain:{domain}`: A Google Apps domain name that represents all the
280 # users of that domain. For example, `google.com` or `example.com`.
281 #
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000282 "A String",
283 ],
284 },
285 ],
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800286 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
287 # prevent simultaneous updates of a policy from overwriting each other.
288 # It is strongly suggested that systems make use of the `etag` in the
289 # read-modify-write cycle to perform policy updates in order to avoid race
290 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
291 # systems are expected to put that etag in the request to `setIamPolicy` to
292 # ensure that their change will be applied to the same version of the policy.
293 #
294 # If no `etag` is provided in the call to `setIamPolicy`, then the existing
295 # policy is overwritten blindly.
Sai Cheemalapatidf613972016-10-21 13:59:49 -0700296 "version": 42, # Version of the `Policy`. The default version is 0.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000297 }</pre>
298</div>
299
300<div class="method">
301 <code class="details" id="list">list(project, pageSize=None, pageToken=None, x__xgafv=None)</code>
302 <pre>Lists matching topics.
303
304Args:
305 project: string, The name of the cloud project that topics belong to. (required)
306 pageSize: integer, Maximum number of topics to return.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800307 pageToken: string, The value returned by the last `ListTopicsResponse`; indicates that this is
308a continuation of a prior `ListTopics` call, and that the system should
309return the next page of data.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000310 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800311 Allowed values
312 1 - v1 error format
313 2 - v2 error format
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000314
315Returns:
316 An object of the form:
317
Sai Cheemalapatidf613972016-10-21 13:59:49 -0700318 { # Response for the `ListTopics` method.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800319 "nextPageToken": "A String", # If not empty, indicates that there may be more topics that match the
320 # request; this value should be passed in a new `ListTopicsRequest`.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000321 "topics": [ # The resulting topics.
322 { # A topic resource.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800323 "name": "A String", # The name of the topic. It must have the format
324 # `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
325 # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
326 # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
327 # signs (`%`). It must be between 3 and 255 characters in length, and it
328 # must not start with `"goog"`.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000329 },
Craig Citroe633be12015-03-02 13:40:36 -0800330 ],
331 }</pre>
332</div>
333
334<div class="method">
335 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
336 <pre>Retrieves the next page of results.
337
338Args:
339 previous_request: The request for the previous page. (required)
340 previous_response: The response from the request for the previous page. (required)
341
342Returns:
343 A request object that you can call 'execute()' on to request the next
344 page. Returns None if there are no more items in the collection.
345 </pre>
346</div>
347
348<div class="method">
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000349 <code class="details" id="publish">publish(topic, body, x__xgafv=None)</code>
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800350 <pre>Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic
351does not exist. The message payload must not be empty; it must contain
352 either a non-empty data field, or at least one attribute.
Craig Citroe633be12015-03-02 13:40:36 -0800353
354Args:
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000355 topic: string, The messages in the request will be published on this topic. (required)
Craig Citroe633be12015-03-02 13:40:36 -0800356 body: object, The request body. (required)
357 The object takes the form of:
358
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000359{ # Request for the Publish method.
360 "messages": [ # The messages to publish.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800361 { # A message data and its attributes. The message payload must not be empty;
362 # it must contain either a non-empty data field, or at least one attribute.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000363 "attributes": { # Optional attributes for this message.
Craig Citroe633be12015-03-02 13:40:36 -0800364 "a_key": "A String",
365 },
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800366 "data": "A String", # The message payload. For JSON requests, the value of this field must be
367 # [base64-encoded](https://tools.ietf.org/html/rfc4648).
368 "publishTime": "A String", # The time at which the message was published, populated by the server when
369 # it receives the `Publish` call. It must not be populated by the
370 # publisher in a `Publish` call.
371 "messageId": "A String", # ID of this message, assigned by the server when the message is published.
372 # Guaranteed to be unique within the topic. This value may be read by a
373 # subscriber that receives a `PubsubMessage` via a `Pull` call or a push
374 # delivery. It must not be populated by the publisher in a `Publish` call.
Craig Citroe633be12015-03-02 13:40:36 -0800375 },
376 ],
377 }
378
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000379 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800380 Allowed values
381 1 - v1 error format
382 2 - v2 error format
Craig Citroe633be12015-03-02 13:40:36 -0800383
384Returns:
385 An object of the form:
386
Sai Cheemalapatidf613972016-10-21 13:59:49 -0700387 { # Response for the `Publish` method.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800388 "messageIds": [ # The server-assigned ID of each published message, in the same order as
389 # the messages in the request. IDs are guaranteed to be unique within
390 # the topic.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000391 "A String",
392 ],
393 }</pre>
394</div>
395
396<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -0700397 <code class="details" id="setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</code>
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800398 <pre>Sets the access control policy on the specified resource. Replaces any
399existing policy.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000400
401Args:
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800402 resource: string, REQUIRED: The resource for which the policy is being specified.
Sai Cheemalapatie833b792017-03-24 15:06:46 -0700403See the operation documentation for the appropriate value for this field. (required)
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000404 body: object, The request body. (required)
405 The object takes the form of:
406
407{ # Request message for `SetIamPolicy` method.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800408 "policy": { # Defines an Identity and Access Management (IAM) policy. It is used to # REQUIRED: The complete policy to be applied to the `resource`. The size of
409 # the policy is limited to a few 10s of KB. An empty policy is a
410 # valid policy but certain Cloud Platform services (such as Projects)
411 # might reject them.
412 # specify access control policies for Cloud Platform resources.
413 #
414 #
415 # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
416 # `members` to a `role`, where the members can be user accounts, Google groups,
417 # Google domains, and service accounts. A `role` is a named list of permissions
418 # defined by IAM.
419 #
420 # **Example**
421 #
422 # {
423 # "bindings": [
424 # {
425 # "role": "roles/owner",
426 # "members": [
427 # "user:mike@example.com",
428 # "group:admins@example.com",
429 # "domain:google.com",
430 # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
431 # ]
432 # },
433 # {
434 # "role": "roles/viewer",
435 # "members": ["user:sean@example.com"]
436 # }
437 # ]
438 # }
439 #
440 # For a description of IAM and its features, see the
441 # [IAM developer's guide](https://cloud.google.com/iam).
442 "bindings": [ # Associates a list of `members` to a `role`.
443 # Multiple `bindings` must not be specified for the same `role`.
444 # `bindings` with no members will result in an error.
Sai Cheemalapatidf613972016-10-21 13:59:49 -0700445 { # Associates `members` with a `role`.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800446 "role": "A String", # Role that is assigned to `members`.
447 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
448 # Required
449 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
450 # `members` can have the following values:
451 #
452 # * `allUsers`: A special identifier that represents anyone who is
453 # on the internet; with or without a Google account.
454 #
455 # * `allAuthenticatedUsers`: A special identifier that represents anyone
456 # who is authenticated with a Google account or a service account.
457 #
458 # * `user:{emailid}`: An email address that represents a specific Google
459 # account. For example, `alice@gmail.com` or `joe@example.com`.
460 #
461 #
462 # * `serviceAccount:{emailid}`: An email address that represents a service
463 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
464 #
465 # * `group:{emailid}`: An email address that represents a Google group.
466 # For example, `admins@example.com`.
467 #
468 # * `domain:{domain}`: A Google Apps domain name that represents all the
469 # users of that domain. For example, `google.com` or `example.com`.
470 #
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000471 "A String",
472 ],
473 },
474 ],
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800475 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
476 # prevent simultaneous updates of a policy from overwriting each other.
477 # It is strongly suggested that systems make use of the `etag` in the
478 # read-modify-write cycle to perform policy updates in order to avoid race
479 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
480 # systems are expected to put that etag in the request to `setIamPolicy` to
481 # ensure that their change will be applied to the same version of the policy.
482 #
483 # If no `etag` is provided in the call to `setIamPolicy`, then the existing
484 # policy is overwritten blindly.
Sai Cheemalapatidf613972016-10-21 13:59:49 -0700485 "version": 42, # Version of the `Policy`. The default version is 0.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000486 },
487 }
488
489 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800490 Allowed values
491 1 - v1 error format
492 2 - v2 error format
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000493
494Returns:
495 An object of the form:
496
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800497 { # Defines an Identity and Access Management (IAM) policy. It is used to
498 # specify access control policies for Cloud Platform resources.
499 #
500 #
501 # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
502 # `members` to a `role`, where the members can be user accounts, Google groups,
503 # Google domains, and service accounts. A `role` is a named list of permissions
504 # defined by IAM.
505 #
506 # **Example**
507 #
508 # {
509 # "bindings": [
510 # {
511 # "role": "roles/owner",
512 # "members": [
513 # "user:mike@example.com",
514 # "group:admins@example.com",
515 # "domain:google.com",
516 # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
517 # ]
518 # },
519 # {
520 # "role": "roles/viewer",
521 # "members": ["user:sean@example.com"]
522 # }
523 # ]
524 # }
525 #
526 # For a description of IAM and its features, see the
527 # [IAM developer's guide](https://cloud.google.com/iam).
528 "bindings": [ # Associates a list of `members` to a `role`.
529 # Multiple `bindings` must not be specified for the same `role`.
530 # `bindings` with no members will result in an error.
Sai Cheemalapatidf613972016-10-21 13:59:49 -0700531 { # Associates `members` with a `role`.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800532 "role": "A String", # Role that is assigned to `members`.
533 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
534 # Required
535 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
536 # `members` can have the following values:
537 #
538 # * `allUsers`: A special identifier that represents anyone who is
539 # on the internet; with or without a Google account.
540 #
541 # * `allAuthenticatedUsers`: A special identifier that represents anyone
542 # who is authenticated with a Google account or a service account.
543 #
544 # * `user:{emailid}`: An email address that represents a specific Google
545 # account. For example, `alice@gmail.com` or `joe@example.com`.
546 #
547 #
548 # * `serviceAccount:{emailid}`: An email address that represents a service
549 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
550 #
551 # * `group:{emailid}`: An email address that represents a Google group.
552 # For example, `admins@example.com`.
553 #
554 # * `domain:{domain}`: A Google Apps domain name that represents all the
555 # users of that domain. For example, `google.com` or `example.com`.
556 #
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000557 "A String",
558 ],
559 },
560 ],
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800561 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
562 # prevent simultaneous updates of a policy from overwriting each other.
563 # It is strongly suggested that systems make use of the `etag` in the
564 # read-modify-write cycle to perform policy updates in order to avoid race
565 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
566 # systems are expected to put that etag in the request to `setIamPolicy` to
567 # ensure that their change will be applied to the same version of the policy.
568 #
569 # If no `etag` is provided in the call to `setIamPolicy`, then the existing
570 # policy is overwritten blindly.
Sai Cheemalapatidf613972016-10-21 13:59:49 -0700571 "version": 42, # Version of the `Policy`. The default version is 0.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000572 }</pre>
573</div>
574
575<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -0700576 <code class="details" id="testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</code>
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000577 <pre>Returns permissions that a caller has on the specified resource.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800578If the resource does not exist, this will return an empty set of
579permissions, not a NOT_FOUND error.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000580
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400581Note: This operation is designed to be used for building permission-aware
582UIs and command-line tools, not for authorization checking. This operation
583may "fail open" without warning.
584
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000585Args:
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800586 resource: string, REQUIRED: The resource for which the policy detail is being requested.
Sai Cheemalapatie833b792017-03-24 15:06:46 -0700587See the operation documentation for the appropriate value for this field. (required)
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000588 body: object, The request body. (required)
589 The object takes the form of:
590
591{ # Request message for `TestIamPermissions` method.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800592 "permissions": [ # The set of permissions to check for the `resource`. Permissions with
593 # wildcards (such as '*' or 'storage.*') are not allowed. For more
594 # information see
595 # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000596 "A String",
597 ],
598 }
599
600 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800601 Allowed values
602 1 - v1 error format
603 2 - v2 error format
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000604
605Returns:
606 An object of the form:
607
608 { # Response message for `TestIamPermissions` method.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800609 "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is
610 # allowed.
Craig Citroe633be12015-03-02 13:40:36 -0800611 "A String",
612 ],
613 }</pre>
614</div>
615
616</body></html>