blob: 53f8a6f922ab7e2c0eca350b322df8c33b9e09b4 [file] [log] [blame]
Yoshi Automation Botb6971b02020-11-26 17:16:03 -08001{
Anthonios Partheniou10f4b672021-04-13 14:47:53 -04002 "auth": {
3 "oauth2": {
4 "scopes": {
5 "https://www.googleapis.com/auth/cloud-platform": {
6 "description": "See, edit, configure, and delete your Google Cloud Platform data"
Yoshi Automation Botb6971b02020-11-26 17:16:03 -08007 }
8 }
9 }
10 },
Yoshi Automation Botb6971b02020-11-26 17:16:03 -080011 "basePath": "",
Anthonios Partheniou10f4b672021-04-13 14:47:53 -040012 "baseUrl": "https://iamcredentials.googleapis.com/",
13 "batchPath": "batch",
14 "canonicalName": "IAM Credentials",
Yoshi Automation Botb6971b02020-11-26 17:16:03 -080015 "description": "Creates short-lived credentials for impersonating IAM service accounts. To enable this API, you must enable the IAM API (iam.googleapis.com). ",
Anthonios Partheniou10f4b672021-04-13 14:47:53 -040016 "discoveryVersion": "v1",
Yoshi Automation Botb6971b02020-11-26 17:16:03 -080017 "documentationLink": "https://cloud.google.com/iam/docs/creating-short-lived-service-account-credentials",
Anthonios Partheniou10f4b672021-04-13 14:47:53 -040018 "fullyEncodeReservedExpansion": true,
19 "icons": {
20 "x16": "http://www.google.com/images/icons/product/search-16.gif",
21 "x32": "http://www.google.com/images/icons/product/search-32.gif"
22 },
23 "id": "iamcredentials:v1",
24 "kind": "discovery#restDescription",
Yoshi Automation Botb6971b02020-11-26 17:16:03 -080025 "mtlsRootUrl": "https://iamcredentials.mtls.googleapis.com/",
Anthonios Partheniou10f4b672021-04-13 14:47:53 -040026 "name": "iamcredentials",
Yoshi Automation Botb6971b02020-11-26 17:16:03 -080027 "ownerDomain": "google.com",
Anthonios Partheniou10f4b672021-04-13 14:47:53 -040028 "ownerName": "Google",
Yoshi Automation Botb6971b02020-11-26 17:16:03 -080029 "parameters": {
Anthonios Partheniou10f4b672021-04-13 14:47:53 -040030 "$.xgafv": {
31 "description": "V1 error format.",
32 "enum": [
33 "1",
34 "2"
35 ],
36 "enumDescriptions": [
37 "v1 error format",
38 "v2 error format"
39 ],
40 "location": "query",
41 "type": "string"
42 },
Yoshi Automation Botb6971b02020-11-26 17:16:03 -080043 "access_token": {
44 "description": "OAuth access token.",
Yoshi Automation Botb6971b02020-11-26 17:16:03 -080045 "location": "query",
46 "type": "string"
47 },
48 "alt": {
49 "default": "json",
Anthonios Partheniou10f4b672021-04-13 14:47:53 -040050 "description": "Data format for response.",
Yoshi Automation Botb6971b02020-11-26 17:16:03 -080051 "enum": [
52 "json",
53 "media",
54 "proto"
55 ],
56 "enumDescriptions": [
57 "Responses with Content-Type of application/json",
58 "Media download with context-dependent Content-Type",
59 "Responses with Content-Type of application/x-protobuf"
60 ],
Yoshi Automation Botb6971b02020-11-26 17:16:03 -080061 "location": "query",
62 "type": "string"
63 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -040064 "callback": {
65 "description": "JSONP",
Yoshi Automation Botb6971b02020-11-26 17:16:03 -080066 "location": "query",
Anthonios Partheniou10f4b672021-04-13 14:47:53 -040067 "type": "string"
68 },
69 "fields": {
70 "description": "Selector specifying which fields to include in a partial response.",
71 "location": "query",
72 "type": "string"
Yoshi Automation Botb6971b02020-11-26 17:16:03 -080073 },
74 "key": {
Anthonios Partheniou10f4b672021-04-13 14:47:53 -040075 "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
Yoshi Automation Botb6971b02020-11-26 17:16:03 -080076 "location": "query",
Anthonios Partheniou10f4b672021-04-13 14:47:53 -040077 "type": "string"
Yoshi Automation Botb6971b02020-11-26 17:16:03 -080078 },
79 "oauth_token": {
80 "description": "OAuth 2.0 token for the current user.",
81 "location": "query",
82 "type": "string"
83 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -040084 "prettyPrint": {
85 "default": "true",
86 "description": "Returns response with indentations and line breaks.",
Yoshi Automation Botb6971b02020-11-26 17:16:03 -080087 "location": "query",
Anthonios Partheniou10f4b672021-04-13 14:47:53 -040088 "type": "boolean"
Yoshi Automation Botb6971b02020-11-26 17:16:03 -080089 },
90 "quotaUser": {
Anthonios Partheniou10f4b672021-04-13 14:47:53 -040091 "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
Yoshi Automation Botb6971b02020-11-26 17:16:03 -080092 "location": "query",
Anthonios Partheniou10f4b672021-04-13 14:47:53 -040093 "type": "string"
94 },
95 "uploadType": {
96 "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
97 "location": "query",
98 "type": "string"
99 },
100 "upload_protocol": {
101 "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
102 "location": "query",
103 "type": "string"
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800104 }
105 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400106 "protocol": "rest",
107 "resources": {
108 "projects": {
109 "resources": {
110 "serviceAccounts": {
111 "methods": {
112 "generateAccessToken": {
113 "description": "Generates an OAuth 2.0 access token for a service account.",
114 "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:generateAccessToken",
115 "httpMethod": "POST",
116 "id": "iamcredentials.projects.serviceAccounts.generateAccessToken",
117 "parameterOrder": [
118 "name"
119 ],
120 "parameters": {
121 "name": {
122 "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
123 "location": "path",
124 "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
125 "required": true,
126 "type": "string"
127 }
128 },
129 "path": "v1/{+name}:generateAccessToken",
130 "request": {
131 "$ref": "GenerateAccessTokenRequest"
132 },
133 "response": {
134 "$ref": "GenerateAccessTokenResponse"
135 },
136 "scopes": [
137 "https://www.googleapis.com/auth/cloud-platform"
138 ]
139 },
140 "generateIdToken": {
141 "description": "Generates an OpenID Connect ID token for a service account.",
142 "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:generateIdToken",
143 "httpMethod": "POST",
144 "id": "iamcredentials.projects.serviceAccounts.generateIdToken",
145 "parameterOrder": [
146 "name"
147 ],
148 "parameters": {
149 "name": {
150 "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
151 "location": "path",
152 "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
153 "required": true,
154 "type": "string"
155 }
156 },
157 "path": "v1/{+name}:generateIdToken",
158 "request": {
159 "$ref": "GenerateIdTokenRequest"
160 },
161 "response": {
162 "$ref": "GenerateIdTokenResponse"
163 },
164 "scopes": [
165 "https://www.googleapis.com/auth/cloud-platform"
166 ]
167 },
168 "signBlob": {
169 "description": "Signs a blob using a service account's system-managed private key.",
170 "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signBlob",
171 "httpMethod": "POST",
172 "id": "iamcredentials.projects.serviceAccounts.signBlob",
173 "parameterOrder": [
174 "name"
175 ],
176 "parameters": {
177 "name": {
178 "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
179 "location": "path",
180 "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
181 "required": true,
182 "type": "string"
183 }
184 },
185 "path": "v1/{+name}:signBlob",
186 "request": {
187 "$ref": "SignBlobRequest"
188 },
189 "response": {
190 "$ref": "SignBlobResponse"
191 },
192 "scopes": [
193 "https://www.googleapis.com/auth/cloud-platform"
194 ]
195 },
196 "signJwt": {
197 "description": "Signs a JWT using a service account's system-managed private key.",
198 "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signJwt",
199 "httpMethod": "POST",
200 "id": "iamcredentials.projects.serviceAccounts.signJwt",
201 "parameterOrder": [
202 "name"
203 ],
204 "parameters": {
205 "name": {
206 "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
207 "location": "path",
208 "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
209 "required": true,
210 "type": "string"
211 }
212 },
213 "path": "v1/{+name}:signJwt",
214 "request": {
215 "$ref": "SignJwtRequest"
216 },
217 "response": {
218 "$ref": "SignJwtResponse"
219 },
220 "scopes": [
221 "https://www.googleapis.com/auth/cloud-platform"
222 ]
223 }
224 }
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800225 }
226 }
227 }
228 },
yoshi-code-bot3e4b5db2021-08-10 00:22:29 -0700229 "revision": "20210729",
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800230 "rootUrl": "https://iamcredentials.googleapis.com/",
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800231 "schemas": {
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400232 "GenerateAccessTokenRequest": {
233 "id": "GenerateAccessTokenRequest",
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800234 "properties": {
235 "delegates": {
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800236 "description": "The sequence of service accounts in a delegation chain. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
237 "items": {
238 "type": "string"
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400239 },
240 "type": "array"
241 },
242 "lifetime": {
243 "description": "The desired lifetime duration of the access token in seconds. By default, the maximum allowed value is 1 hour. To set a lifetime of up to 12 hours, you can add the service account as an allowed value in an Organization Policy that enforces the `constraints/iam.allowServiceAccountCredentialLifetimeExtension` constraint. See detailed instructions at https://cloud.google.com/iam/help/credentials/lifetime If a value is not specified, the token's lifetime will be set to a default value of 1 hour.",
244 "format": "google-duration",
245 "type": "string"
246 },
247 "scope": {
248 "description": "Required. Code to identify the scopes to be included in the OAuth 2.0 access token. See https://developers.google.com/identity/protocols/googlescopes for more information. At least one value required.",
249 "items": {
250 "type": "string"
251 },
252 "type": "array"
253 }
254 },
255 "type": "object"
256 },
257 "GenerateAccessTokenResponse": {
258 "id": "GenerateAccessTokenResponse",
259 "properties": {
260 "accessToken": {
261 "description": "The OAuth 2.0 access token.",
262 "type": "string"
263 },
264 "expireTime": {
265 "description": "Token expiration time. The expiration time is always set.",
266 "format": "google-datetime",
267 "type": "string"
268 }
269 },
270 "type": "object"
271 },
272 "GenerateIdTokenRequest": {
273 "id": "GenerateIdTokenRequest",
274 "properties": {
275 "audience": {
276 "description": "Required. The audience for the token, such as the API or account that this token grants access to.",
277 "type": "string"
278 },
279 "delegates": {
280 "description": "The sequence of service accounts in a delegation chain. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
281 "items": {
282 "type": "string"
283 },
284 "type": "array"
285 },
286 "includeEmail": {
287 "description": "Include the service account email in the token. If set to `true`, the token will contain `email` and `email_verified` claims.",
288 "type": "boolean"
289 }
290 },
291 "type": "object"
292 },
293 "GenerateIdTokenResponse": {
294 "id": "GenerateIdTokenResponse",
295 "properties": {
296 "token": {
297 "description": "The OpenId Connect ID token.",
298 "type": "string"
299 }
300 },
301 "type": "object"
302 },
303 "SignBlobRequest": {
304 "id": "SignBlobRequest",
305 "properties": {
306 "delegates": {
307 "description": "The sequence of service accounts in a delegation chain. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
308 "items": {
309 "type": "string"
310 },
311 "type": "array"
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800312 },
313 "payload": {
314 "description": "Required. The bytes to sign.",
315 "format": "byte",
316 "type": "string"
317 }
318 },
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800319 "type": "object"
320 },
321 "SignBlobResponse": {
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400322 "id": "SignBlobResponse",
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800323 "properties": {
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800324 "keyId": {
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400325 "description": "The ID of the key used to sign the blob. The key used for signing will remain valid for at least 12 hours after the blob is signed. To verify the signature, you can retrieve the public key in several formats from the following endpoints: - RSA public key wrapped in an X.509 v3 certificate: `https://www.googleapis.com/service_accounts/v1/metadata/x509/{ACCOUNT_EMAIL}` - Raw key in JSON format: `https://www.googleapis.com/service_accounts/v1/metadata/raw/{ACCOUNT_EMAIL}` - JSON Web Key (JWK): `https://www.googleapis.com/service_accounts/v1/metadata/jwk/{ACCOUNT_EMAIL}`",
326 "type": "string"
327 },
328 "signedBlob": {
329 "description": "The signature for the blob. Does not include the original blob. After the key pair referenced by the `key_id` response field expires, Google no longer exposes the public key that can be used to verify the blob. As a result, the receiver can no longer verify the signature.",
330 "format": "byte",
331 "type": "string"
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800332 }
333 },
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400334 "type": "object"
335 },
336 "SignJwtRequest": {
337 "id": "SignJwtRequest",
338 "properties": {
339 "delegates": {
340 "description": "The sequence of service accounts in a delegation chain. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
341 "items": {
342 "type": "string"
343 },
344 "type": "array"
345 },
346 "payload": {
347 "description": "Required. The JWT payload to sign. Must be a serialized JSON object that contains a JWT Claims Set. For example: `{\"sub\": \"user@example.com\", \"iat\": 313435}` If the JWT Claims Set contains an expiration time (`exp`) claim, it must be an integer timestamp that is not in the past and no more than 12 hours in the future.",
348 "type": "string"
349 }
350 },
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800351 "type": "object"
352 },
353 "SignJwtResponse": {
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400354 "id": "SignJwtResponse",
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800355 "properties": {
356 "keyId": {
357 "description": "The ID of the key used to sign the JWT. The key used for signing will remain valid for at least 12 hours after the JWT is signed. To verify the signature, you can retrieve the public key in several formats from the following endpoints: - RSA public key wrapped in an X.509 v3 certificate: `https://www.googleapis.com/service_accounts/v1/metadata/x509/{ACCOUNT_EMAIL}` - Raw key in JSON format: `https://www.googleapis.com/service_accounts/v1/metadata/raw/{ACCOUNT_EMAIL}` - JSON Web Key (JWK): `https://www.googleapis.com/service_accounts/v1/metadata/jwk/{ACCOUNT_EMAIL}`",
358 "type": "string"
359 },
360 "signedJwt": {
361 "description": "The signed JWT. Contains the automatically generated header; the client-supplied payload; and the signature, which is generated using the key referenced by the `kid` field in the header. After the key pair referenced by the `key_id` response field expires, Google no longer exposes the public key that can be used to verify the JWT. As a result, the receiver can no longer verify the signature.",
362 "type": "string"
363 }
364 },
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800365 "type": "object"
Yoshi Automation Botb6971b02020-11-26 17:16:03 -0800366 }
Anthonios Partheniou10f4b672021-04-13 14:47:53 -0400367 },
368 "servicePath": "",
369 "title": "IAM Service Account Credentials API",
370 "version": "v1",
371 "version_module": true
372}