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}