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_v1.html">Google Cloud Pub/Sub API</a> . <a href="pubsub_v1.projects.html">projects</a> . <a href="pubsub_v1.projects.snapshots.html">snapshots</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
78  <code><a href="#getIamPolicy">getIamPolicy(resource, x__xgafv=None)</a></code></p>
79<p class="firstline">Gets the access control policy for a resource.</p>
80<p class="toc_element">
81  <code><a href="#setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</a></code></p>
82<p class="firstline">Sets the access control policy on the specified resource. Replaces any</p>
83<p class="toc_element">
84  <code><a href="#testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</a></code></p>
85<p class="firstline">Returns permissions that a caller has on the specified resource.</p>
86<h3>Method Details</h3>
87<div class="method">
88    <code class="details" id="getIamPolicy">getIamPolicy(resource, x__xgafv=None)</code>
89  <pre>Gets the access control policy for a resource.
90Returns an empty policy if the resource exists and does not have a policy
91set.
92
93Args:
94  resource: string, REQUIRED: The resource for which the policy is being requested.
95See the operation documentation for the appropriate value for this field. (required)
96  x__xgafv: string, V1 error format.
97    Allowed values
98      1 - v1 error format
99      2 - v2 error format
100
101Returns:
102  An object of the form:
103
104    { # Defines an Identity and Access Management (IAM) policy. It is used to
105      # specify access control policies for Cloud Platform resources.
106      #
107      #
108      # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
109      # `members` to a `role`, where the members can be user accounts, Google groups,
110      # Google domains, and service accounts. A `role` is a named list of permissions
111      # defined by IAM.
112      #
113      # **Example**
114      #
115      #     {
116      #       "bindings": [
117      #         {
118      #           "role": "roles/owner",
119      #           "members": [
120      #             "user:mike@example.com",
121      #             "group:admins@example.com",
122      #             "domain:google.com",
123      #             "serviceAccount:my-other-app@appspot.gserviceaccount.com",
124      #           ]
125      #         },
126      #         {
127      #           "role": "roles/viewer",
128      #           "members": ["user:sean@example.com"]
129      #         }
130      #       ]
131      #     }
132      #
133      # For a description of IAM and its features, see the
134      # [IAM developer's guide](https://cloud.google.com/iam).
135    "bindings": [ # Associates a list of `members` to a `role`.
136        # Multiple `bindings` must not be specified for the same `role`.
137        # `bindings` with no members will result in an error.
138      { # Associates `members` with a `role`.
139        "role": "A String", # Role that is assigned to `members`.
140            # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
141            # Required
142        "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
143            # `members` can have the following values:
144            #
145            # * `allUsers`: A special identifier that represents anyone who is
146            #    on the internet; with or without a Google account.
147            #
148            # * `allAuthenticatedUsers`: A special identifier that represents anyone
149            #    who is authenticated with a Google account or a service account.
150            #
151            # * `user:{emailid}`: An email address that represents a specific Google
152            #    account. For example, `alice@gmail.com` or `joe@example.com`.
153            #
154            #
155            # * `serviceAccount:{emailid}`: An email address that represents a service
156            #    account. For example, `my-other-app@appspot.gserviceaccount.com`.
157            #
158            # * `group:{emailid}`: An email address that represents a Google group.
159            #    For example, `admins@example.com`.
160            #
161            # * `domain:{domain}`: A Google Apps domain name that represents all the
162            #    users of that domain. For example, `google.com` or `example.com`.
163            #
164          "A String",
165        ],
166      },
167    ],
168    "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
169        # prevent simultaneous updates of a policy from overwriting each other.
170        # It is strongly suggested that systems make use of the `etag` in the
171        # read-modify-write cycle to perform policy updates in order to avoid race
172        # conditions: An `etag` is returned in the response to `getIamPolicy`, and
173        # systems are expected to put that etag in the request to `setIamPolicy` to
174        # ensure that their change will be applied to the same version of the policy.
175        #
176        # If no `etag` is provided in the call to `setIamPolicy`, then the existing
177        # policy is overwritten blindly.
178    "version": 42, # Version of the `Policy`. The default version is 0.
179  }</pre>
180</div>
181
182<div class="method">
183    <code class="details" id="setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</code>
184  <pre>Sets the access control policy on the specified resource. Replaces any
185existing policy.
186
187Args:
188  resource: string, REQUIRED: The resource for which the policy is being specified.
189See the operation documentation for the appropriate value for this field. (required)
190  body: object, The request body. (required)
191    The object takes the form of:
192
193{ # Request message for `SetIamPolicy` method.
194    "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
195        # the policy is limited to a few 10s of KB. An empty policy is a
196        # valid policy but certain Cloud Platform services (such as Projects)
197        # might reject them.
198        # specify access control policies for Cloud Platform resources.
199        #
200        #
201        # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
202        # `members` to a `role`, where the members can be user accounts, Google groups,
203        # Google domains, and service accounts. A `role` is a named list of permissions
204        # defined by IAM.
205        #
206        # **Example**
207        #
208        #     {
209        #       "bindings": [
210        #         {
211        #           "role": "roles/owner",
212        #           "members": [
213        #             "user:mike@example.com",
214        #             "group:admins@example.com",
215        #             "domain:google.com",
216        #             "serviceAccount:my-other-app@appspot.gserviceaccount.com",
217        #           ]
218        #         },
219        #         {
220        #           "role": "roles/viewer",
221        #           "members": ["user:sean@example.com"]
222        #         }
223        #       ]
224        #     }
225        #
226        # For a description of IAM and its features, see the
227        # [IAM developer's guide](https://cloud.google.com/iam).
228      "bindings": [ # Associates a list of `members` to a `role`.
229          # Multiple `bindings` must not be specified for the same `role`.
230          # `bindings` with no members will result in an error.
231        { # Associates `members` with a `role`.
232          "role": "A String", # Role that is assigned to `members`.
233              # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
234              # Required
235          "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
236              # `members` can have the following values:
237              #
238              # * `allUsers`: A special identifier that represents anyone who is
239              #    on the internet; with or without a Google account.
240              #
241              # * `allAuthenticatedUsers`: A special identifier that represents anyone
242              #    who is authenticated with a Google account or a service account.
243              #
244              # * `user:{emailid}`: An email address that represents a specific Google
245              #    account. For example, `alice@gmail.com` or `joe@example.com`.
246              #
247              #
248              # * `serviceAccount:{emailid}`: An email address that represents a service
249              #    account. For example, `my-other-app@appspot.gserviceaccount.com`.
250              #
251              # * `group:{emailid}`: An email address that represents a Google group.
252              #    For example, `admins@example.com`.
253              #
254              # * `domain:{domain}`: A Google Apps domain name that represents all the
255              #    users of that domain. For example, `google.com` or `example.com`.
256              #
257            "A String",
258          ],
259        },
260      ],
261      "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
262          # prevent simultaneous updates of a policy from overwriting each other.
263          # It is strongly suggested that systems make use of the `etag` in the
264          # read-modify-write cycle to perform policy updates in order to avoid race
265          # conditions: An `etag` is returned in the response to `getIamPolicy`, and
266          # systems are expected to put that etag in the request to `setIamPolicy` to
267          # ensure that their change will be applied to the same version of the policy.
268          #
269          # If no `etag` is provided in the call to `setIamPolicy`, then the existing
270          # policy is overwritten blindly.
271      "version": 42, # Version of the `Policy`. The default version is 0.
272    },
273  }
274
275  x__xgafv: string, V1 error format.
276    Allowed values
277      1 - v1 error format
278      2 - v2 error format
279
280Returns:
281  An object of the form:
282
283    { # Defines an Identity and Access Management (IAM) policy. It is used to
284      # specify access control policies for Cloud Platform resources.
285      #
286      #
287      # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
288      # `members` to a `role`, where the members can be user accounts, Google groups,
289      # Google domains, and service accounts. A `role` is a named list of permissions
290      # defined by IAM.
291      #
292      # **Example**
293      #
294      #     {
295      #       "bindings": [
296      #         {
297      #           "role": "roles/owner",
298      #           "members": [
299      #             "user:mike@example.com",
300      #             "group:admins@example.com",
301      #             "domain:google.com",
302      #             "serviceAccount:my-other-app@appspot.gserviceaccount.com",
303      #           ]
304      #         },
305      #         {
306      #           "role": "roles/viewer",
307      #           "members": ["user:sean@example.com"]
308      #         }
309      #       ]
310      #     }
311      #
312      # For a description of IAM and its features, see the
313      # [IAM developer's guide](https://cloud.google.com/iam).
314    "bindings": [ # Associates a list of `members` to a `role`.
315        # Multiple `bindings` must not be specified for the same `role`.
316        # `bindings` with no members will result in an error.
317      { # Associates `members` with a `role`.
318        "role": "A String", # Role that is assigned to `members`.
319            # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
320            # Required
321        "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
322            # `members` can have the following values:
323            #
324            # * `allUsers`: A special identifier that represents anyone who is
325            #    on the internet; with or without a Google account.
326            #
327            # * `allAuthenticatedUsers`: A special identifier that represents anyone
328            #    who is authenticated with a Google account or a service account.
329            #
330            # * `user:{emailid}`: An email address that represents a specific Google
331            #    account. For example, `alice@gmail.com` or `joe@example.com`.
332            #
333            #
334            # * `serviceAccount:{emailid}`: An email address that represents a service
335            #    account. For example, `my-other-app@appspot.gserviceaccount.com`.
336            #
337            # * `group:{emailid}`: An email address that represents a Google group.
338            #    For example, `admins@example.com`.
339            #
340            # * `domain:{domain}`: A Google Apps domain name that represents all the
341            #    users of that domain. For example, `google.com` or `example.com`.
342            #
343          "A String",
344        ],
345      },
346    ],
347    "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
348        # prevent simultaneous updates of a policy from overwriting each other.
349        # It is strongly suggested that systems make use of the `etag` in the
350        # read-modify-write cycle to perform policy updates in order to avoid race
351        # conditions: An `etag` is returned in the response to `getIamPolicy`, and
352        # systems are expected to put that etag in the request to `setIamPolicy` to
353        # ensure that their change will be applied to the same version of the policy.
354        #
355        # If no `etag` is provided in the call to `setIamPolicy`, then the existing
356        # policy is overwritten blindly.
357    "version": 42, # Version of the `Policy`. The default version is 0.
358  }</pre>
359</div>
360
361<div class="method">
362    <code class="details" id="testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</code>
363  <pre>Returns permissions that a caller has on the specified resource.
364If the resource does not exist, this will return an empty set of
365permissions, not a NOT_FOUND error.
366
367Note: This operation is designed to be used for building permission-aware
368UIs and command-line tools, not for authorization checking. This operation
369may "fail open" without warning.
370
371Args:
372  resource: string, REQUIRED: The resource for which the policy detail is being requested.
373See the operation documentation for the appropriate value for this field. (required)
374  body: object, The request body. (required)
375    The object takes the form of:
376
377{ # Request message for `TestIamPermissions` method.
378    "permissions": [ # The set of permissions to check for the `resource`. Permissions with
379        # wildcards (such as '*' or 'storage.*') are not allowed. For more
380        # information see
381        # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
382      "A String",
383    ],
384  }
385
386  x__xgafv: string, V1 error format.
387    Allowed values
388      1 - v1 error format
389      2 - v2 error format
390
391Returns:
392  An object of the form:
393
394    { # Response message for `TestIamPermissions` method.
395    "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is
396        # allowed.
397      "A String",
398    ],
399  }</pre>
400</div>
401
402</body></html>