• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "auth": {
3    "oauth2": {
4      "scopes": {
5        "https://www.googleapis.com/auth/cloud-platform": {
6          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
7        },
8        "https://www.googleapis.com/auth/cloud-platform.read-only": {
9          "description": "View your data across Google Cloud services and see the email address of your Google Account"
10        },
11        "https://www.googleapis.com/auth/compute": {
12          "description": "View and manage your Google Compute Engine resources"
13        },
14        "https://www.googleapis.com/auth/compute.readonly": {
15          "description": "View your Google Compute Engine resources"
16        }
17      }
18    }
19  },
20  "basePath": "",
21  "baseUrl": "https://oslogin.googleapis.com/",
22  "batchPath": "batch",
23  "canonicalName": "Cloud OS Login",
24  "description": "You can use OS Login to manage access to your VM instances using IAM roles.",
25  "discoveryVersion": "v1",
26  "documentationLink": "https://cloud.google.com/compute/docs/oslogin/",
27  "fullyEncodeReservedExpansion": true,
28  "icons": {
29    "x16": "http://www.google.com/images/icons/product/search-16.gif",
30    "x32": "http://www.google.com/images/icons/product/search-32.gif"
31  },
32  "id": "oslogin:v1beta",
33  "kind": "discovery#restDescription",
34  "mtlsRootUrl": "https://oslogin.mtls.googleapis.com/",
35  "name": "oslogin",
36  "ownerDomain": "google.com",
37  "ownerName": "Google",
38  "parameters": {
39    "$.xgafv": {
40      "description": "V1 error format.",
41      "enum": [
42        "1",
43        "2"
44      ],
45      "enumDescriptions": [
46        "v1 error format",
47        "v2 error format"
48      ],
49      "location": "query",
50      "type": "string"
51    },
52    "access_token": {
53      "description": "OAuth access token.",
54      "location": "query",
55      "type": "string"
56    },
57    "alt": {
58      "default": "json",
59      "description": "Data format for response.",
60      "enum": [
61        "json",
62        "media",
63        "proto"
64      ],
65      "enumDescriptions": [
66        "Responses with Content-Type of application/json",
67        "Media download with context-dependent Content-Type",
68        "Responses with Content-Type of application/x-protobuf"
69      ],
70      "location": "query",
71      "type": "string"
72    },
73    "callback": {
74      "description": "JSONP",
75      "location": "query",
76      "type": "string"
77    },
78    "fields": {
79      "description": "Selector specifying which fields to include in a partial response.",
80      "location": "query",
81      "type": "string"
82    },
83    "key": {
84      "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.",
85      "location": "query",
86      "type": "string"
87    },
88    "oauth_token": {
89      "description": "OAuth 2.0 token for the current user.",
90      "location": "query",
91      "type": "string"
92    },
93    "prettyPrint": {
94      "default": "true",
95      "description": "Returns response with indentations and line breaks.",
96      "location": "query",
97      "type": "boolean"
98    },
99    "quotaUser": {
100      "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.",
101      "location": "query",
102      "type": "string"
103    },
104    "uploadType": {
105      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
106      "location": "query",
107      "type": "string"
108    },
109    "upload_protocol": {
110      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
111      "location": "query",
112      "type": "string"
113    }
114  },
115  "protocol": "rest",
116  "resources": {
117    "users": {
118      "methods": {
119        "getLoginProfile": {
120          "description": "Retrieves the profile information used for logging in to a virtual machine on Google Compute Engine.",
121          "flatPath": "v1beta/users/{usersId}/loginProfile",
122          "httpMethod": "GET",
123          "id": "oslogin.users.getLoginProfile",
124          "parameterOrder": [
125            "name"
126          ],
127          "parameters": {
128            "name": {
129              "description": "Required. The unique ID for the user in format `users/{user}`.",
130              "location": "path",
131              "pattern": "^users/[^/]+$",
132              "required": true,
133              "type": "string"
134            },
135            "projectId": {
136              "description": "The project ID of the Google Cloud Platform project.",
137              "location": "query",
138              "type": "string"
139            },
140            "systemId": {
141              "description": "A system ID for filtering the results of the request.",
142              "location": "query",
143              "type": "string"
144            },
145            "view": {
146              "description": "The view configures whether to retrieve security keys information.",
147              "enum": [
148                "LOGIN_PROFILE_VIEW_UNSPECIFIED",
149                "BASIC",
150                "SECURITY_KEY"
151              ],
152              "enumDescriptions": [
153                "The default login profile view. The API defaults to the BASIC view.",
154                "Includes POSIX and SSH key information.",
155                "Include security key information for the user."
156              ],
157              "location": "query",
158              "type": "string"
159            }
160          },
161          "path": "v1beta/{+name}/loginProfile",
162          "response": {
163            "$ref": "LoginProfile"
164          },
165          "scopes": [
166            "https://www.googleapis.com/auth/cloud-platform",
167            "https://www.googleapis.com/auth/cloud-platform.read-only",
168            "https://www.googleapis.com/auth/compute",
169            "https://www.googleapis.com/auth/compute.readonly"
170          ]
171        },
172        "importSshPublicKey": {
173          "description": "Adds an SSH public key and returns the profile information. Default POSIX account information is set when no username and UID exist as part of the login profile.",
174          "flatPath": "v1beta/users/{usersId}:importSshPublicKey",
175          "httpMethod": "POST",
176          "id": "oslogin.users.importSshPublicKey",
177          "parameterOrder": [
178            "parent"
179          ],
180          "parameters": {
181            "parent": {
182              "description": "The unique ID for the user in format `users/{user}`.",
183              "location": "path",
184              "pattern": "^users/[^/]+$",
185              "required": true,
186              "type": "string"
187            },
188            "projectId": {
189              "description": "The project ID of the Google Cloud Platform project.",
190              "location": "query",
191              "type": "string"
192            },
193            "view": {
194              "description": "The view configures whether to retrieve security keys information.",
195              "enum": [
196                "LOGIN_PROFILE_VIEW_UNSPECIFIED",
197                "BASIC",
198                "SECURITY_KEY"
199              ],
200              "enumDescriptions": [
201                "The default login profile view. The API defaults to the BASIC view.",
202                "Includes POSIX and SSH key information.",
203                "Include security key information for the user."
204              ],
205              "location": "query",
206              "type": "string"
207            }
208          },
209          "path": "v1beta/{+parent}:importSshPublicKey",
210          "request": {
211            "$ref": "SshPublicKey"
212          },
213          "response": {
214            "$ref": "ImportSshPublicKeyResponse"
215          },
216          "scopes": [
217            "https://www.googleapis.com/auth/cloud-platform",
218            "https://www.googleapis.com/auth/compute"
219          ]
220        }
221      },
222      "resources": {
223        "projects": {
224          "methods": {
225            "delete": {
226              "description": "Deletes a POSIX account.",
227              "flatPath": "v1beta/users/{usersId}/projects/{projectsId}",
228              "httpMethod": "DELETE",
229              "id": "oslogin.users.projects.delete",
230              "parameterOrder": [
231                "name"
232              ],
233              "parameters": {
234                "name": {
235                  "description": "Required. A reference to the POSIX account to update. POSIX accounts are identified by the project ID they are associated with. A reference to the POSIX account is in format `users/{user}/projects/{project}`.",
236                  "location": "path",
237                  "pattern": "^users/[^/]+/projects/[^/]+$",
238                  "required": true,
239                  "type": "string"
240                }
241              },
242              "path": "v1beta/{+name}",
243              "response": {
244                "$ref": "Empty"
245              },
246              "scopes": [
247                "https://www.googleapis.com/auth/cloud-platform",
248                "https://www.googleapis.com/auth/compute"
249              ]
250            }
251          }
252        },
253        "sshPublicKeys": {
254          "methods": {
255            "create": {
256              "description": "Create an SSH public key",
257              "flatPath": "v1beta/users/{usersId}/sshPublicKeys",
258              "httpMethod": "POST",
259              "id": "oslogin.users.sshPublicKeys.create",
260              "parameterOrder": [
261                "parent"
262              ],
263              "parameters": {
264                "parent": {
265                  "description": "Required. The unique ID for the user in format `users/{user}`.",
266                  "location": "path",
267                  "pattern": "^users/[^/]+$",
268                  "required": true,
269                  "type": "string"
270                }
271              },
272              "path": "v1beta/{+parent}/sshPublicKeys",
273              "request": {
274                "$ref": "SshPublicKey"
275              },
276              "response": {
277                "$ref": "SshPublicKey"
278              },
279              "scopes": [
280                "https://www.googleapis.com/auth/cloud-platform",
281                "https://www.googleapis.com/auth/compute"
282              ]
283            },
284            "delete": {
285              "description": "Deletes an SSH public key.",
286              "flatPath": "v1beta/users/{usersId}/sshPublicKeys/{sshPublicKeysId}",
287              "httpMethod": "DELETE",
288              "id": "oslogin.users.sshPublicKeys.delete",
289              "parameterOrder": [
290                "name"
291              ],
292              "parameters": {
293                "name": {
294                  "description": "Required. The fingerprint of the public key to update. Public keys are identified by their SHA-256 fingerprint. The fingerprint of the public key is in format `users/{user}/sshPublicKeys/{fingerprint}`.",
295                  "location": "path",
296                  "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$",
297                  "required": true,
298                  "type": "string"
299                }
300              },
301              "path": "v1beta/{+name}",
302              "response": {
303                "$ref": "Empty"
304              },
305              "scopes": [
306                "https://www.googleapis.com/auth/cloud-platform",
307                "https://www.googleapis.com/auth/compute"
308              ]
309            },
310            "get": {
311              "description": "Retrieves an SSH public key.",
312              "flatPath": "v1beta/users/{usersId}/sshPublicKeys/{sshPublicKeysId}",
313              "httpMethod": "GET",
314              "id": "oslogin.users.sshPublicKeys.get",
315              "parameterOrder": [
316                "name"
317              ],
318              "parameters": {
319                "name": {
320                  "description": "Required. The fingerprint of the public key to retrieve. Public keys are identified by their SHA-256 fingerprint. The fingerprint of the public key is in format `users/{user}/sshPublicKeys/{fingerprint}`.",
321                  "location": "path",
322                  "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$",
323                  "required": true,
324                  "type": "string"
325                }
326              },
327              "path": "v1beta/{+name}",
328              "response": {
329                "$ref": "SshPublicKey"
330              },
331              "scopes": [
332                "https://www.googleapis.com/auth/cloud-platform",
333                "https://www.googleapis.com/auth/compute"
334              ]
335            },
336            "patch": {
337              "description": "Updates an SSH public key and returns the profile information. This method supports patch semantics.",
338              "flatPath": "v1beta/users/{usersId}/sshPublicKeys/{sshPublicKeysId}",
339              "httpMethod": "PATCH",
340              "id": "oslogin.users.sshPublicKeys.patch",
341              "parameterOrder": [
342                "name"
343              ],
344              "parameters": {
345                "name": {
346                  "description": "Required. The fingerprint of the public key to update. Public keys are identified by their SHA-256 fingerprint. The fingerprint of the public key is in format `users/{user}/sshPublicKeys/{fingerprint}`.",
347                  "location": "path",
348                  "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$",
349                  "required": true,
350                  "type": "string"
351                },
352                "updateMask": {
353                  "description": "Mask to control which fields get updated. Updates all if not present.",
354                  "format": "google-fieldmask",
355                  "location": "query",
356                  "type": "string"
357                }
358              },
359              "path": "v1beta/{+name}",
360              "request": {
361                "$ref": "SshPublicKey"
362              },
363              "response": {
364                "$ref": "SshPublicKey"
365              },
366              "scopes": [
367                "https://www.googleapis.com/auth/cloud-platform",
368                "https://www.googleapis.com/auth/compute"
369              ]
370            }
371          }
372        }
373      }
374    }
375  },
376  "revision": "20211203",
377  "rootUrl": "https://oslogin.googleapis.com/",
378  "schemas": {
379    "Empty": {
380      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
381      "id": "Empty",
382      "properties": {},
383      "type": "object"
384    },
385    "ImportSshPublicKeyResponse": {
386      "description": "A response message for importing an SSH public key.",
387      "id": "ImportSshPublicKeyResponse",
388      "properties": {
389        "details": {
390          "description": "Detailed information about import results.",
391          "type": "string"
392        },
393        "loginProfile": {
394          "$ref": "LoginProfile",
395          "description": "The login profile information for the user."
396        }
397      },
398      "type": "object"
399    },
400    "LoginProfile": {
401      "description": "The user profile information used for logging in to a virtual machine on Google Compute Engine.",
402      "id": "LoginProfile",
403      "properties": {
404        "name": {
405          "description": "Required. A unique user ID.",
406          "type": "string"
407        },
408        "posixAccounts": {
409          "description": "The list of POSIX accounts associated with the user.",
410          "items": {
411            "$ref": "PosixAccount"
412          },
413          "type": "array"
414        },
415        "securityKeys": {
416          "description": "The registered security key credentials for a user.",
417          "items": {
418            "$ref": "SecurityKey"
419          },
420          "type": "array"
421        },
422        "sshPublicKeys": {
423          "additionalProperties": {
424            "$ref": "SshPublicKey"
425          },
426          "description": "A map from SSH public key fingerprint to the associated key object.",
427          "type": "object"
428        }
429      },
430      "type": "object"
431    },
432    "PosixAccount": {
433      "description": "The POSIX account information associated with a Google account.",
434      "id": "PosixAccount",
435      "properties": {
436        "accountId": {
437          "description": "Output only. A POSIX account identifier.",
438          "readOnly": true,
439          "type": "string"
440        },
441        "gecos": {
442          "description": "The GECOS (user information) entry for this account.",
443          "type": "string"
444        },
445        "gid": {
446          "description": "The default group ID.",
447          "format": "int64",
448          "type": "string"
449        },
450        "homeDirectory": {
451          "description": "The path to the home directory for this account.",
452          "type": "string"
453        },
454        "name": {
455          "description": "Output only. The canonical resource name.",
456          "readOnly": true,
457          "type": "string"
458        },
459        "operatingSystemType": {
460          "description": "The operating system type where this account applies.",
461          "enum": [
462            "OPERATING_SYSTEM_TYPE_UNSPECIFIED",
463            "LINUX",
464            "WINDOWS"
465          ],
466          "enumDescriptions": [
467            "The operating system type associated with the user account information is unspecified.",
468            "Linux user account information.",
469            "Windows user account information."
470          ],
471          "type": "string"
472        },
473        "primary": {
474          "description": "Only one POSIX account can be marked as primary.",
475          "type": "boolean"
476        },
477        "shell": {
478          "description": "The path to the logic shell for this account.",
479          "type": "string"
480        },
481        "systemId": {
482          "description": "System identifier for which account the username or uid applies to. By default, the empty value is used.",
483          "type": "string"
484        },
485        "uid": {
486          "description": "The user ID.",
487          "format": "int64",
488          "type": "string"
489        },
490        "username": {
491          "description": "The username of the POSIX account.",
492          "type": "string"
493        }
494      },
495      "type": "object"
496    },
497    "SecurityKey": {
498      "description": "The credential information for a Google registered security key.",
499      "id": "SecurityKey",
500      "properties": {
501        "privateKey": {
502          "description": "Hardware-backed private key text in SSH format.",
503          "type": "string"
504        },
505        "publicKey": {
506          "description": "Public key text in SSH format, defined by [RFC4253](\"https://www.ietf.org/rfc/rfc4253.txt\") section 6.6.",
507          "type": "string"
508        },
509        "universalTwoFactor": {
510          "$ref": "UniversalTwoFactor",
511          "description": "The U2F protocol type."
512        },
513        "webAuthn": {
514          "$ref": "WebAuthn",
515          "description": "The Web Authentication protocol type."
516        }
517      },
518      "type": "object"
519    },
520    "SshPublicKey": {
521      "description": "The SSH public key information associated with a Google account.",
522      "id": "SshPublicKey",
523      "properties": {
524        "expirationTimeUsec": {
525          "description": "An expiration time in microseconds since epoch.",
526          "format": "int64",
527          "type": "string"
528        },
529        "fingerprint": {
530          "description": "Output only. The SHA-256 fingerprint of the SSH public key.",
531          "readOnly": true,
532          "type": "string"
533        },
534        "key": {
535          "description": "Public key text in SSH format, defined by RFC4253 section 6.6.",
536          "type": "string"
537        },
538        "name": {
539          "description": "Output only. The canonical resource name.",
540          "readOnly": true,
541          "type": "string"
542        }
543      },
544      "type": "object"
545    },
546    "UniversalTwoFactor": {
547      "description": "Security key information specific to the U2F protocol.",
548      "id": "UniversalTwoFactor",
549      "properties": {
550        "appId": {
551          "description": "Application ID for the U2F protocol.",
552          "type": "string"
553        }
554      },
555      "type": "object"
556    },
557    "WebAuthn": {
558      "description": "Security key information specific to the Web Authentication protocol.",
559      "id": "WebAuthn",
560      "properties": {
561        "rpId": {
562          "description": "Relying party ID for Web Authentication.",
563          "type": "string"
564        }
565      },
566      "type": "object"
567    }
568  },
569  "servicePath": "",
570  "title": "Cloud OS Login API",
571  "version": "v1beta",
572  "version_module": true
573}