blob: 98e86450dc0a606fe493611ec1492b1f2a55edf8 [file] [log] [blame]
Takashi Matsuo06694102015-09-11 13:55:40 -07001<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="cloudbilling_v1.html">Cloud Billing API</a> . <a href="cloudbilling_v1.billingAccounts.html">billingAccounts</a></h1>
Takashi Matsuo06694102015-09-11 13:55:40 -070076<h2>Instance Methods</h2>
77<p class="toc_element">
78 <code><a href="cloudbilling_v1.billingAccounts.projects.html">projects()</a></code>
79</p>
80<p class="firstline">Returns the projects Resource.</p>
81
82<p class="toc_element">
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070083 <code><a href="#create">create(body, x__xgafv=None)</a></code></p>
84<p class="firstline">Creates a billing account.</p>
85<p class="toc_element">
Thomas Coffee2f245372017-03-27 10:39:26 -070086 <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -040087<p class="firstline">Gets information about a billing account. The current authenticated user</p>
Takashi Matsuo06694102015-09-11 13:55:40 -070088<p class="toc_element">
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070089 <code><a href="#getIamPolicy">getIamPolicy(resource, x__xgafv=None)</a></code></p>
90<p class="firstline">Gets the access control policy for a billing account.</p>
91<p class="toc_element">
92 <code><a href="#list">list(pageSize=None, pageToken=None, x__xgafv=None, filter=None)</a></code></p>
93<p class="firstline">Lists the billing accounts that the current authenticated user has</p>
Takashi Matsuo06694102015-09-11 13:55:40 -070094<p class="toc_element">
95 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
96<p class="firstline">Retrieves the next page of results.</p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070097<p class="toc_element">
98 <code><a href="#patch">patch(name, body, updateMask=None, x__xgafv=None)</a></code></p>
99<p class="firstline">Updates a billing account's fields.</p>
100<p class="toc_element">
101 <code><a href="#setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</a></code></p>
102<p class="firstline">Sets the access control policy for a billing account. Replaces any existing</p>
103<p class="toc_element">
104 <code><a href="#testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</a></code></p>
105<p class="firstline">Tests the access control policy for a billing account. This method takes</p>
Takashi Matsuo06694102015-09-11 13:55:40 -0700106<h3>Method Details</h3>
107<div class="method">
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700108 <code class="details" id="create">create(body, x__xgafv=None)</code>
109 <pre>Creates a billing account.
110This method can only be used to create
111[billing subaccounts](https://cloud.google.com/billing/docs/concepts)
112by GCP resellers.
113When creating a subaccount, the current authenticated user must have the
114`billing.accounts.update` IAM permission on the master account, which is
115typically given to billing account
116[administrators](https://cloud.google.com/billing/docs/how-to/billing-access).
117This method will return an error if the master account has not been
118provisioned as a reseller account.
119
120Args:
121 body: object, The request body. (required)
122 The object takes the form of:
123
124{ # A billing account in [GCP Console](https://console.cloud.google.com/).
125 # You can assign a billing account to one or more projects.
126 "displayName": "A String", # The display name given to the billing account, such as `My Billing
127 # Account`. This name is displayed in the GCP Console.
128 "masterBillingAccount": "A String", # If this account is a
129 # [subaccount](https://cloud.google.com/billing/docs/concepts), then this
130 # will be the resource name of the master billing account that it is being
131 # resold through.
132 # Otherwise this will be empty.
133 "open": True or False, # True if the billing account is open, and will therefore be charged for any
134 # usage on associated projects. False if the billing account is closed, and
135 # therefore projects associated with it will be unable to use paid services.
136 "name": "A String", # The resource name of the billing account. The resource name has the form
137 # `billingAccounts/{billing_account_id}`. For example,
138 # `billingAccounts/012345-567890-ABCDEF` would be the resource name for
139 # billing account `012345-567890-ABCDEF`.
140}
141
142 x__xgafv: string, V1 error format.
143 Allowed values
144 1 - v1 error format
145 2 - v2 error format
146
147Returns:
148 An object of the form:
149
150 { # A billing account in [GCP Console](https://console.cloud.google.com/).
151 # You can assign a billing account to one or more projects.
152 "displayName": "A String", # The display name given to the billing account, such as `My Billing
153 # Account`. This name is displayed in the GCP Console.
154 "masterBillingAccount": "A String", # If this account is a
155 # [subaccount](https://cloud.google.com/billing/docs/concepts), then this
156 # will be the resource name of the master billing account that it is being
157 # resold through.
158 # Otherwise this will be empty.
159 "open": True or False, # True if the billing account is open, and will therefore be charged for any
160 # usage on associated projects. False if the billing account is closed, and
161 # therefore projects associated with it will be unable to use paid services.
162 "name": "A String", # The resource name of the billing account. The resource name has the form
163 # `billingAccounts/{billing_account_id}`. For example,
164 # `billingAccounts/012345-567890-ABCDEF` would be the resource name for
165 # billing account `012345-567890-ABCDEF`.
166 }</pre>
167</div>
168
169<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -0700170 <code class="details" id="get">get(name, x__xgafv=None)</code>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400171 <pre>Gets information about a billing account. The current authenticated user
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700172must be a [viewer of the billing
173account](https://cloud.google.com/billing/docs/how-to/billing-access).
Takashi Matsuo06694102015-09-11 13:55:40 -0700174
175Args:
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400176 name: string, The resource name of the billing account to retrieve. For example,
177`billingAccounts/012345-567890-ABCDEF`. (required)
Takashi Matsuo06694102015-09-11 13:55:40 -0700178 x__xgafv: string, V1 error format.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400179 Allowed values
180 1 - v1 error format
181 2 - v2 error format
Takashi Matsuo06694102015-09-11 13:55:40 -0700182
183Returns:
184 An object of the form:
185
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700186 { # A billing account in [GCP Console](https://console.cloud.google.com/).
187 # You can assign a billing account to one or more projects.
188 "displayName": "A String", # The display name given to the billing account, such as `My Billing
189 # Account`. This name is displayed in the GCP Console.
190 "masterBillingAccount": "A String", # If this account is a
191 # [subaccount](https://cloud.google.com/billing/docs/concepts), then this
192 # will be the resource name of the master billing account that it is being
193 # resold through.
194 # Otherwise this will be empty.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400195 "open": True or False, # True if the billing account is open, and will therefore be charged for any
196 # usage on associated projects. False if the billing account is closed, and
197 # therefore projects associated with it will be unable to use paid services.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400198 "name": "A String", # The resource name of the billing account. The resource name has the form
199 # `billingAccounts/{billing_account_id}`. For example,
200 # `billingAccounts/012345-567890-ABCDEF` would be the resource name for
201 # billing account `012345-567890-ABCDEF`.
Takashi Matsuo06694102015-09-11 13:55:40 -0700202 }</pre>
203</div>
204
205<div class="method">
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700206 <code class="details" id="getIamPolicy">getIamPolicy(resource, x__xgafv=None)</code>
207 <pre>Gets the access control policy for a billing account.
208The caller must have the `billing.accounts.getIamPolicy` permission on the
209account, which is often given to billing account
210[viewers](https://cloud.google.com/billing/docs/how-to/billing-access).
211
212Args:
213 resource: string, REQUIRED: The resource for which the policy is being requested.
214See the operation documentation for the appropriate value for this field. (required)
215 x__xgafv: string, V1 error format.
216 Allowed values
217 1 - v1 error format
218 2 - v2 error format
219
220Returns:
221 An object of the form:
222
223 { # Defines an Identity and Access Management (IAM) policy. It is used to
224 # specify access control policies for Cloud Platform resources.
225 #
226 #
227 # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
228 # `members` to a `role`, where the members can be user accounts, Google groups,
229 # Google domains, and service accounts. A `role` is a named list of permissions
230 # defined by IAM.
231 #
232 # **JSON Example**
233 #
234 # {
235 # "bindings": [
236 # {
237 # "role": "roles/owner",
238 # "members": [
239 # "user:mike@example.com",
240 # "group:admins@example.com",
241 # "domain:google.com",
242 # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
243 # ]
244 # },
245 # {
246 # "role": "roles/viewer",
247 # "members": ["user:sean@example.com"]
248 # }
249 # ]
250 # }
251 #
252 # **YAML Example**
253 #
254 # bindings:
255 # - members:
256 # - user:mike@example.com
257 # - group:admins@example.com
258 # - domain:google.com
259 # - serviceAccount:my-other-app@appspot.gserviceaccount.com
260 # role: roles/owner
261 # - members:
262 # - user:sean@example.com
263 # role: roles/viewer
264 #
265 #
266 # For a description of IAM and its features, see the
267 # [IAM developer's guide](https://cloud.google.com/iam/docs).
268 "bindings": [ # Associates a list of `members` to a `role`.
269 # `bindings` with no members will result in an error.
270 { # Associates `members` with a `role`.
271 "role": "A String", # Role that is assigned to `members`.
272 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
273 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
274 # `members` can have the following values:
275 #
276 # * `allUsers`: A special identifier that represents anyone who is
277 # on the internet; with or without a Google account.
278 #
279 # * `allAuthenticatedUsers`: A special identifier that represents anyone
280 # who is authenticated with a Google account or a service account.
281 #
282 # * `user:{emailid}`: An email address that represents a specific Google
283 # account. For example, `alice@gmail.com` .
284 #
285 #
286 # * `serviceAccount:{emailid}`: An email address that represents a service
287 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
288 #
289 # * `group:{emailid}`: An email address that represents a Google group.
290 # For example, `admins@example.com`.
291 #
292 #
293 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
294 # users of that domain. For example, `google.com` or `example.com`.
295 #
296 "A String",
297 ],
298 "condition": { # Represents an expression text. Example: # The condition that is associated with this binding.
299 # NOTE: An unsatisfied condition will not allow user access via current
300 # binding. Different bindings, including their conditions, are examined
301 # independently.
302 #
303 # title: "User account presence"
304 # description: "Determines whether the request has a user account"
305 # expression: "size(request.user) > 0"
306 "description": "A String", # An optional description of the expression. This is a longer text which
307 # describes the expression, e.g. when hovered over it in a UI.
308 "expression": "A String", # Textual representation of an expression in
309 # Common Expression Language syntax.
310 #
311 # The application context of the containing message determines which
312 # well-known feature set of CEL is supported.
313 "location": "A String", # An optional string indicating the location of the expression for error
314 # reporting, e.g. a file name and a position in the file.
315 "title": "A String", # An optional title for the expression, i.e. a short string describing
316 # its purpose. This can be used e.g. in UIs which allow to enter the
317 # expression.
318 },
319 },
320 ],
321 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
322 # prevent simultaneous updates of a policy from overwriting each other.
323 # It is strongly suggested that systems make use of the `etag` in the
324 # read-modify-write cycle to perform policy updates in order to avoid race
325 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
326 # systems are expected to put that etag in the request to `setIamPolicy` to
327 # ensure that their change will be applied to the same version of the policy.
328 #
329 # If no `etag` is provided in the call to `setIamPolicy`, then the existing
330 # policy is overwritten blindly.
331 "version": 42, # Deprecated.
332 "auditConfigs": [ # Specifies cloud audit logging configuration for this policy.
333 { # Specifies the audit configuration for a service.
334 # The configuration determines which permission types are logged, and what
335 # identities, if any, are exempted from logging.
336 # An AuditConfig must have one or more AuditLogConfigs.
337 #
338 # If there are AuditConfigs for both `allServices` and a specific service,
339 # the union of the two AuditConfigs is used for that service: the log_types
340 # specified in each AuditConfig are enabled, and the exempted_members in each
341 # AuditLogConfig are exempted.
342 #
343 # Example Policy with multiple AuditConfigs:
344 #
345 # {
346 # "audit_configs": [
347 # {
348 # "service": "allServices"
349 # "audit_log_configs": [
350 # {
351 # "log_type": "DATA_READ",
352 # "exempted_members": [
353 # "user:foo@gmail.com"
354 # ]
355 # },
356 # {
357 # "log_type": "DATA_WRITE",
358 # },
359 # {
360 # "log_type": "ADMIN_READ",
361 # }
362 # ]
363 # },
364 # {
365 # "service": "fooservice.googleapis.com"
366 # "audit_log_configs": [
367 # {
368 # "log_type": "DATA_READ",
369 # },
370 # {
371 # "log_type": "DATA_WRITE",
372 # "exempted_members": [
373 # "user:bar@gmail.com"
374 # ]
375 # }
376 # ]
377 # }
378 # ]
379 # }
380 #
381 # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
382 # logging. It also exempts foo@gmail.com from DATA_READ logging, and
383 # bar@gmail.com from DATA_WRITE logging.
384 "auditLogConfigs": [ # The configuration for logging of each type of permission.
385 { # Provides the configuration for logging a type of permissions.
386 # Example:
387 #
388 # {
389 # "audit_log_configs": [
390 # {
391 # "log_type": "DATA_READ",
392 # "exempted_members": [
393 # "user:foo@gmail.com"
394 # ]
395 # },
396 # {
397 # "log_type": "DATA_WRITE",
398 # }
399 # ]
400 # }
401 #
402 # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
403 # foo@gmail.com from DATA_READ logging.
404 "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of
405 # permission.
406 # Follows the same format of Binding.members.
407 "A String",
408 ],
409 "logType": "A String", # The log type that this config enables.
410 },
411 ],
412 "service": "A String", # Specifies a service that will be enabled for audit logging.
413 # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
414 # `allServices` is a special value that covers all services.
415 },
416 ],
417 }</pre>
418</div>
419
420<div class="method">
421 <code class="details" id="list">list(pageSize=None, pageToken=None, x__xgafv=None, filter=None)</code>
422 <pre>Lists the billing accounts that the current authenticated user has
423permission to
424[view](https://cloud.google.com/billing/docs/how-to/billing-access).
Takashi Matsuo06694102015-09-11 13:55:40 -0700425
426Args:
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400427 pageSize: integer, Requested page size. The maximum page size is 100; this is also the
428default.
429 pageToken: string, A token identifying a page of results to return. This should be a
430`next_page_token` value returned from a previous `ListBillingAccounts`
431call. If unspecified, the first page of results is returned.
Takashi Matsuo06694102015-09-11 13:55:40 -0700432 x__xgafv: string, V1 error format.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400433 Allowed values
434 1 - v1 error format
435 2 - v2 error format
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700436 filter: string, Options for how to filter the returned billing accounts.
437Currently this only supports filtering for
438[subaccounts](https://cloud.google.com/billing/docs/concepts) under a
439single provided reseller billing account.
440(e.g. "master_billing_account=billingAccounts/012345-678901-ABCDEF").
441Boolean algebra and other fields are not currently supported.
Takashi Matsuo06694102015-09-11 13:55:40 -0700442
443Returns:
444 An object of the form:
445
446 { # Response message for `ListBillingAccounts`.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400447 "nextPageToken": "A String", # A token to retrieve the next page of results. To retrieve the next page,
448 # call `ListBillingAccounts` again with the `page_token` field set to this
449 # value. This field is empty if there are no more results to retrieve.
Takashi Matsuo06694102015-09-11 13:55:40 -0700450 "billingAccounts": [ # A list of billing accounts.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700451 { # A billing account in [GCP Console](https://console.cloud.google.com/).
452 # You can assign a billing account to one or more projects.
453 "displayName": "A String", # The display name given to the billing account, such as `My Billing
454 # Account`. This name is displayed in the GCP Console.
455 "masterBillingAccount": "A String", # If this account is a
456 # [subaccount](https://cloud.google.com/billing/docs/concepts), then this
457 # will be the resource name of the master billing account that it is being
458 # resold through.
459 # Otherwise this will be empty.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400460 "open": True or False, # True if the billing account is open, and will therefore be charged for any
461 # usage on associated projects. False if the billing account is closed, and
462 # therefore projects associated with it will be unable to use paid services.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400463 "name": "A String", # The resource name of the billing account. The resource name has the form
464 # `billingAccounts/{billing_account_id}`. For example,
465 # `billingAccounts/012345-567890-ABCDEF` would be the resource name for
466 # billing account `012345-567890-ABCDEF`.
Takashi Matsuo06694102015-09-11 13:55:40 -0700467 },
468 ],
469 }</pre>
470</div>
471
472<div class="method">
473 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
474 <pre>Retrieves the next page of results.
475
476Args:
477 previous_request: The request for the previous page. (required)
478 previous_response: The response from the request for the previous page. (required)
479
480Returns:
481 A request object that you can call 'execute()' on to request the next
482 page. Returns None if there are no more items in the collection.
483 </pre>
484</div>
485
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700486<div class="method">
487 <code class="details" id="patch">patch(name, body, updateMask=None, x__xgafv=None)</code>
488 <pre>Updates a billing account's fields.
489Currently the only field that can be edited is `display_name`.
490The current authenticated user must have the `billing.accounts.update`
491IAM permission, which is typically given to the
492[administrator](https://cloud.google.com/billing/docs/how-to/billing-access)
493of the billing account.
494
495Args:
496 name: string, The name of the billing account resource to be updated. (required)
497 body: object, The request body. (required)
498 The object takes the form of:
499
500{ # A billing account in [GCP Console](https://console.cloud.google.com/).
501 # You can assign a billing account to one or more projects.
502 "displayName": "A String", # The display name given to the billing account, such as `My Billing
503 # Account`. This name is displayed in the GCP Console.
504 "masterBillingAccount": "A String", # If this account is a
505 # [subaccount](https://cloud.google.com/billing/docs/concepts), then this
506 # will be the resource name of the master billing account that it is being
507 # resold through.
508 # Otherwise this will be empty.
509 "open": True or False, # True if the billing account is open, and will therefore be charged for any
510 # usage on associated projects. False if the billing account is closed, and
511 # therefore projects associated with it will be unable to use paid services.
512 "name": "A String", # The resource name of the billing account. The resource name has the form
513 # `billingAccounts/{billing_account_id}`. For example,
514 # `billingAccounts/012345-567890-ABCDEF` would be the resource name for
515 # billing account `012345-567890-ABCDEF`.
516}
517
518 updateMask: string, The update mask applied to the resource.
519Only "display_name" is currently supported.
520 x__xgafv: string, V1 error format.
521 Allowed values
522 1 - v1 error format
523 2 - v2 error format
524
525Returns:
526 An object of the form:
527
528 { # A billing account in [GCP Console](https://console.cloud.google.com/).
529 # You can assign a billing account to one or more projects.
530 "displayName": "A String", # The display name given to the billing account, such as `My Billing
531 # Account`. This name is displayed in the GCP Console.
532 "masterBillingAccount": "A String", # If this account is a
533 # [subaccount](https://cloud.google.com/billing/docs/concepts), then this
534 # will be the resource name of the master billing account that it is being
535 # resold through.
536 # Otherwise this will be empty.
537 "open": True or False, # True if the billing account is open, and will therefore be charged for any
538 # usage on associated projects. False if the billing account is closed, and
539 # therefore projects associated with it will be unable to use paid services.
540 "name": "A String", # The resource name of the billing account. The resource name has the form
541 # `billingAccounts/{billing_account_id}`. For example,
542 # `billingAccounts/012345-567890-ABCDEF` would be the resource name for
543 # billing account `012345-567890-ABCDEF`.
544 }</pre>
545</div>
546
547<div class="method">
548 <code class="details" id="setIamPolicy">setIamPolicy(resource, body, x__xgafv=None)</code>
549 <pre>Sets the access control policy for a billing account. Replaces any existing
550policy.
551The caller must have the `billing.accounts.setIamPolicy` permission on the
552account, which is often given to billing account
553[administrators](https://cloud.google.com/billing/docs/how-to/billing-access).
554
555Args:
556 resource: string, REQUIRED: The resource for which the policy is being specified.
557See the operation documentation for the appropriate value for this field. (required)
558 body: object, The request body. (required)
559 The object takes the form of:
560
561{ # Request message for `SetIamPolicy` method.
562 "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
563 # the policy is limited to a few 10s of KB. An empty policy is a
564 # valid policy but certain Cloud Platform services (such as Projects)
565 # might reject them.
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 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
616 # `members` can have the following values:
617 #
618 # * `allUsers`: A special identifier that represents anyone who is
619 # on the internet; with or without a Google account.
620 #
621 # * `allAuthenticatedUsers`: A special identifier that represents anyone
622 # who is authenticated with a Google account or a service account.
623 #
624 # * `user:{emailid}`: An email address that represents a specific Google
625 # account. For example, `alice@gmail.com` .
626 #
627 #
628 # * `serviceAccount:{emailid}`: An email address that represents a service
629 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
630 #
631 # * `group:{emailid}`: An email address that represents a Google group.
632 # For example, `admins@example.com`.
633 #
634 #
635 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
636 # users of that domain. For example, `google.com` or `example.com`.
637 #
638 "A String",
639 ],
640 "condition": { # Represents an expression text. Example: # The condition that is associated with this binding.
641 # NOTE: An unsatisfied condition will not allow user access via current
642 # binding. Different bindings, including their conditions, are examined
643 # independently.
644 #
645 # title: "User account presence"
646 # description: "Determines whether the request has a user account"
647 # expression: "size(request.user) > 0"
648 "description": "A String", # An optional description of the expression. This is a longer text which
649 # describes the expression, e.g. when hovered over it in a UI.
650 "expression": "A String", # Textual representation of an expression in
651 # Common Expression Language syntax.
652 #
653 # The application context of the containing message determines which
654 # well-known feature set of CEL is supported.
655 "location": "A String", # An optional string indicating the location of the expression for error
656 # reporting, e.g. a file name and a position in the file.
657 "title": "A String", # An optional title for the expression, i.e. a short string describing
658 # its purpose. This can be used e.g. in UIs which allow to enter the
659 # expression.
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 "auditConfigs": [ # Specifies cloud audit logging configuration for this policy.
675 { # Specifies the audit configuration for a service.
676 # The configuration determines which permission types are logged, and what
677 # identities, if any, are exempted from logging.
678 # An AuditConfig must have one or more AuditLogConfigs.
679 #
680 # If there are AuditConfigs for both `allServices` and a specific service,
681 # the union of the two AuditConfigs is used for that service: the log_types
682 # specified in each AuditConfig are enabled, and the exempted_members in each
683 # AuditLogConfig are exempted.
684 #
685 # Example Policy with multiple AuditConfigs:
686 #
687 # {
688 # "audit_configs": [
689 # {
690 # "service": "allServices"
691 # "audit_log_configs": [
692 # {
693 # "log_type": "DATA_READ",
694 # "exempted_members": [
695 # "user:foo@gmail.com"
696 # ]
697 # },
698 # {
699 # "log_type": "DATA_WRITE",
700 # },
701 # {
702 # "log_type": "ADMIN_READ",
703 # }
704 # ]
705 # },
706 # {
707 # "service": "fooservice.googleapis.com"
708 # "audit_log_configs": [
709 # {
710 # "log_type": "DATA_READ",
711 # },
712 # {
713 # "log_type": "DATA_WRITE",
714 # "exempted_members": [
715 # "user:bar@gmail.com"
716 # ]
717 # }
718 # ]
719 # }
720 # ]
721 # }
722 #
723 # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
724 # logging. It also exempts foo@gmail.com from DATA_READ logging, and
725 # bar@gmail.com from DATA_WRITE logging.
726 "auditLogConfigs": [ # The configuration for logging of each type of permission.
727 { # Provides the configuration for logging a type of permissions.
728 # Example:
729 #
730 # {
731 # "audit_log_configs": [
732 # {
733 # "log_type": "DATA_READ",
734 # "exempted_members": [
735 # "user:foo@gmail.com"
736 # ]
737 # },
738 # {
739 # "log_type": "DATA_WRITE",
740 # }
741 # ]
742 # }
743 #
744 # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
745 # foo@gmail.com from DATA_READ logging.
746 "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of
747 # permission.
748 # Follows the same format of Binding.members.
749 "A String",
750 ],
751 "logType": "A String", # The log type that this config enables.
752 },
753 ],
754 "service": "A String", # Specifies a service that will be enabled for audit logging.
755 # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
756 # `allServices` is a special value that covers all services.
757 },
758 ],
759 },
760 "updateMask": "A String", # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
761 # the fields in the mask will be modified. If no mask is provided, the
762 # following default mask is used:
763 # paths: "bindings, etag"
764 # This field is only used by Cloud IAM.
765 }
766
767 x__xgafv: string, V1 error format.
768 Allowed values
769 1 - v1 error format
770 2 - v2 error format
771
772Returns:
773 An object of the form:
774
775 { # Defines an Identity and Access Management (IAM) policy. It is used to
776 # specify access control policies for Cloud Platform resources.
777 #
778 #
779 # A `Policy` consists of a list of `bindings`. A `binding` binds a list of
780 # `members` to a `role`, where the members can be user accounts, Google groups,
781 # Google domains, and service accounts. A `role` is a named list of permissions
782 # defined by IAM.
783 #
784 # **JSON Example**
785 #
786 # {
787 # "bindings": [
788 # {
789 # "role": "roles/owner",
790 # "members": [
791 # "user:mike@example.com",
792 # "group:admins@example.com",
793 # "domain:google.com",
794 # "serviceAccount:my-other-app@appspot.gserviceaccount.com"
795 # ]
796 # },
797 # {
798 # "role": "roles/viewer",
799 # "members": ["user:sean@example.com"]
800 # }
801 # ]
802 # }
803 #
804 # **YAML Example**
805 #
806 # bindings:
807 # - members:
808 # - user:mike@example.com
809 # - group:admins@example.com
810 # - domain:google.com
811 # - serviceAccount:my-other-app@appspot.gserviceaccount.com
812 # role: roles/owner
813 # - members:
814 # - user:sean@example.com
815 # role: roles/viewer
816 #
817 #
818 # For a description of IAM and its features, see the
819 # [IAM developer's guide](https://cloud.google.com/iam/docs).
820 "bindings": [ # Associates a list of `members` to a `role`.
821 # `bindings` with no members will result in an error.
822 { # Associates `members` with a `role`.
823 "role": "A String", # Role that is assigned to `members`.
824 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
825 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
826 # `members` can have the following values:
827 #
828 # * `allUsers`: A special identifier that represents anyone who is
829 # on the internet; with or without a Google account.
830 #
831 # * `allAuthenticatedUsers`: A special identifier that represents anyone
832 # who is authenticated with a Google account or a service account.
833 #
834 # * `user:{emailid}`: An email address that represents a specific Google
835 # account. For example, `alice@gmail.com` .
836 #
837 #
838 # * `serviceAccount:{emailid}`: An email address that represents a service
839 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
840 #
841 # * `group:{emailid}`: An email address that represents a Google group.
842 # For example, `admins@example.com`.
843 #
844 #
845 # * `domain:{domain}`: The G Suite domain (primary) that represents all the
846 # users of that domain. For example, `google.com` or `example.com`.
847 #
848 "A String",
849 ],
850 "condition": { # Represents an expression text. Example: # The condition that is associated with this binding.
851 # NOTE: An unsatisfied condition will not allow user access via current
852 # binding. Different bindings, including their conditions, are examined
853 # independently.
854 #
855 # title: "User account presence"
856 # description: "Determines whether the request has a user account"
857 # expression: "size(request.user) > 0"
858 "description": "A String", # An optional description of the expression. This is a longer text which
859 # describes the expression, e.g. when hovered over it in a UI.
860 "expression": "A String", # Textual representation of an expression in
861 # Common Expression Language syntax.
862 #
863 # The application context of the containing message determines which
864 # well-known feature set of CEL is supported.
865 "location": "A String", # An optional string indicating the location of the expression for error
866 # reporting, e.g. a file name and a position in the file.
867 "title": "A String", # An optional title for the expression, i.e. a short string describing
868 # its purpose. This can be used e.g. in UIs which allow to enter the
869 # expression.
870 },
871 },
872 ],
873 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
874 # prevent simultaneous updates of a policy from overwriting each other.
875 # It is strongly suggested that systems make use of the `etag` in the
876 # read-modify-write cycle to perform policy updates in order to avoid race
877 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
878 # systems are expected to put that etag in the request to `setIamPolicy` to
879 # ensure that their change will be applied to the same version of the policy.
880 #
881 # If no `etag` is provided in the call to `setIamPolicy`, then the existing
882 # policy is overwritten blindly.
883 "version": 42, # Deprecated.
884 "auditConfigs": [ # Specifies cloud audit logging configuration for this policy.
885 { # Specifies the audit configuration for a service.
886 # The configuration determines which permission types are logged, and what
887 # identities, if any, are exempted from logging.
888 # An AuditConfig must have one or more AuditLogConfigs.
889 #
890 # If there are AuditConfigs for both `allServices` and a specific service,
891 # the union of the two AuditConfigs is used for that service: the log_types
892 # specified in each AuditConfig are enabled, and the exempted_members in each
893 # AuditLogConfig are exempted.
894 #
895 # Example Policy with multiple AuditConfigs:
896 #
897 # {
898 # "audit_configs": [
899 # {
900 # "service": "allServices"
901 # "audit_log_configs": [
902 # {
903 # "log_type": "DATA_READ",
904 # "exempted_members": [
905 # "user:foo@gmail.com"
906 # ]
907 # },
908 # {
909 # "log_type": "DATA_WRITE",
910 # },
911 # {
912 # "log_type": "ADMIN_READ",
913 # }
914 # ]
915 # },
916 # {
917 # "service": "fooservice.googleapis.com"
918 # "audit_log_configs": [
919 # {
920 # "log_type": "DATA_READ",
921 # },
922 # {
923 # "log_type": "DATA_WRITE",
924 # "exempted_members": [
925 # "user:bar@gmail.com"
926 # ]
927 # }
928 # ]
929 # }
930 # ]
931 # }
932 #
933 # For fooservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
934 # logging. It also exempts foo@gmail.com from DATA_READ logging, and
935 # bar@gmail.com from DATA_WRITE logging.
936 "auditLogConfigs": [ # The configuration for logging of each type of permission.
937 { # Provides the configuration for logging a type of permissions.
938 # Example:
939 #
940 # {
941 # "audit_log_configs": [
942 # {
943 # "log_type": "DATA_READ",
944 # "exempted_members": [
945 # "user:foo@gmail.com"
946 # ]
947 # },
948 # {
949 # "log_type": "DATA_WRITE",
950 # }
951 # ]
952 # }
953 #
954 # This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
955 # foo@gmail.com from DATA_READ logging.
956 "exemptedMembers": [ # Specifies the identities that do not cause logging for this type of
957 # permission.
958 # Follows the same format of Binding.members.
959 "A String",
960 ],
961 "logType": "A String", # The log type that this config enables.
962 },
963 ],
964 "service": "A String", # Specifies a service that will be enabled for audit logging.
965 # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
966 # `allServices` is a special value that covers all services.
967 },
968 ],
969 }</pre>
970</div>
971
972<div class="method">
973 <code class="details" id="testIamPermissions">testIamPermissions(resource, body, x__xgafv=None)</code>
974 <pre>Tests the access control policy for a billing account. This method takes
975the resource and a set of permissions as input and returns the subset of
976the input permissions that the caller is allowed for that resource.
977
978Args:
979 resource: string, REQUIRED: The resource for which the policy detail is being requested.
980See the operation documentation for the appropriate value for this field. (required)
981 body: object, The request body. (required)
982 The object takes the form of:
983
984{ # Request message for `TestIamPermissions` method.
985 "permissions": [ # The set of permissions to check for the `resource`. Permissions with
986 # wildcards (such as '*' or 'storage.*') are not allowed. For more
987 # information see
988 # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
989 "A String",
990 ],
991 }
992
993 x__xgafv: string, V1 error format.
994 Allowed values
995 1 - v1 error format
996 2 - v2 error format
997
998Returns:
999 An object of the form:
1000
1001 { # Response message for `TestIamPermissions` method.
1002 "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is
1003 # allowed.
1004 "A String",
1005 ],
1006 }</pre>
1007</div>
1008
Takashi Matsuo06694102015-09-11 13:55:40 -07001009</body></html>