• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<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">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">
83  <code><a href="#create">create(name, body, x__xgafv=None)</a></code></p>
84<p class="firstline">Creates the given topic with the given name.</p>
85<p class="toc_element">
86  <code><a href="#delete">delete(topic, x__xgafv=None)</a></code></p>
87<p class="firstline">Deletes the topic with the given name. Returns `NOT_FOUND` if the topic</p>
88<p class="toc_element">
89  <code><a href="#get">get(topic, x__xgafv=None)</a></code></p>
90<p class="firstline">Gets the configuration of a topic.</p>
91<p class="toc_element">
92  <code><a href="#getIamPolicy">getIamPolicy(resource, x__xgafv=None)</a></code></p>
93<p class="firstline">Gets the access control policy for a resource.</p>
94<p class="toc_element">
95  <code><a href="#list">list(project, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
96<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">
101  <code><a href="#publish">publish(topic, body, x__xgafv=None)</a></code></p>
102<p class="firstline">Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic</p>
103<p class="toc_element">
104  <code><a href="#setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</a></code></p>
105<p class="firstline">Sets the access control policy on the specified resource. Replaces any</p>
106<p class="toc_element">
107  <code><a href="#testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</a></code></p>
108<p class="firstline">Returns permissions that a caller has on the specified resource.</p>
109<h3>Method Details</h3>
110<div class="method">
111    <code class="details" id="create">create(name, body, x__xgafv=None)</code>
112  <pre>Creates the given topic with the given name.
113
114Args:
115  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)
121  body: object, The request body. (required)
122    The object takes the form of:
123
124{ # A topic resource.
125  "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"`.
131}
132
133  x__xgafv: string, V1 error format.
134    Allowed values
135      1 - v1 error format
136      2 - v2 error format
137
138Returns:
139  An object of the form:
140
141    { # A topic resource.
142    "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"`.
148  }</pre>
149</div>
150
151<div class="method">
152    <code class="details" id="delete">delete(topic, x__xgafv=None)</code>
153  <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_`.
158
159Args:
160  topic: string, Name of the topic to delete. (required)
161  x__xgafv: string, V1 error format.
162    Allowed values
163      1 - v1 error format
164      2 - v2 error format
165
166Returns:
167  An object of the form:
168
169    { # 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 `{}`.
178  }</pre>
179</div>
180
181<div class="method">
182    <code class="details" id="get">get(topic, x__xgafv=None)</code>
183  <pre>Gets the configuration of a topic.
184
185Args:
186  topic: string, The name of the topic to get. (required)
187  x__xgafv: string, V1 error format.
188    Allowed values
189      1 - v1 error format
190      2 - v2 error format
191
192Returns:
193  An object of the form:
194
195    { # A topic resource.
196    "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"`.
202  }</pre>
203</div>
204
205<div class="method">
206    <code class="details" id="getIamPolicy">getIamPolicy(resource, x__xgafv=None)</code>
207  <pre>Gets the access control policy for a resource.
208Returns an empty policy if the resource exists and does not have a policy
209set.
210
211Args:
212  resource: string, REQUIRED: The resource for which the policy is being requested.
213See the operation documentation for the appropriate value for this field. (required)
214  x__xgafv: string, V1 error format.
215    Allowed values
216      1 - v1 error format
217      2 - v2 error format
218
219Returns:
220  An object of the form:
221
222    { # 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      # **JSON 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      # **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      #
265      # For a description of IAM and its features, see the
266      # [IAM developer's guide](https://cloud.google.com/iam/docs).
267    "bindings": [ # Associates a list of `members` to a `role`.
268        # `bindings` with no members will result in an error.
269      { # Associates `members` with a `role`.
270        "role": "A String", # Role that is assigned to `members`.
271            # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
272        "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        },
293        "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
303            #    account. For example, `alice@gmail.com` .
304            #
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            #
312            #
313            # * `domain:{domain}`: The G Suite domain (primary) that represents all the
314            #    users of that domain. For example, `google.com` or `example.com`.
315            #
316          "A String",
317        ],
318      },
319    ],
320    "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.
330    "version": 42, # Deprecated.
331  }</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.
341  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.
344  x__xgafv: string, V1 error format.
345    Allowed values
346      1 - v1 error format
347      2 - v2 error format
348
349Returns:
350  An object of the form:
351
352    { # Response for the `ListTopics` method.
353    "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`.
355    "topics": [ # The resulting topics.
356      { # A topic resource.
357        "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"`.
363      },
364    ],
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">
383    <code class="details" id="publish">publish(topic, body, x__xgafv=None)</code>
384  <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.
387
388Args:
389  topic: string, The messages in the request will be published on this topic. (required)
390  body: object, The request body. (required)
391    The object takes the form of:
392
393{ # Request for the Publish method.
394    "messages": [ # The messages to publish.
395      { # 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.
397        "attributes": { # Optional attributes for this message.
398          "a_key": "A String",
399        },
400        "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.
409      },
410    ],
411  }
412
413  x__xgafv: string, V1 error format.
414    Allowed values
415      1 - v1 error format
416      2 - v2 error format
417
418Returns:
419  An object of the form:
420
421    { # Response for the `Publish` method.
422    "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.
425      "A String",
426    ],
427  }</pre>
428</div>
429
430<div class="method">
431    <code class="details" id="setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</code>
432  <pre>Sets the access control policy on the specified resource. Replaces any
433existing policy.
434
435Args:
436  resource: string, REQUIRED: The resource for which the policy is being specified.
437See the operation documentation for the appropriate value for this field. (required)
438  body: object, The request body. (required)
439    The object takes the form of:
440
441{ # Request message for `SetIamPolicy` method.
442    "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        #
449        # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
450        # `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        #
454        # **JSON Example**
455        #
456        #     {
457        #       "bindings": [
458        #         {
459        #           "role": "roles/owner",
460        #           "members": [
461        #             "user:mike@example.com",
462        #             "group:admins@example.com",
463        #             "domain:google.com",
464        #             "serviceAccount:my-other-app@appspot.gserviceaccount.com"
465        #           ]
466        #         },
467        #         {
468        #           "role": "roles/viewer",
469        #           "members": ["user:sean@example.com"]
470        #         }
471        #       ]
472        #     }
473        #
474        # **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        #
488        # For a description of IAM and its features, see the
489        # [IAM developer's guide](https://cloud.google.com/iam/docs).
490      "bindings": [ # Associates a list of `members` to a `role`.
491          # `bindings` with no members will result in an error.
492        { # Associates `members` with a `role`.
493          "role": "A String", # Role that is assigned to `members`.
494              # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
495          "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          },
516          "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
526              #    account. For example, `alice@gmail.com` .
527              #
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              #
535              #
536              # * `domain:{domain}`: The G Suite domain (primary) that represents all the
537              #    users of that domain. For example, `google.com` or `example.com`.
538              #
539            "A String",
540          ],
541        },
542      ],
543      "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.
553      "version": 42, # Deprecated.
554    },
555  }
556
557  x__xgafv: string, V1 error format.
558    Allowed values
559      1 - v1 error format
560      2 - v2 error format
561
562Returns:
563  An object of the form:
564
565    { # Defines an Identity and Access Management (IAM) policy. It is used to
566      # specify access control policies for Cloud Platform resources.
567      #
568      #
569      # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
570      # `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      #
574      # **JSON Example**
575      #
576      #     {
577      #       "bindings": [
578      #         {
579      #           "role": "roles/owner",
580      #           "members": [
581      #             "user:mike@example.com",
582      #             "group:admins@example.com",
583      #             "domain:google.com",
584      #             "serviceAccount:my-other-app@appspot.gserviceaccount.com"
585      #           ]
586      #         },
587      #         {
588      #           "role": "roles/viewer",
589      #           "members": ["user:sean@example.com"]
590      #         }
591      #       ]
592      #     }
593      #
594      # **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      #
608      # For a description of IAM and its features, see the
609      # [IAM developer's guide](https://cloud.google.com/iam/docs).
610    "bindings": [ # Associates a list of `members` to a `role`.
611        # `bindings` with no members will result in an error.
612      { # Associates `members` with a `role`.
613        "role": "A String", # Role that is assigned to `members`.
614            # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
615        "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        },
636        "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
646            #    account. For example, `alice@gmail.com` .
647            #
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            #
655            #
656            # * `domain:{domain}`: The G Suite domain (primary) that represents all the
657            #    users of that domain. For example, `google.com` or `example.com`.
658            #
659          "A String",
660        ],
661      },
662    ],
663    "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.
673    "version": 42, # Deprecated.
674  }</pre>
675</div>
676
677<div class="method">
678    <code class="details" id="testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</code>
679  <pre>Returns permissions that a caller has on the specified resource.
680If the resource does not exist, this will return an empty set of
681permissions, not a NOT_FOUND error.
682
683Note: 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
687Args:
688  resource: string, REQUIRED: The resource for which the policy detail is being requested.
689See the operation documentation for the appropriate value for this field. (required)
690  body: object, The request body. (required)
691    The object takes the form of:
692
693{ # Request message for `TestIamPermissions` method.
694    "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).
698      "A String",
699    ],
700  }
701
702  x__xgafv: string, V1 error format.
703    Allowed values
704      1 - v1 error format
705      2 - v2 error format
706
707Returns:
708  An object of the form:
709
710    { # Response message for `TestIamPermissions` method.
711    "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is
712        # allowed.
713      "A String",
714    ],
715  }</pre>
716</div>
717
718</body></html>