blob: f9bd86433d7845295f1f1588244d8315dca6fa13 [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">
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 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700226 # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800227 # `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 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700231 # **JSON Example**
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800232 #
233 # {
234 # "bindings": [
235 # {
236 # "role": "roles/owner",
237 # "members": [
238 # "user:mike@example.com",
239 # "group:admins@example.com",
240 # "domain:google.com",
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700241 # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800242 # ]
243 # },
244 # {
245 # "role": "roles/viewer",
246 # "members": ["user:sean@example.com"]
247 # }
248 # ]
249 # }
250 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700251 # **YAML Example**
252 #
253 # bindings:
254 # - members:
255 # - user:mike@example.com
256 # - group:admins@example.com
257 # - domain:google.com
258 # - serviceAccount:my-other-app@appspot.gserviceaccount.com
259 # role: roles/owner
260 # - members:
261 # - user:sean@example.com
262 # role: roles/viewer
263 #
264 #
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800265 # For a description of IAM and its features, see the
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700266 # [IAM developer's guide](https://cloud.google.com/iam/docs).
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800267 "bindings": [ # Associates a list of `members` to a `role`.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800268 # `bindings` with no members will result in an error.
Sai Cheemalapatidf613972016-10-21 13:59:49 -0700269 { # Associates `members` with a `role`.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800270 "role": "A String", # Role that is assigned to `members`.
271 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700272 "condition": { # Represents an expression text. Example: # The condition that is associated with this binding.
273 # NOTE: An unsatisfied condition will not allow user access via current
274 # binding. Different bindings, including their conditions, are examined
275 # independently.
276 #
277 # title: "User account presence"
278 # description: "Determines whether the request has a user account"
279 # expression: "size(request.user) > 0"
280 "description": "A String", # An optional description of the expression. This is a longer text which
281 # describes the expression, e.g. when hovered over it in a UI.
282 "expression": "A String", # Textual representation of an expression in
283 # Common Expression Language syntax.
284 #
285 # The application context of the containing message determines which
286 # well-known feature set of CEL is supported.
287 "location": "A String", # An optional string indicating the location of the expression for error
288 # reporting, e.g. a file name and a position in the file.
289 "title": "A String", # An optional title for the expression, i.e. a short string describing
290 # its purpose. This can be used e.g. in UIs which allow to enter the
291 # expression.
292 },
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800293 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
294 # `members` can have the following values:
295 #
296 # * `allUsers`: A special identifier that represents anyone who is
297 # on the internet; with or without a Google account.
298 #
299 # * `allAuthenticatedUsers`: A special identifier that represents anyone
300 # who is authenticated with a Google account or a service account.
301 #
302 # * `user:{emailid}`: An email address that represents a specific Google
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700303 # account. For example, `alice@gmail.com` .
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800304 #
305 #
306 # * `serviceAccount:{emailid}`: An email address that represents a service
307 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
308 #
309 # * `group:{emailid}`: An email address that represents a Google group.
310 # For example, `admins@example.com`.
311 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700312 #
313 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800314 # users of that domain. For example, `google.com` or `example.com`.
315 #
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000316 "A String",
317 ],
318 },
319 ],
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800320 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
321 # prevent simultaneous updates of a policy from overwriting each other.
322 # It is strongly suggested that systems make use of the `etag` in the
323 # read-modify-write cycle to perform policy updates in order to avoid race
324 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
325 # systems are expected to put that etag in the request to `setIamPolicy` to
326 # ensure that their change will be applied to the same version of the policy.
327 #
328 # If no `etag` is provided in the call to `setIamPolicy`, then the existing
329 # policy is overwritten blindly.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700330 "version": 42, # Deprecated.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000331 }</pre>
332</div>
333
334<div class="method">
335 <code class="details" id="list">list(project, pageSize=None, pageToken=None, x__xgafv=None)</code>
336 <pre>Lists matching topics.
337
338Args:
339 project: string, The name of the cloud project that topics belong to. (required)
340 pageSize: integer, Maximum number of topics to return.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800341 pageToken: string, The value returned by the last `ListTopicsResponse`; indicates that this is
342a continuation of a prior `ListTopics` call, and that the system should
343return the next page of data.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000344 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800345 Allowed values
346 1 - v1 error format
347 2 - v2 error format
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000348
349Returns:
350 An object of the form:
351
Sai Cheemalapatidf613972016-10-21 13:59:49 -0700352 { # Response for the `ListTopics` method.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800353 "nextPageToken": "A String", # If not empty, indicates that there may be more topics that match the
354 # request; this value should be passed in a new `ListTopicsRequest`.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000355 "topics": [ # The resulting topics.
356 { # A topic resource.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800357 "name": "A String", # The name of the topic. It must have the format
358 # `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
359 # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
360 # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
361 # signs (`%`). It must be between 3 and 255 characters in length, and it
362 # must not start with `"goog"`.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000363 },
Craig Citroe633be12015-03-02 13:40:36 -0800364 ],
365 }</pre>
366</div>
367
368<div class="method">
369 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
370 <pre>Retrieves the next page of results.
371
372Args:
373 previous_request: The request for the previous page. (required)
374 previous_response: The response from the request for the previous page. (required)
375
376Returns:
377 A request object that you can call 'execute()' on to request the next
378 page. Returns None if there are no more items in the collection.
379 </pre>
380</div>
381
382<div class="method">
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000383 <code class="details" id="publish">publish(topic, body, x__xgafv=None)</code>
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800384 <pre>Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic
385does not exist. The message payload must not be empty; it must contain
386 either a non-empty data field, or at least one attribute.
Craig Citroe633be12015-03-02 13:40:36 -0800387
388Args:
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000389 topic: string, The messages in the request will be published on this topic. (required)
Craig Citroe633be12015-03-02 13:40:36 -0800390 body: object, The request body. (required)
391 The object takes the form of:
392
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000393{ # Request for the Publish method.
394 "messages": [ # The messages to publish.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800395 { # A message data and its attributes. The message payload must not be empty;
396 # it must contain either a non-empty data field, or at least one attribute.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000397 "attributes": { # Optional attributes for this message.
Craig Citroe633be12015-03-02 13:40:36 -0800398 "a_key": "A String",
399 },
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800400 "data": "A String", # The message payload. For JSON requests, the value of this field must be
401 # [base64-encoded](https://tools.ietf.org/html/rfc4648).
402 "publishTime": "A String", # The time at which the message was published, populated by the server when
403 # it receives the `Publish` call. It must not be populated by the
404 # publisher in a `Publish` call.
405 "messageId": "A String", # ID of this message, assigned by the server when the message is published.
406 # Guaranteed to be unique within the topic. This value may be read by a
407 # subscriber that receives a `PubsubMessage` via a `Pull` call or a push
408 # delivery. It must not be populated by the publisher in a `Publish` call.
Craig Citroe633be12015-03-02 13:40:36 -0800409 },
410 ],
411 }
412
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000413 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800414 Allowed values
415 1 - v1 error format
416 2 - v2 error format
Craig Citroe633be12015-03-02 13:40:36 -0800417
418Returns:
419 An object of the form:
420
Sai Cheemalapatidf613972016-10-21 13:59:49 -0700421 { # Response for the `Publish` method.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800422 "messageIds": [ # The server-assigned ID of each published message, in the same order as
423 # the messages in the request. IDs are guaranteed to be unique within
424 # the topic.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000425 "A String",
426 ],
427 }</pre>
428</div>
429
430<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -0700431 <code class="details" id="setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</code>
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800432 <pre>Sets the access control policy on the specified resource. Replaces any
433existing policy.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000434
435Args:
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800436 resource: string, REQUIRED: The resource for which the policy is being specified.
Sai Cheemalapatie833b792017-03-24 15:06:46 -0700437See the operation documentation for the appropriate value for this field. (required)
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000438 body: object, The request body. (required)
439 The object takes the form of:
440
441{ # Request message for `SetIamPolicy` method.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800442 "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
443 # the policy is limited to a few 10s of KB. An empty policy is a
444 # valid policy but certain Cloud Platform services (such as Projects)
445 # might reject them.
446 # specify access control policies for Cloud Platform resources.
447 #
448 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700449 # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800450 # `members` to a `role`, where the members can be user accounts, Google groups,
451 # Google domains, and service accounts. A `role` is a named list of permissions
452 # defined by IAM.
453 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700454 # **JSON Example**
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800455 #
456 # {
457 # "bindings": [
458 # {
459 # "role": "roles/owner",
460 # "members": [
461 # "user:mike@example.com",
462 # "group:admins@example.com",
463 # "domain:google.com",
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700464 # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800465 # ]
466 # },
467 # {
468 # "role": "roles/viewer",
469 # "members": ["user:sean@example.com"]
470 # }
471 # ]
472 # }
473 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700474 # **YAML Example**
475 #
476 # bindings:
477 # - members:
478 # - user:mike@example.com
479 # - group:admins@example.com
480 # - domain:google.com
481 # - serviceAccount:my-other-app@appspot.gserviceaccount.com
482 # role: roles/owner
483 # - members:
484 # - user:sean@example.com
485 # role: roles/viewer
486 #
487 #
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800488 # For a description of IAM and its features, see the
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700489 # [IAM developer's guide](https://cloud.google.com/iam/docs).
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800490 "bindings": [ # Associates a list of `members` to a `role`.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800491 # `bindings` with no members will result in an error.
Sai Cheemalapatidf613972016-10-21 13:59:49 -0700492 { # Associates `members` with a `role`.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800493 "role": "A String", # Role that is assigned to `members`.
494 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700495 "condition": { # Represents an expression text. Example: # The condition that is associated with this binding.
496 # NOTE: An unsatisfied condition will not allow user access via current
497 # binding. Different bindings, including their conditions, are examined
498 # independently.
499 #
500 # title: "User account presence"
501 # description: "Determines whether the request has a user account"
502 # expression: "size(request.user) > 0"
503 "description": "A String", # An optional description of the expression. This is a longer text which
504 # describes the expression, e.g. when hovered over it in a UI.
505 "expression": "A String", # Textual representation of an expression in
506 # Common Expression Language syntax.
507 #
508 # The application context of the containing message determines which
509 # well-known feature set of CEL is supported.
510 "location": "A String", # An optional string indicating the location of the expression for error
511 # reporting, e.g. a file name and a position in the file.
512 "title": "A String", # An optional title for the expression, i.e. a short string describing
513 # its purpose. This can be used e.g. in UIs which allow to enter the
514 # expression.
515 },
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800516 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
517 # `members` can have the following values:
518 #
519 # * `allUsers`: A special identifier that represents anyone who is
520 # on the internet; with or without a Google account.
521 #
522 # * `allAuthenticatedUsers`: A special identifier that represents anyone
523 # who is authenticated with a Google account or a service account.
524 #
525 # * `user:{emailid}`: An email address that represents a specific Google
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700526 # account. For example, `alice@gmail.com` .
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800527 #
528 #
529 # * `serviceAccount:{emailid}`: An email address that represents a service
530 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
531 #
532 # * `group:{emailid}`: An email address that represents a Google group.
533 # For example, `admins@example.com`.
534 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700535 #
536 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800537 # users of that domain. For example, `google.com` or `example.com`.
538 #
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000539 "A String",
540 ],
541 },
542 ],
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800543 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
544 # prevent simultaneous updates of a policy from overwriting each other.
545 # It is strongly suggested that systems make use of the `etag` in the
546 # read-modify-write cycle to perform policy updates in order to avoid race
547 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
548 # systems are expected to put that etag in the request to `setIamPolicy` to
549 # ensure that their change will be applied to the same version of the policy.
550 #
551 # If no `etag` is provided in the call to `setIamPolicy`, then the existing
552 # policy is overwritten blindly.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700553 "version": 42, # Deprecated.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000554 },
555 }
556
557 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800558 Allowed values
559 1 - v1 error format
560 2 - v2 error format
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000561
562Returns:
563 An object of the form:
564
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800565 { # Defines an Identity and Access Management (IAM) policy. It is used to
566 # specify access control policies for Cloud Platform resources.
567 #
568 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700569 # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800570 # `members` to a `role`, where the members can be user accounts, Google groups,
571 # Google domains, and service accounts. A `role` is a named list of permissions
572 # defined by IAM.
573 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700574 # **JSON Example**
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800575 #
576 # {
577 # "bindings": [
578 # {
579 # "role": "roles/owner",
580 # "members": [
581 # "user:mike@example.com",
582 # "group:admins@example.com",
583 # "domain:google.com",
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700584 # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800585 # ]
586 # },
587 # {
588 # "role": "roles/viewer",
589 # "members": ["user:sean@example.com"]
590 # }
591 # ]
592 # }
593 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700594 # **YAML Example**
595 #
596 # bindings:
597 # - members:
598 # - user:mike@example.com
599 # - group:admins@example.com
600 # - domain:google.com
601 # - serviceAccount:my-other-app@appspot.gserviceaccount.com
602 # role: roles/owner
603 # - members:
604 # - user:sean@example.com
605 # role: roles/viewer
606 #
607 #
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800608 # For a description of IAM and its features, see the
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700609 # [IAM developer's guide](https://cloud.google.com/iam/docs).
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800610 "bindings": [ # Associates a list of `members` to a `role`.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800611 # `bindings` with no members will result in an error.
Sai Cheemalapatidf613972016-10-21 13:59:49 -0700612 { # Associates `members` with a `role`.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800613 "role": "A String", # Role that is assigned to `members`.
614 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700615 "condition": { # Represents an expression text. Example: # The condition that is associated with this binding.
616 # NOTE: An unsatisfied condition will not allow user access via current
617 # binding. Different bindings, including their conditions, are examined
618 # independently.
619 #
620 # title: "User account presence"
621 # description: "Determines whether the request has a user account"
622 # expression: "size(request.user) > 0"
623 "description": "A String", # An optional description of the expression. This is a longer text which
624 # describes the expression, e.g. when hovered over it in a UI.
625 "expression": "A String", # Textual representation of an expression in
626 # Common Expression Language syntax.
627 #
628 # The application context of the containing message determines which
629 # well-known feature set of CEL is supported.
630 "location": "A String", # An optional string indicating the location of the expression for error
631 # reporting, e.g. a file name and a position in the file.
632 "title": "A String", # An optional title for the expression, i.e. a short string describing
633 # its purpose. This can be used e.g. in UIs which allow to enter the
634 # expression.
635 },
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800636 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
637 # `members` can have the following values:
638 #
639 # * `allUsers`: A special identifier that represents anyone who is
640 # on the internet; with or without a Google account.
641 #
642 # * `allAuthenticatedUsers`: A special identifier that represents anyone
643 # who is authenticated with a Google account or a service account.
644 #
645 # * `user:{emailid}`: An email address that represents a specific Google
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700646 # account. For example, `alice@gmail.com` .
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800647 #
648 #
649 # * `serviceAccount:{emailid}`: An email address that represents a service
650 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
651 #
652 # * `group:{emailid}`: An email address that represents a Google group.
653 # For example, `admins@example.com`.
654 #
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700655 #
656 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800657 # users of that domain. For example, `google.com` or `example.com`.
658 #
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000659 "A String",
660 ],
661 },
662 ],
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800663 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
664 # prevent simultaneous updates of a policy from overwriting each other.
665 # It is strongly suggested that systems make use of the `etag` in the
666 # read-modify-write cycle to perform policy updates in order to avoid race
667 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
668 # systems are expected to put that etag in the request to `setIamPolicy` to
669 # ensure that their change will be applied to the same version of the policy.
670 #
671 # If no `etag` is provided in the call to `setIamPolicy`, then the existing
672 # policy is overwritten blindly.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700673 "version": 42, # Deprecated.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000674 }</pre>
675</div>
676
677<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -0700678 <code class="details" id="testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</code>
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000679 <pre>Returns permissions that a caller has on the specified resource.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800680If the resource does not exist, this will return an empty set of
681permissions, not a NOT_FOUND error.
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000682
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400683Note: This operation is designed to be used for building permission-aware
684UIs and command-line tools, not for authorization checking. This operation
685may "fail open" without warning.
686
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000687Args:
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800688 resource: string, REQUIRED: The resource for which the policy detail is being requested.
Sai Cheemalapatie833b792017-03-24 15:06:46 -0700689See the operation documentation for the appropriate value for this field. (required)
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000690 body: object, The request body. (required)
691 The object takes the form of:
692
693{ # Request message for `TestIamPermissions` method.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800694 "permissions": [ # The set of permissions to check for the `resource`. Permissions with
695 # wildcards (such as '*' or 'storage.*') are not allowed. For more
696 # information see
697 # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000698 "A String",
699 ],
700 }
701
702 x__xgafv: string, V1 error format.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800703 Allowed values
704 1 - v1 error format
705 2 - v2 error format
Nathaniel Manista4f877e52015-06-15 16:44:50 +0000706
707Returns:
708 An object of the form:
709
710 { # Response message for `TestIamPermissions` method.
Jon Wayne Parrott692617a2017-01-06 09:58:29 -0800711 "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is
712 # allowed.
Craig Citroe633be12015-03-02 13:40:36 -0800713 "A String",
714 ],
715 }</pre>
716</div>
717
718</body></html>