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}