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:v1alpha",
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": "v1alpha/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            "operatingSystemType": {
136              "description": "The type of operating system associated with the account.",
137              "enum": [
138                "OPERATING_SYSTEM_TYPE_UNSPECIFIED",
139                "LINUX",
140                "WINDOWS"
141              ],
142              "enumDescriptions": [
143                "The operating system type associated with the user account information is unspecified.",
144                "Linux user account information.",
145                "Windows user account information."
146              ],
147              "location": "query",
148              "type": "string"
149            },
150            "projectId": {
151              "description": "The project ID of the Google Cloud Platform project.",
152              "location": "query",
153              "type": "string"
154            },
155            "systemId": {
156              "description": "A system ID for filtering the results of the request.",
157              "location": "query",
158              "type": "string"
159            },
160            "view": {
161              "description": "The view configures whether to retrieve security keys information.",
162              "enum": [
163                "LOGIN_PROFILE_VIEW_UNSPECIFIED",
164                "BASIC",
165                "SECURITY_KEY"
166              ],
167              "enumDescriptions": [
168                "The default login profile view. The API defaults to the BASIC view.",
169                "Includes POSIX and SSH key information.",
170                "Include security key information for the user."
171              ],
172              "location": "query",
173              "type": "string"
174            }
175          },
176          "path": "v1alpha/{+name}/loginProfile",
177          "response": {
178            "$ref": "LoginProfile"
179          },
180          "scopes": [
181            "https://www.googleapis.com/auth/cloud-platform",
182            "https://www.googleapis.com/auth/cloud-platform.read-only",
183            "https://www.googleapis.com/auth/compute",
184            "https://www.googleapis.com/auth/compute.readonly"
185          ]
186        },
187        "importSshPublicKey": {
188          "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.",
189          "flatPath": "v1alpha/users/{usersId}:importSshPublicKey",
190          "httpMethod": "POST",
191          "id": "oslogin.users.importSshPublicKey",
192          "parameterOrder": [
193            "parent"
194          ],
195          "parameters": {
196            "parent": {
197              "description": "The unique ID for the user in format `users/{user}`.",
198              "location": "path",
199              "pattern": "^users/[^/]+$",
200              "required": true,
201              "type": "string"
202            },
203            "projectId": {
204              "description": "The project ID of the Google Cloud Platform project.",
205              "location": "query",
206              "type": "string"
207            },
208            "view": {
209              "description": "The view configures whether to retrieve security keys information.",
210              "enum": [
211                "LOGIN_PROFILE_VIEW_UNSPECIFIED",
212                "BASIC",
213                "SECURITY_KEY"
214              ],
215              "enumDescriptions": [
216                "The default login profile view. The API defaults to the BASIC view.",
217                "Includes POSIX and SSH key information.",
218                "Include security key information for the user."
219              ],
220              "location": "query",
221              "type": "string"
222            }
223          },
224          "path": "v1alpha/{+parent}:importSshPublicKey",
225          "request": {
226            "$ref": "SshPublicKey"
227          },
228          "response": {
229            "$ref": "ImportSshPublicKeyResponse"
230          },
231          "scopes": [
232            "https://www.googleapis.com/auth/cloud-platform",
233            "https://www.googleapis.com/auth/compute"
234          ]
235        }
236      },
237      "resources": {
238        "projects": {
239          "methods": {
240            "delete": {
241              "description": "Deletes a POSIX account.",
242              "flatPath": "v1alpha/users/{usersId}/projects/{projectsId}",
243              "httpMethod": "DELETE",
244              "id": "oslogin.users.projects.delete",
245              "parameterOrder": [
246                "name"
247              ],
248              "parameters": {
249                "name": {
250                  "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}`.",
251                  "location": "path",
252                  "pattern": "^users/[^/]+/projects/[^/]+$",
253                  "required": true,
254                  "type": "string"
255                },
256                "operatingSystemType": {
257                  "description": "The type of operating system associated with the account.",
258                  "enum": [
259                    "OPERATING_SYSTEM_TYPE_UNSPECIFIED",
260                    "LINUX",
261                    "WINDOWS"
262                  ],
263                  "enumDescriptions": [
264                    "The operating system type associated with the user account information is unspecified.",
265                    "Linux user account information.",
266                    "Windows user account information."
267                  ],
268                  "location": "query",
269                  "type": "string"
270                }
271              },
272              "path": "v1alpha/{+name}",
273              "response": {
274                "$ref": "Empty"
275              },
276              "scopes": [
277                "https://www.googleapis.com/auth/cloud-platform",
278                "https://www.googleapis.com/auth/compute"
279              ]
280            }
281          }
282        },
283        "sshPublicKeys": {
284          "methods": {
285            "create": {
286              "description": "Create an SSH public key",
287              "flatPath": "v1alpha/users/{usersId}/sshPublicKeys",
288              "httpMethod": "POST",
289              "id": "oslogin.users.sshPublicKeys.create",
290              "parameterOrder": [
291                "parent"
292              ],
293              "parameters": {
294                "parent": {
295                  "description": "Required. The unique ID for the user in format `users/{user}`.",
296                  "location": "path",
297                  "pattern": "^users/[^/]+$",
298                  "required": true,
299                  "type": "string"
300                }
301              },
302              "path": "v1alpha/{+parent}/sshPublicKeys",
303              "request": {
304                "$ref": "SshPublicKey"
305              },
306              "response": {
307                "$ref": "SshPublicKey"
308              },
309              "scopes": [
310                "https://www.googleapis.com/auth/cloud-platform",
311                "https://www.googleapis.com/auth/compute"
312              ]
313            },
314            "delete": {
315              "description": "Deletes an SSH public key.",
316              "flatPath": "v1alpha/users/{usersId}/sshPublicKeys/{sshPublicKeysId}",
317              "httpMethod": "DELETE",
318              "id": "oslogin.users.sshPublicKeys.delete",
319              "parameterOrder": [
320                "name"
321              ],
322              "parameters": {
323                "name": {
324                  "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}`.",
325                  "location": "path",
326                  "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$",
327                  "required": true,
328                  "type": "string"
329                }
330              },
331              "path": "v1alpha/{+name}",
332              "response": {
333                "$ref": "Empty"
334              },
335              "scopes": [
336                "https://www.googleapis.com/auth/cloud-platform",
337                "https://www.googleapis.com/auth/compute"
338              ]
339            },
340            "get": {
341              "description": "Retrieves an SSH public key.",
342              "flatPath": "v1alpha/users/{usersId}/sshPublicKeys/{sshPublicKeysId}",
343              "httpMethod": "GET",
344              "id": "oslogin.users.sshPublicKeys.get",
345              "parameterOrder": [
346                "name"
347              ],
348              "parameters": {
349                "name": {
350                  "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}`.",
351                  "location": "path",
352                  "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$",
353                  "required": true,
354                  "type": "string"
355                }
356              },
357              "path": "v1alpha/{+name}",
358              "response": {
359                "$ref": "SshPublicKey"
360              },
361              "scopes": [
362                "https://www.googleapis.com/auth/cloud-platform",
363                "https://www.googleapis.com/auth/compute"
364              ]
365            },
366            "patch": {
367              "description": "Updates an SSH public key and returns the profile information. This method supports patch semantics.",
368              "flatPath": "v1alpha/users/{usersId}/sshPublicKeys/{sshPublicKeysId}",
369              "httpMethod": "PATCH",
370              "id": "oslogin.users.sshPublicKeys.patch",
371              "parameterOrder": [
372                "name"
373              ],
374              "parameters": {
375                "name": {
376                  "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}`.",
377                  "location": "path",
378                  "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$",
379                  "required": true,
380                  "type": "string"
381                },
382                "updateMask": {
383                  "description": "Mask to control which fields get updated. Updates all if not present.",
384                  "format": "google-fieldmask",
385                  "location": "query",
386                  "type": "string"
387                }
388              },
389              "path": "v1alpha/{+name}",
390              "request": {
391                "$ref": "SshPublicKey"
392              },
393              "response": {
394                "$ref": "SshPublicKey"
395              },
396              "scopes": [
397                "https://www.googleapis.com/auth/cloud-platform",
398                "https://www.googleapis.com/auth/compute"
399              ]
400            }
401          }
402        }
403      }
404    }
405  },
406  "revision": "20211203",
407  "rootUrl": "https://oslogin.googleapis.com/",
408  "schemas": {
409    "Empty": {
410      "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 `{}`.",
411      "id": "Empty",
412      "properties": {},
413      "type": "object"
414    },
415    "ImportSshPublicKeyResponse": {
416      "description": "A response message for importing an SSH public key.",
417      "id": "ImportSshPublicKeyResponse",
418      "properties": {
419        "details": {
420          "description": "Detailed information about import results.",
421          "type": "string"
422        },
423        "loginProfile": {
424          "$ref": "LoginProfile",
425          "description": "The login profile information for the user."
426        }
427      },
428      "type": "object"
429    },
430    "LoginProfile": {
431      "description": "The user profile information used for logging in to a virtual machine on Google Compute Engine.",
432      "id": "LoginProfile",
433      "properties": {
434        "name": {
435          "description": "Required. A unique user ID.",
436          "type": "string"
437        },
438        "posixAccounts": {
439          "description": "The list of POSIX accounts associated with the user.",
440          "items": {
441            "$ref": "PosixAccount"
442          },
443          "type": "array"
444        },
445        "securityKeys": {
446          "description": "The registered security key credentials for a user.",
447          "items": {
448            "$ref": "SecurityKey"
449          },
450          "type": "array"
451        },
452        "sshPublicKeys": {
453          "additionalProperties": {
454            "$ref": "SshPublicKey"
455          },
456          "description": "A map from SSH public key fingerprint to the associated key object.",
457          "type": "object"
458        }
459      },
460      "type": "object"
461    },
462    "PosixAccount": {
463      "description": "The POSIX account information associated with a Google account.",
464      "id": "PosixAccount",
465      "properties": {
466        "accountId": {
467          "description": "Output only. A POSIX account identifier.",
468          "readOnly": true,
469          "type": "string"
470        },
471        "gecos": {
472          "description": "The GECOS (user information) entry for this account.",
473          "type": "string"
474        },
475        "gid": {
476          "description": "The default group ID.",
477          "format": "int64",
478          "type": "string"
479        },
480        "homeDirectory": {
481          "description": "The path to the home directory for this account.",
482          "type": "string"
483        },
484        "name": {
485          "description": "Output only. The canonical resource name.",
486          "readOnly": true,
487          "type": "string"
488        },
489        "operatingSystemType": {
490          "description": "The operating system type where this account applies.",
491          "enum": [
492            "OPERATING_SYSTEM_TYPE_UNSPECIFIED",
493            "LINUX",
494            "WINDOWS"
495          ],
496          "enumDescriptions": [
497            "The operating system type associated with the user account information is unspecified.",
498            "Linux user account information.",
499            "Windows user account information."
500          ],
501          "type": "string"
502        },
503        "primary": {
504          "description": "Only one POSIX account can be marked as primary.",
505          "type": "boolean"
506        },
507        "shell": {
508          "description": "The path to the logic shell for this account.",
509          "type": "string"
510        },
511        "systemId": {
512          "description": "System identifier for which account the username or uid applies to. By default, the empty value is used.",
513          "type": "string"
514        },
515        "uid": {
516          "description": "The user ID.",
517          "format": "int64",
518          "type": "string"
519        },
520        "username": {
521          "description": "The username of the POSIX account.",
522          "type": "string"
523        }
524      },
525      "type": "object"
526    },
527    "SecurityKey": {
528      "description": "The credential information for a Google registered security key.",
529      "id": "SecurityKey",
530      "properties": {
531        "privateKey": {
532          "description": "Hardware-backed private key text in SSH format.",
533          "type": "string"
534        },
535        "publicKey": {
536          "description": "Public key text in SSH format, defined by [RFC4253](\"https://www.ietf.org/rfc/rfc4253.txt\") section 6.6.",
537          "type": "string"
538        },
539        "universalTwoFactor": {
540          "$ref": "UniversalTwoFactor",
541          "description": "The U2F protocol type."
542        },
543        "webAuthn": {
544          "$ref": "WebAuthn",
545          "description": "The Web Authentication protocol type."
546        }
547      },
548      "type": "object"
549    },
550    "SshPublicKey": {
551      "description": "The SSH public key information associated with a Google account.",
552      "id": "SshPublicKey",
553      "properties": {
554        "expirationTimeUsec": {
555          "description": "An expiration time in microseconds since epoch.",
556          "format": "int64",
557          "type": "string"
558        },
559        "fingerprint": {
560          "description": "Output only. The SHA-256 fingerprint of the SSH public key.",
561          "readOnly": true,
562          "type": "string"
563        },
564        "key": {
565          "description": "Public key text in SSH format, defined by RFC4253 section 6.6.",
566          "type": "string"
567        },
568        "name": {
569          "description": "Output only. The canonical resource name.",
570          "readOnly": true,
571          "type": "string"
572        }
573      },
574      "type": "object"
575    },
576    "UniversalTwoFactor": {
577      "description": "Security key information specific to the U2F protocol.",
578      "id": "UniversalTwoFactor",
579      "properties": {
580        "appId": {
581          "description": "Application ID for the U2F protocol.",
582          "type": "string"
583        }
584      },
585      "type": "object"
586    },
587    "WebAuthn": {
588      "description": "Security key information specific to the Web Authentication protocol.",
589      "id": "WebAuthn",
590      "properties": {
591        "rpId": {
592          "description": "Relying party ID for Web Authentication.",
593          "type": "string"
594        }
595      },
596      "type": "object"
597    }
598  },
599  "servicePath": "",
600  "title": "Cloud OS Login API",
601  "version": "v1alpha",
602  "version_module": true
603}