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}