• 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:v1",
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": "v1/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          },
146          "path": "v1/{+name}/loginProfile",
147          "response": {
148            "$ref": "LoginProfile"
149          },
150          "scopes": [
151            "https://www.googleapis.com/auth/cloud-platform",
152            "https://www.googleapis.com/auth/cloud-platform.read-only",
153            "https://www.googleapis.com/auth/compute",
154            "https://www.googleapis.com/auth/compute.readonly"
155          ]
156        },
157        "importSshPublicKey": {
158          "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.",
159          "flatPath": "v1/users/{usersId}:importSshPublicKey",
160          "httpMethod": "POST",
161          "id": "oslogin.users.importSshPublicKey",
162          "parameterOrder": [
163            "parent"
164          ],
165          "parameters": {
166            "parent": {
167              "description": "Required. The unique ID for the user in format `users/{user}`.",
168              "location": "path",
169              "pattern": "^users/[^/]+$",
170              "required": true,
171              "type": "string"
172            },
173            "projectId": {
174              "description": "The project ID of the Google Cloud Platform project.",
175              "location": "query",
176              "type": "string"
177            }
178          },
179          "path": "v1/{+parent}:importSshPublicKey",
180          "request": {
181            "$ref": "SshPublicKey"
182          },
183          "response": {
184            "$ref": "ImportSshPublicKeyResponse"
185          },
186          "scopes": [
187            "https://www.googleapis.com/auth/cloud-platform",
188            "https://www.googleapis.com/auth/compute"
189          ]
190        }
191      },
192      "resources": {
193        "projects": {
194          "methods": {
195            "delete": {
196              "description": "Deletes a POSIX account.",
197              "flatPath": "v1/users/{usersId}/projects/{projectsId}",
198              "httpMethod": "DELETE",
199              "id": "oslogin.users.projects.delete",
200              "parameterOrder": [
201                "name"
202              ],
203              "parameters": {
204                "name": {
205                  "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}`.",
206                  "location": "path",
207                  "pattern": "^users/[^/]+/projects/[^/]+$",
208                  "required": true,
209                  "type": "string"
210                }
211              },
212              "path": "v1/{+name}",
213              "response": {
214                "$ref": "Empty"
215              },
216              "scopes": [
217                "https://www.googleapis.com/auth/cloud-platform",
218                "https://www.googleapis.com/auth/compute"
219              ]
220            }
221          }
222        },
223        "sshPublicKeys": {
224          "methods": {
225            "create": {
226              "description": "Create an SSH public key",
227              "flatPath": "v1/users/{usersId}/sshPublicKeys",
228              "httpMethod": "POST",
229              "id": "oslogin.users.sshPublicKeys.create",
230              "parameterOrder": [
231                "parent"
232              ],
233              "parameters": {
234                "parent": {
235                  "description": "Required. The unique ID for the user in format `users/{user}`.",
236                  "location": "path",
237                  "pattern": "^users/[^/]+$",
238                  "required": true,
239                  "type": "string"
240                }
241              },
242              "path": "v1/{+parent}/sshPublicKeys",
243              "request": {
244                "$ref": "SshPublicKey"
245              },
246              "response": {
247                "$ref": "SshPublicKey"
248              },
249              "scopes": [
250                "https://www.googleapis.com/auth/cloud-platform",
251                "https://www.googleapis.com/auth/compute"
252              ]
253            },
254            "delete": {
255              "description": "Deletes an SSH public key.",
256              "flatPath": "v1/users/{usersId}/sshPublicKeys/{sshPublicKeysId}",
257              "httpMethod": "DELETE",
258              "id": "oslogin.users.sshPublicKeys.delete",
259              "parameterOrder": [
260                "name"
261              ],
262              "parameters": {
263                "name": {
264                  "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}`.",
265                  "location": "path",
266                  "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$",
267                  "required": true,
268                  "type": "string"
269                }
270              },
271              "path": "v1/{+name}",
272              "response": {
273                "$ref": "Empty"
274              },
275              "scopes": [
276                "https://www.googleapis.com/auth/cloud-platform",
277                "https://www.googleapis.com/auth/compute"
278              ]
279            },
280            "get": {
281              "description": "Retrieves an SSH public key.",
282              "flatPath": "v1/users/{usersId}/sshPublicKeys/{sshPublicKeysId}",
283              "httpMethod": "GET",
284              "id": "oslogin.users.sshPublicKeys.get",
285              "parameterOrder": [
286                "name"
287              ],
288              "parameters": {
289                "name": {
290                  "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}`.",
291                  "location": "path",
292                  "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$",
293                  "required": true,
294                  "type": "string"
295                }
296              },
297              "path": "v1/{+name}",
298              "response": {
299                "$ref": "SshPublicKey"
300              },
301              "scopes": [
302                "https://www.googleapis.com/auth/cloud-platform",
303                "https://www.googleapis.com/auth/compute"
304              ]
305            },
306            "patch": {
307              "description": "Updates an SSH public key and returns the profile information. This method supports patch semantics.",
308              "flatPath": "v1/users/{usersId}/sshPublicKeys/{sshPublicKeysId}",
309              "httpMethod": "PATCH",
310              "id": "oslogin.users.sshPublicKeys.patch",
311              "parameterOrder": [
312                "name"
313              ],
314              "parameters": {
315                "name": {
316                  "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}`.",
317                  "location": "path",
318                  "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$",
319                  "required": true,
320                  "type": "string"
321                },
322                "updateMask": {
323                  "description": "Mask to control which fields get updated. Updates all if not present.",
324                  "format": "google-fieldmask",
325                  "location": "query",
326                  "type": "string"
327                }
328              },
329              "path": "v1/{+name}",
330              "request": {
331                "$ref": "SshPublicKey"
332              },
333              "response": {
334                "$ref": "SshPublicKey"
335              },
336              "scopes": [
337                "https://www.googleapis.com/auth/cloud-platform",
338                "https://www.googleapis.com/auth/compute"
339              ]
340            }
341          }
342        }
343      }
344    }
345  },
346  "revision": "20211203",
347  "rootUrl": "https://oslogin.googleapis.com/",
348  "schemas": {
349    "Empty": {
350      "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 `{}`.",
351      "id": "Empty",
352      "properties": {},
353      "type": "object"
354    },
355    "ImportSshPublicKeyResponse": {
356      "description": "A response message for importing an SSH public key.",
357      "id": "ImportSshPublicKeyResponse",
358      "properties": {
359        "details": {
360          "description": "Detailed information about import results.",
361          "type": "string"
362        },
363        "loginProfile": {
364          "$ref": "LoginProfile",
365          "description": "The login profile information for the user."
366        }
367      },
368      "type": "object"
369    },
370    "LoginProfile": {
371      "description": "The user profile information used for logging in to a virtual machine on Google Compute Engine.",
372      "id": "LoginProfile",
373      "properties": {
374        "name": {
375          "description": "Required. A unique user ID.",
376          "type": "string"
377        },
378        "posixAccounts": {
379          "description": "The list of POSIX accounts associated with the user.",
380          "items": {
381            "$ref": "PosixAccount"
382          },
383          "type": "array"
384        },
385        "sshPublicKeys": {
386          "additionalProperties": {
387            "$ref": "SshPublicKey"
388          },
389          "description": "A map from SSH public key fingerprint to the associated key object.",
390          "type": "object"
391        }
392      },
393      "type": "object"
394    },
395    "PosixAccount": {
396      "description": "The POSIX account information associated with a Google account.",
397      "id": "PosixAccount",
398      "properties": {
399        "accountId": {
400          "description": "Output only. A POSIX account identifier.",
401          "readOnly": true,
402          "type": "string"
403        },
404        "gecos": {
405          "description": "The GECOS (user information) entry for this account.",
406          "type": "string"
407        },
408        "gid": {
409          "description": "The default group ID.",
410          "format": "int64",
411          "type": "string"
412        },
413        "homeDirectory": {
414          "description": "The path to the home directory for this account.",
415          "type": "string"
416        },
417        "name": {
418          "description": "Output only. The canonical resource name.",
419          "readOnly": true,
420          "type": "string"
421        },
422        "operatingSystemType": {
423          "description": "The operating system type where this account applies.",
424          "enum": [
425            "OPERATING_SYSTEM_TYPE_UNSPECIFIED",
426            "LINUX",
427            "WINDOWS"
428          ],
429          "enumDescriptions": [
430            "The operating system type associated with the user account information is unspecified.",
431            "Linux user account information.",
432            "Windows user account information."
433          ],
434          "type": "string"
435        },
436        "primary": {
437          "description": "Only one POSIX account can be marked as primary.",
438          "type": "boolean"
439        },
440        "shell": {
441          "description": "The path to the logic shell for this account.",
442          "type": "string"
443        },
444        "systemId": {
445          "description": "System identifier for which account the username or uid applies to. By default, the empty value is used.",
446          "type": "string"
447        },
448        "uid": {
449          "description": "The user ID.",
450          "format": "int64",
451          "type": "string"
452        },
453        "username": {
454          "description": "The username of the POSIX account.",
455          "type": "string"
456        }
457      },
458      "type": "object"
459    },
460    "SshPublicKey": {
461      "description": "The SSH public key information associated with a Google account.",
462      "id": "SshPublicKey",
463      "properties": {
464        "expirationTimeUsec": {
465          "description": "An expiration time in microseconds since epoch.",
466          "format": "int64",
467          "type": "string"
468        },
469        "fingerprint": {
470          "description": "Output only. The SHA-256 fingerprint of the SSH public key.",
471          "readOnly": true,
472          "type": "string"
473        },
474        "key": {
475          "description": "Public key text in SSH format, defined by RFC4253 section 6.6.",
476          "type": "string"
477        },
478        "name": {
479          "description": "Output only. The canonical resource name.",
480          "readOnly": true,
481          "type": "string"
482        }
483      },
484      "type": "object"
485    }
486  },
487  "servicePath": "",
488  "title": "Cloud OS Login API",
489  "version": "v1",
490  "version_module": true
491}