blob: d450dc3664416a34cacf800f38f07a6a6e39bfd6 [file] [log] [blame]
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -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
Sai Cheemalapatiea3a5e12016-10-12 14:05:53 -070075<h1><a href="iam_v1.html">Google Identity and Access Management (IAM) API</a> . <a href="iam_v1.projects.html">projects</a> . <a href="iam_v1.projects.serviceAccounts.html">serviceAccounts</a></h1>
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -080076<h2>Instance Methods</h2>
77<p class="toc_element">
78 <code><a href="iam_v1.projects.serviceAccounts.keys.html">keys()</a></code>
79</p>
80<p class="firstline">Returns the keys Resource.</p>
81
82<p class="toc_element">
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -040083 <code><a href="#create">create(name=None, body, x__xgafv=None)</a></code></p>
84<p class="firstline">Creates a ServiceAccount</p>
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -080085<p class="toc_element">
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -040086 <code><a href="#delete">delete(name=None, x__xgafv=None)</a></code></p>
Sai Cheemalapatiea3a5e12016-10-12 14:05:53 -070087<p class="firstline">Deletes a ServiceAccount.</p>
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -080088<p class="toc_element">
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -040089 <code><a href="#get">get(name=None, x__xgafv=None)</a></code></p>
Sai Cheemalapatiea3a5e12016-10-12 14:05:53 -070090<p class="firstline">Gets a ServiceAccount.</p>
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -080091<p class="toc_element">
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -040092 <code><a href="#getIamPolicy">getIamPolicy(resource=None, x__xgafv=None)</a></code></p>
93<p class="firstline">Returns the IAM access control policy for a</p>
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -080094<p class="toc_element">
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -040095 <code><a href="#list">list(name=None, pageToken=None, x__xgafv=None, pageSize=None)</a></code></p>
Sai Cheemalapatiea3a5e12016-10-12 14:05:53 -070096<p class="firstline">Lists ServiceAccounts for a project.</p>
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -080097<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">
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400101 <code><a href="#setIamPolicy">setIamPolicy(resource=None, body, x__xgafv=None)</a></code></p>
102<p class="firstline">Sets the IAM access control policy for a</p>
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800103<p class="toc_element">
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400104 <code><a href="#signBlob">signBlob(name=None, body, x__xgafv=None)</a></code></p>
Sai Cheemalapatiea3a5e12016-10-12 14:05:53 -0700105<p class="firstline">Signs a blob using a service account's system-managed private key.</p>
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800106<p class="toc_element">
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400107 <code><a href="#signJwt">signJwt(name=None, body, x__xgafv=None)</a></code></p>
108<p class="firstline">Signs a JWT using a service account's system-managed private key.</p>
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800109<p class="toc_element">
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400110 <code><a href="#testIamPermissions">testIamPermissions(resource=None, body, x__xgafv=None)</a></code></p>
111<p class="firstline">Tests the specified permissions against the IAM access control policy</p>
112<p class="toc_element">
113 <code><a href="#update">update(name=None, body, x__xgafv=None)</a></code></p>
114<p class="firstline">Updates a ServiceAccount.</p>
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800115<h3>Method Details</h3>
116<div class="method">
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400117 <code class="details" id="create">create(name=None, body, x__xgafv=None)</code>
118 <pre>Creates a ServiceAccount
119and returns it.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800120
121Args:
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400122 name: string, Required. The resource name of the project associated with the service
123accounts, such as `projects/my-project-123`. (required)
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800124 body: object, The request body. (required)
125 The object takes the form of:
126
127{ # The service account create request.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400128 "serviceAccount": { # A service account in the Identity and Access Management API. # The ServiceAccount resource to create.
129 # Currently, only the following values are user assignable:
130 # `display_name` .
131 #
132 # To create a service account, specify the `project_id` and the `account_id`
133 # for the account. The `account_id` is unique within the project, and is used
134 # to generate the service account email address and a stable
135 # `unique_id`.
136 #
137 # If the account already exists, the account's resource name is returned
138 # in util::Status's ResourceInfo.resource_name in the format of
139 # projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}. The caller can
140 # use the name in other methods to access the account.
141 #
142 # All other methods can identify the service account using the format
143 # `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.
144 # Using `-` as a wildcard for the project will infer the project from
145 # the account. The `account` value can be the `email` address or the
146 # `unique_id` of the service account.
147 "oauth2ClientId": "A String", # @OutputOnly. The OAuth2 client id for the service account.
148 # This is used in conjunction with the OAuth2 clientconfig API to make
149 # three legged OAuth2 (3LO) flows to access the data of Google users.
150 "displayName": "A String", # Optional. A user-specified description of the service account. Must be
151 # fewer than 100 UTF-8 bytes.
152 "name": "A String", # The resource name of the service account in the following format:
153 # `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.
154 #
155 # Requests using `-` as a wildcard for the project will infer the project
156 # from the `account` and the `account` value can be the `email` address or
157 # the `unique_id` of the service account.
158 #
159 # In responses the resource name will always be in the format
160 # `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800161 "projectId": "A String", # @OutputOnly The id of the project that owns the service account.
162 "etag": "A String", # Used to perform a consistent read-modify-write.
Sai Cheemalapatiea3a5e12016-10-12 14:05:53 -0700163 "uniqueId": "A String", # @OutputOnly The unique and stable id of the service account.
164 "email": "A String", # @OutputOnly The email address of the service account.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800165 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400166 "accountId": "A String", # Required. The account id that is used to generate the service account
167 # email address and a stable unique id. It is unique within a project,
168 # must be 6-30 characters long, and match the regular expression
169 # `[a-z]([-a-z0-9]*[a-z0-9])` to comply with RFC1035.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800170 }
171
172 x__xgafv: string, V1 error format.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400173 Allowed values
174 1 - v1 error format
175 2 - v2 error format
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800176
177Returns:
178 An object of the form:
179
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400180 { # A service account in the Identity and Access Management API.
181 #
182 # To create a service account, specify the `project_id` and the `account_id`
183 # for the account. The `account_id` is unique within the project, and is used
184 # to generate the service account email address and a stable
185 # `unique_id`.
186 #
187 # If the account already exists, the account's resource name is returned
188 # in util::Status's ResourceInfo.resource_name in the format of
189 # projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}. The caller can
190 # use the name in other methods to access the account.
191 #
192 # All other methods can identify the service account using the format
193 # `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.
194 # Using `-` as a wildcard for the project will infer the project from
195 # the account. The `account` value can be the `email` address or the
196 # `unique_id` of the service account.
197 "oauth2ClientId": "A String", # @OutputOnly. The OAuth2 client id for the service account.
198 # This is used in conjunction with the OAuth2 clientconfig API to make
199 # three legged OAuth2 (3LO) flows to access the data of Google users.
200 "displayName": "A String", # Optional. A user-specified description of the service account. Must be
201 # fewer than 100 UTF-8 bytes.
202 "name": "A String", # The resource name of the service account in the following format:
203 # `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.
204 #
205 # Requests using `-` as a wildcard for the project will infer the project
206 # from the `account` and the `account` value can be the `email` address or
207 # the `unique_id` of the service account.
208 #
209 # In responses the resource name will always be in the format
210 # `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800211 "projectId": "A String", # @OutputOnly The id of the project that owns the service account.
212 "etag": "A String", # Used to perform a consistent read-modify-write.
Sai Cheemalapatiea3a5e12016-10-12 14:05:53 -0700213 "uniqueId": "A String", # @OutputOnly The unique and stable id of the service account.
214 "email": "A String", # @OutputOnly The email address of the service account.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800215 }</pre>
216</div>
217
218<div class="method">
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400219 <code class="details" id="delete">delete(name=None, x__xgafv=None)</code>
Sai Cheemalapatiea3a5e12016-10-12 14:05:53 -0700220 <pre>Deletes a ServiceAccount.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800221
222Args:
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400223 name: string, The resource name of the service account in the following format:
224`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.
225Using `-` as a wildcard for the project will infer the project from
226the account. The `account` value can be the `email` address or the
227`unique_id` of the service account. (required)
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800228 x__xgafv: string, V1 error format.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400229 Allowed values
230 1 - v1 error format
231 2 - v2 error format
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800232
233Returns:
234 An object of the form:
235
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400236 { # A generic empty message that you can re-use to avoid defining duplicated
237 # empty messages in your APIs. A typical example is to use it as the request
238 # or the response type of an API method. For instance:
239 #
240 # service Foo {
241 # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
242 # }
243 #
244 # The JSON representation for `Empty` is empty JSON object `{}`.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800245 }</pre>
246</div>
247
248<div class="method">
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400249 <code class="details" id="get">get(name=None, x__xgafv=None)</code>
Sai Cheemalapatiea3a5e12016-10-12 14:05:53 -0700250 <pre>Gets a ServiceAccount.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800251
252Args:
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400253 name: string, The resource name of the service account in the following format:
254`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.
255Using `-` as a wildcard for the project will infer the project from
256the account. The `account` value can be the `email` address or the
257`unique_id` of the service account. (required)
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800258 x__xgafv: string, V1 error format.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400259 Allowed values
260 1 - v1 error format
261 2 - v2 error format
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800262
263Returns:
264 An object of the form:
265
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400266 { # A service account in the Identity and Access Management API.
267 #
268 # To create a service account, specify the `project_id` and the `account_id`
269 # for the account. The `account_id` is unique within the project, and is used
270 # to generate the service account email address and a stable
271 # `unique_id`.
272 #
273 # If the account already exists, the account's resource name is returned
274 # in util::Status's ResourceInfo.resource_name in the format of
275 # projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}. The caller can
276 # use the name in other methods to access the account.
277 #
278 # All other methods can identify the service account using the format
279 # `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.
280 # Using `-` as a wildcard for the project will infer the project from
281 # the account. The `account` value can be the `email` address or the
282 # `unique_id` of the service account.
283 "oauth2ClientId": "A String", # @OutputOnly. The OAuth2 client id for the service account.
284 # This is used in conjunction with the OAuth2 clientconfig API to make
285 # three legged OAuth2 (3LO) flows to access the data of Google users.
286 "displayName": "A String", # Optional. A user-specified description of the service account. Must be
287 # fewer than 100 UTF-8 bytes.
288 "name": "A String", # The resource name of the service account in the following format:
289 # `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.
290 #
291 # Requests using `-` as a wildcard for the project will infer the project
292 # from the `account` and the `account` value can be the `email` address or
293 # the `unique_id` of the service account.
294 #
295 # In responses the resource name will always be in the format
296 # `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800297 "projectId": "A String", # @OutputOnly The id of the project that owns the service account.
298 "etag": "A String", # Used to perform a consistent read-modify-write.
Sai Cheemalapatiea3a5e12016-10-12 14:05:53 -0700299 "uniqueId": "A String", # @OutputOnly The unique and stable id of the service account.
300 "email": "A String", # @OutputOnly The email address of the service account.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800301 }</pre>
302</div>
303
304<div class="method">
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400305 <code class="details" id="getIamPolicy">getIamPolicy(resource=None, x__xgafv=None)</code>
306 <pre>Returns the IAM access control policy for a
307ServiceAccount.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800308
309Args:
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400310 resource: string, REQUIRED: The resource for which the policy is being requested.
311`resource` is usually specified as a path. For example, a Project
312resource is specified as `projects/{project}`. (required)
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800313 x__xgafv: string, V1 error format.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400314 Allowed values
315 1 - v1 error format
316 2 - v2 error format
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800317
318Returns:
319 An object of the form:
320
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400321 { # Defines an Identity and Access Management (IAM) policy. It is used to
322 # specify access control policies for Cloud Platform resources.
323 #
324 #
325 # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
326 # `members` to a `role`, where the members can be user accounts, Google groups,
327 # Google domains, and service accounts. A `role` is a named list of permissions
328 # defined by IAM.
329 #
330 # **Example**
331 #
332 # {
333 # "bindings": [
334 # {
335 # "role": "roles/owner",
336 # "members": [
337 # "user:mike@example.com",
338 # "group:admins@example.com",
339 # "domain:google.com",
340 # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
341 # ]
342 # },
343 # {
344 # "role": "roles/viewer",
345 # "members": ["user:sean@example.com"]
346 # }
347 # ]
348 # }
349 #
350 # For a description of IAM and its features, see the
351 # [IAM developer's guide](https://cloud.google.com/iam).
352 "bindings": [ # Associates a list of `members` to a `role`.
353 # Multiple `bindings` must not be specified for the same `role`.
354 # `bindings` with no members will result in an error.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800355 { # Associates `members` with a `role`.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400356 "role": "A String", # Role that is assigned to `members`.
357 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
358 # Required
359 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
360 # `members` can have the following values:
361 #
362 # * `allUsers`: A special identifier that represents anyone who is
363 # on the internet; with or without a Google account.
364 #
365 # * `allAuthenticatedUsers`: A special identifier that represents anyone
366 # who is authenticated with a Google account or a service account.
367 #
368 # * `user:{emailid}`: An email address that represents a specific Google
369 # account. For example, `alice@gmail.com` or `joe@example.com`.
370 #
371 #
372 # * `serviceAccount:{emailid}`: An email address that represents a service
373 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
374 #
375 # * `group:{emailid}`: An email address that represents a Google group.
376 # For example, `admins@example.com`.
377 #
378 # * `domain:{domain}`: A Google Apps domain name that represents all the
379 # users of that domain. For example, `google.com` or `example.com`.
380 #
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800381 "A String",
382 ],
383 },
384 ],
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400385 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
386 # prevent simultaneous updates of a policy from overwriting each other.
387 # It is strongly suggested that systems make use of the `etag` in the
388 # read-modify-write cycle to perform policy updates in order to avoid race
389 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
390 # systems are expected to put that etag in the request to `setIamPolicy` to
391 # ensure that their change will be applied to the same version of the policy.
392 #
393 # If no `etag` is provided in the call to `setIamPolicy`, then the existing
394 # policy is overwritten blindly.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800395 "version": 42, # Version of the `Policy`. The default version is 0.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800396 }</pre>
397</div>
398
399<div class="method">
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400400 <code class="details" id="list">list(name=None, pageToken=None, x__xgafv=None, pageSize=None)</code>
Sai Cheemalapatiea3a5e12016-10-12 14:05:53 -0700401 <pre>Lists ServiceAccounts for a project.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800402
403Args:
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400404 name: string, Required. The resource name of the project associated with the service
405accounts, such as `projects/my-project-123`. (required)
406 pageToken: string, Optional pagination token returned in an earlier
407ListServiceAccountsResponse.next_page_token.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800408 x__xgafv: string, V1 error format.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400409 Allowed values
410 1 - v1 error format
411 2 - v2 error format
412 pageSize: integer, Optional limit on the number of service accounts to include in the
413response. Further accounts can subsequently be obtained by including the
414ListServiceAccountsResponse.next_page_token
415in a subsequent request.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800416
417Returns:
418 An object of the form:
419
420 { # The service account list response.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400421 "nextPageToken": "A String", # To retrieve the next page of results, set
422 # ListServiceAccountsRequest.page_token
423 # to this value.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800424 "accounts": [ # The list of matching service accounts.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400425 { # A service account in the Identity and Access Management API.
426 #
427 # To create a service account, specify the `project_id` and the `account_id`
428 # for the account. The `account_id` is unique within the project, and is used
429 # to generate the service account email address and a stable
430 # `unique_id`.
431 #
432 # If the account already exists, the account's resource name is returned
433 # in util::Status's ResourceInfo.resource_name in the format of
434 # projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}. The caller can
435 # use the name in other methods to access the account.
436 #
437 # All other methods can identify the service account using the format
438 # `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.
439 # Using `-` as a wildcard for the project will infer the project from
440 # the account. The `account` value can be the `email` address or the
441 # `unique_id` of the service account.
442 "oauth2ClientId": "A String", # @OutputOnly. The OAuth2 client id for the service account.
443 # This is used in conjunction with the OAuth2 clientconfig API to make
444 # three legged OAuth2 (3LO) flows to access the data of Google users.
445 "displayName": "A String", # Optional. A user-specified description of the service account. Must be
446 # fewer than 100 UTF-8 bytes.
447 "name": "A String", # The resource name of the service account in the following format:
448 # `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.
449 #
450 # Requests using `-` as a wildcard for the project will infer the project
451 # from the `account` and the `account` value can be the `email` address or
452 # the `unique_id` of the service account.
453 #
454 # In responses the resource name will always be in the format
455 # `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800456 "projectId": "A String", # @OutputOnly The id of the project that owns the service account.
457 "etag": "A String", # Used to perform a consistent read-modify-write.
Sai Cheemalapatiea3a5e12016-10-12 14:05:53 -0700458 "uniqueId": "A String", # @OutputOnly The unique and stable id of the service account.
459 "email": "A String", # @OutputOnly The email address of the service account.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800460 },
461 ],
462 }</pre>
463</div>
464
465<div class="method">
466 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
467 <pre>Retrieves the next page of results.
468
469Args:
470 previous_request: The request for the previous page. (required)
471 previous_response: The response from the request for the previous page. (required)
472
473Returns:
474 A request object that you can call 'execute()' on to request the next
475 page. Returns None if there are no more items in the collection.
476 </pre>
477</div>
478
479<div class="method">
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400480 <code class="details" id="setIamPolicy">setIamPolicy(resource=None, body, x__xgafv=None)</code>
481 <pre>Sets the IAM access control policy for a
482ServiceAccount.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800483
484Args:
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400485 resource: string, REQUIRED: The resource for which the policy is being specified.
486`resource` is usually specified as a path. For example, a Project
487resource is specified as `projects/{project}`. (required)
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800488 body: object, The request body. (required)
489 The object takes the form of:
490
491{ # Request message for `SetIamPolicy` method.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400492 "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
493 # the policy is limited to a few 10s of KB. An empty policy is a
494 # valid policy but certain Cloud Platform services (such as Projects)
495 # might reject them.
496 # specify access control policies for Cloud Platform resources.
497 #
498 #
499 # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
500 # `members` to a `role`, where the members can be user accounts, Google groups,
501 # Google domains, and service accounts. A `role` is a named list of permissions
502 # defined by IAM.
503 #
504 # **Example**
505 #
506 # {
507 # "bindings": [
508 # {
509 # "role": "roles/owner",
510 # "members": [
511 # "user:mike@example.com",
512 # "group:admins@example.com",
513 # "domain:google.com",
514 # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
515 # ]
516 # },
517 # {
518 # "role": "roles/viewer",
519 # "members": ["user:sean@example.com"]
520 # }
521 # ]
522 # }
523 #
524 # For a description of IAM and its features, see the
525 # [IAM developer's guide](https://cloud.google.com/iam).
526 "bindings": [ # Associates a list of `members` to a `role`.
527 # Multiple `bindings` must not be specified for the same `role`.
528 # `bindings` with no members will result in an error.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800529 { # Associates `members` with a `role`.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400530 "role": "A String", # Role that is assigned to `members`.
531 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
532 # Required
533 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
534 # `members` can have the following values:
535 #
536 # * `allUsers`: A special identifier that represents anyone who is
537 # on the internet; with or without a Google account.
538 #
539 # * `allAuthenticatedUsers`: A special identifier that represents anyone
540 # who is authenticated with a Google account or a service account.
541 #
542 # * `user:{emailid}`: An email address that represents a specific Google
543 # account. For example, `alice@gmail.com` or `joe@example.com`.
544 #
545 #
546 # * `serviceAccount:{emailid}`: An email address that represents a service
547 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
548 #
549 # * `group:{emailid}`: An email address that represents a Google group.
550 # For example, `admins@example.com`.
551 #
552 # * `domain:{domain}`: A Google Apps domain name that represents all the
553 # users of that domain. For example, `google.com` or `example.com`.
554 #
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800555 "A String",
556 ],
557 },
558 ],
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400559 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
560 # prevent simultaneous updates of a policy from overwriting each other.
561 # It is strongly suggested that systems make use of the `etag` in the
562 # read-modify-write cycle to perform policy updates in order to avoid race
563 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
564 # systems are expected to put that etag in the request to `setIamPolicy` to
565 # ensure that their change will be applied to the same version of the policy.
566 #
567 # If no `etag` is provided in the call to `setIamPolicy`, then the existing
568 # policy is overwritten blindly.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800569 "version": 42, # Version of the `Policy`. The default version is 0.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800570 },
571 }
572
573 x__xgafv: string, V1 error format.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400574 Allowed values
575 1 - v1 error format
576 2 - v2 error format
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800577
578Returns:
579 An object of the form:
580
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400581 { # Defines an Identity and Access Management (IAM) policy. It is used to
582 # specify access control policies for Cloud Platform resources.
583 #
584 #
585 # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
586 # `members` to a `role`, where the members can be user accounts, Google groups,
587 # Google domains, and service accounts. A `role` is a named list of permissions
588 # defined by IAM.
589 #
590 # **Example**
591 #
592 # {
593 # "bindings": [
594 # {
595 # "role": "roles/owner",
596 # "members": [
597 # "user:mike@example.com",
598 # "group:admins@example.com",
599 # "domain:google.com",
600 # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
601 # ]
602 # },
603 # {
604 # "role": "roles/viewer",
605 # "members": ["user:sean@example.com"]
606 # }
607 # ]
608 # }
609 #
610 # For a description of IAM and its features, see the
611 # [IAM developer's guide](https://cloud.google.com/iam).
612 "bindings": [ # Associates a list of `members` to a `role`.
613 # Multiple `bindings` must not be specified for the same `role`.
614 # `bindings` with no members will result in an error.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800615 { # Associates `members` with a `role`.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400616 "role": "A String", # Role that is assigned to `members`.
617 # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
618 # Required
619 "members": [ # Specifies the identities requesting access for a Cloud Platform resource.
620 # `members` can have the following values:
621 #
622 # * `allUsers`: A special identifier that represents anyone who is
623 # on the internet; with or without a Google account.
624 #
625 # * `allAuthenticatedUsers`: A special identifier that represents anyone
626 # who is authenticated with a Google account or a service account.
627 #
628 # * `user:{emailid}`: An email address that represents a specific Google
629 # account. For example, `alice@gmail.com` or `joe@example.com`.
630 #
631 #
632 # * `serviceAccount:{emailid}`: An email address that represents a service
633 # account. For example, `my-other-app@appspot.gserviceaccount.com`.
634 #
635 # * `group:{emailid}`: An email address that represents a Google group.
636 # For example, `admins@example.com`.
637 #
638 # * `domain:{domain}`: A Google Apps domain name that represents all the
639 # users of that domain. For example, `google.com` or `example.com`.
640 #
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800641 "A String",
642 ],
643 },
644 ],
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400645 "etag": "A String", # `etag` is used for optimistic concurrency control as a way to help
646 # prevent simultaneous updates of a policy from overwriting each other.
647 # It is strongly suggested that systems make use of the `etag` in the
648 # read-modify-write cycle to perform policy updates in order to avoid race
649 # conditions: An `etag` is returned in the response to `getIamPolicy`, and
650 # systems are expected to put that etag in the request to `setIamPolicy` to
651 # ensure that their change will be applied to the same version of the policy.
652 #
653 # If no `etag` is provided in the call to `setIamPolicy`, then the existing
654 # policy is overwritten blindly.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800655 "version": 42, # Version of the `Policy`. The default version is 0.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800656 }</pre>
657</div>
658
659<div class="method">
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400660 <code class="details" id="signBlob">signBlob(name=None, body, x__xgafv=None)</code>
Sai Cheemalapatiea3a5e12016-10-12 14:05:53 -0700661 <pre>Signs a blob using a service account's system-managed private key.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800662
663Args:
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400664 name: string, The resource name of the service account in the following format:
665`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.
666Using `-` as a wildcard for the project will infer the project from
667the account. The `account` value can be the `email` address or the
668`unique_id` of the service account. (required)
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800669 body: object, The request body. (required)
670 The object takes the form of:
671
672{ # The service account sign blob request.
Sai Cheemalapatiea3a5e12016-10-12 14:05:53 -0700673 "bytesToSign": "A String", # The bytes to sign.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800674 }
675
676 x__xgafv: string, V1 error format.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400677 Allowed values
678 1 - v1 error format
679 2 - v2 error format
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800680
681Returns:
682 An object of the form:
683
684 { # The service account sign blob response.
685 "keyId": "A String", # The id of the key used to sign the blob.
686 "signature": "A String", # The signed blob.
687 }</pre>
688</div>
689
690<div class="method">
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400691 <code class="details" id="signJwt">signJwt(name=None, body, x__xgafv=None)</code>
692 <pre>Signs a JWT using a service account's system-managed private key.
693
694If no expiry time (`exp`) is provided in the `SignJwtRequest`, IAM sets an
695an expiry time of one hour by default. If you request an expiry time of
696more than one hour, the request will fail.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800697
698Args:
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400699 name: string, The resource name of the service account in the following format:
700`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.
701Using `-` as a wildcard for the project will infer the project from
702the account. The `account` value can be the `email` address or the
703`unique_id` of the service account. (required)
704 body: object, The request body. (required)
705 The object takes the form of:
706
707{ # The service account sign JWT request.
708 "payload": "A String", # The JWT payload to sign, a JSON JWT Claim set.
709 }
710
711 x__xgafv: string, V1 error format.
712 Allowed values
713 1 - v1 error format
714 2 - v2 error format
715
716Returns:
717 An object of the form:
718
719 { # The service account sign JWT response.
720 "keyId": "A String", # The id of the key used to sign the JWT.
721 "signedJwt": "A String", # The signed JWT.
722 }</pre>
723</div>
724
725<div class="method">
726 <code class="details" id="testIamPermissions">testIamPermissions(resource=None, body, x__xgafv=None)</code>
727 <pre>Tests the specified permissions against the IAM access control policy
728for a ServiceAccount.
729
730Args:
731 resource: string, REQUIRED: The resource for which the policy detail is being requested.
732`resource` is usually specified as a path. For example, a Project
733resource is specified as `projects/{project}`. (required)
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800734 body: object, The request body. (required)
735 The object takes the form of:
736
737{ # Request message for `TestIamPermissions` method.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400738 "permissions": [ # The set of permissions to check for the `resource`. Permissions with
739 # wildcards (such as '*' or 'storage.*') are not allowed. For more
740 # information see
741 # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800742 "A String",
743 ],
744 }
745
746 x__xgafv: string, V1 error format.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400747 Allowed values
748 1 - v1 error format
749 2 - v2 error format
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800750
751Returns:
752 An object of the form:
753
754 { # Response message for `TestIamPermissions` method.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400755 "permissions": [ # A subset of `TestPermissionsRequest.permissions` that the caller is
756 # allowed.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800757 "A String",
758 ],
759 }</pre>
760</div>
761
762<div class="method">
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400763 <code class="details" id="update">update(name=None, body, x__xgafv=None)</code>
764 <pre>Updates a ServiceAccount.
765
766Currently, only the following fields are updatable:
767`display_name` .
768The `etag` is mandatory.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800769
770Args:
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400771 name: string, The resource name of the service account in the following format:
772`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.
773
774Requests using `-` as a wildcard for the project will infer the project
775from the `account` and the `account` value can be the `email` address or
776the `unique_id` of the service account.
777
778In responses the resource name will always be in the format
779`projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`. (required)
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800780 body: object, The request body. (required)
781 The object takes the form of:
782
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400783{ # A service account in the Identity and Access Management API.
784 #
785 # To create a service account, specify the `project_id` and the `account_id`
786 # for the account. The `account_id` is unique within the project, and is used
787 # to generate the service account email address and a stable
788 # `unique_id`.
789 #
790 # If the account already exists, the account's resource name is returned
791 # in util::Status's ResourceInfo.resource_name in the format of
792 # projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}. The caller can
793 # use the name in other methods to access the account.
794 #
795 # All other methods can identify the service account using the format
796 # `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.
797 # Using `-` as a wildcard for the project will infer the project from
798 # the account. The `account` value can be the `email` address or the
799 # `unique_id` of the service account.
800 "oauth2ClientId": "A String", # @OutputOnly. The OAuth2 client id for the service account.
801 # This is used in conjunction with the OAuth2 clientconfig API to make
802 # three legged OAuth2 (3LO) flows to access the data of Google users.
803 "displayName": "A String", # Optional. A user-specified description of the service account. Must be
804 # fewer than 100 UTF-8 bytes.
805 "name": "A String", # The resource name of the service account in the following format:
806 # `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.
807 #
808 # Requests using `-` as a wildcard for the project will infer the project
809 # from the `account` and the `account` value can be the `email` address or
810 # the `unique_id` of the service account.
811 #
812 # In responses the resource name will always be in the format
813 # `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800814 "projectId": "A String", # @OutputOnly The id of the project that owns the service account.
815 "etag": "A String", # Used to perform a consistent read-modify-write.
Sai Cheemalapatiea3a5e12016-10-12 14:05:53 -0700816 "uniqueId": "A String", # @OutputOnly The unique and stable id of the service account.
817 "email": "A String", # @OutputOnly The email address of the service account.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800818}
819
820 x__xgafv: string, V1 error format.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400821 Allowed values
822 1 - v1 error format
823 2 - v2 error format
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800824
825Returns:
826 An object of the form:
827
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400828 { # A service account in the Identity and Access Management API.
829 #
830 # To create a service account, specify the `project_id` and the `account_id`
831 # for the account. The `account_id` is unique within the project, and is used
832 # to generate the service account email address and a stable
833 # `unique_id`.
834 #
835 # If the account already exists, the account's resource name is returned
836 # in util::Status's ResourceInfo.resource_name in the format of
837 # projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}. The caller can
838 # use the name in other methods to access the account.
839 #
840 # All other methods can identify the service account using the format
841 # `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.
842 # Using `-` as a wildcard for the project will infer the project from
843 # the account. The `account` value can be the `email` address or the
844 # `unique_id` of the service account.
845 "oauth2ClientId": "A String", # @OutputOnly. The OAuth2 client id for the service account.
846 # This is used in conjunction with the OAuth2 clientconfig API to make
847 # three legged OAuth2 (3LO) flows to access the data of Google users.
848 "displayName": "A String", # Optional. A user-specified description of the service account. Must be
849 # fewer than 100 UTF-8 bytes.
850 "name": "A String", # The resource name of the service account in the following format:
851 # `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.
852 #
853 # Requests using `-` as a wildcard for the project will infer the project
854 # from the `account` and the `account` value can be the `email` address or
855 # the `unique_id` of the service account.
856 #
857 # In responses the resource name will always be in the format
858 # `projects/{PROJECT_ID}/serviceAccounts/{SERVICE_ACCOUNT_EMAIL}`.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800859 "projectId": "A String", # @OutputOnly The id of the project that owns the service account.
860 "etag": "A String", # Used to perform a consistent read-modify-write.
Sai Cheemalapatiea3a5e12016-10-12 14:05:53 -0700861 "uniqueId": "A String", # @OutputOnly The unique and stable id of the service account.
862 "email": "A String", # @OutputOnly The email address of the service account.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800863 }</pre>
864</div>
865
866</body></html>