{ "schemas": { "SshPublicKey": { "id": "SshPublicKey", "description": "The SSH public key information associated with a Google account.", "type": "object", "properties": { "key": { "description": "Public key text in SSH format, defined by RFC4253 section 6.6.", "type": "string" }, "expirationTimeUsec": { "description": "An expiration time in microseconds since epoch.", "type": "string", "format": "int64" }, "fingerprint": { "description": "Output only. The SHA-256 fingerprint of the SSH public key.", "readOnly": true, "type": "string" }, "name": { "description": "Output only. The canonical resource name.", "readOnly": true, "type": "string" } } }, "Empty": { "id": "Empty", "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); }", "type": "object", "properties": {} }, "LoginProfile": { "id": "LoginProfile", "description": "The user profile information used for logging in to a virtual machine on Google Compute Engine.", "type": "object", "properties": { "name": { "description": "Required. A unique user ID.", "type": "string" }, "posixAccounts": { "description": "The list of POSIX accounts associated with the user.", "type": "array", "items": { "$ref": "PosixAccount" } }, "sshPublicKeys": { "description": "A map from SSH public key fingerprint to the associated key object.", "type": "object", "additionalProperties": { "$ref": "SshPublicKey" } } } }, "PosixAccount": { "id": "PosixAccount", "description": "The POSIX account information associated with a Google account.", "type": "object", "properties": { "primary": { "description": "Only one POSIX account can be marked as primary.", "type": "boolean" }, "username": { "description": "The username of the POSIX account.", "type": "string" }, "uid": { "description": "The user ID.", "type": "string", "format": "int64" }, "gid": { "description": "The default group ID.", "type": "string", "format": "int64" }, "homeDirectory": { "description": "The path to the home directory for this account.", "type": "string" }, "shell": { "description": "The path to the logic shell for this account.", "type": "string" }, "gecos": { "description": "The GECOS (user information) entry for this account.", "type": "string" }, "systemId": { "description": "System identifier for which account the username or uid applies to. By default, the empty value is used.", "type": "string" }, "accountId": { "description": "Output only. A POSIX account identifier.", "readOnly": true, "type": "string" }, "operatingSystemType": { "description": "The operating system type where this account applies.", "type": "string", "enumDescriptions": [ "The operating system type associated with the user account information is unspecified.", "Linux user account information.", "Windows user account information." ], "enum": [ "OPERATING_SYSTEM_TYPE_UNSPECIFIED", "LINUX", "WINDOWS" ] }, "name": { "description": "Output only. The canonical resource name.", "readOnly": true, "type": "string" } } }, "ImportSshPublicKeyResponse": { "id": "ImportSshPublicKeyResponse", "description": "A response message for importing an SSH public key.", "type": "object", "properties": { "loginProfile": { "description": "The login profile information for the user.", "$ref": "LoginProfile" }, "details": { "description": "Detailed information about import results.", "type": "string" } } } }, "documentationLink": "https://cloud.google.com/compute/docs/oslogin/", "ownerName": "Google", "version_module": true, "baseUrl": "https://oslogin.googleapis.com/", "canonicalName": "Cloud OS Login", "mtlsRootUrl": "https://oslogin.mtls.googleapis.com/", "revision": "20231217", "parameters": { "access_token": { "type": "string", "description": "OAuth access token.", "location": "query" }, "alt": { "type": "string", "description": "Data format for response.", "default": "json", "enum": [ "json", "media", "proto" ], "enumDescriptions": [ "Responses with Content-Type of application/json", "Media download with context-dependent Content-Type", "Responses with Content-Type of application/x-protobuf" ], "location": "query" }, "callback": { "type": "string", "description": "JSONP", "location": "query" }, "fields": { "type": "string", "description": "Selector specifying which fields to include in a partial response.", "location": "query" }, "key": { "type": "string", "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.", "location": "query" }, "oauth_token": { "type": "string", "description": "OAuth 2.0 token for the current user.", "location": "query" }, "prettyPrint": { "type": "boolean", "description": "Returns response with indentations and line breaks.", "default": "true", "location": "query" }, "quotaUser": { "type": "string", "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.", "location": "query" }, "upload_protocol": { "type": "string", "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "location": "query" }, "uploadType": { "type": "string", "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", "location": "query" }, "$.xgafv": { "type": "string", "description": "V1 error format.", "enum": [ "1", "2" ], "enumDescriptions": [ "v1 error format", "v2 error format" ], "location": "query" } }, "description": "You can use OS Login to manage access to your VM instances using IAM roles.", "basePath": "", "id": "oslogin:v1", "auth": { "oauth2": { "scopes": { "https://www.googleapis.com/auth/cloud-platform": { "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." }, "https://www.googleapis.com/auth/cloud-platform.read-only": { "description": "View your data across Google Cloud services and see the email address of your Google Account" }, "https://www.googleapis.com/auth/compute": { "description": "View and manage your Google Compute Engine resources" }, "https://www.googleapis.com/auth/compute.readonly": { "description": "View your Google Compute Engine resources" } } } }, "fullyEncodeReservedExpansion": true, "name": "oslogin", "discoveryVersion": "v1", "protocol": "rest", "ownerDomain": "google.com", "batchPath": "batch", "servicePath": "", "rootUrl": "https://oslogin.googleapis.com/", "resources": { "users": { "methods": { "getLoginProfile": { "id": "oslogin.users.getLoginProfile", "path": "v1/{+name}/loginProfile", "flatPath": "v1/users/{usersId}/loginProfile", "httpMethod": "GET", "parameters": { "name": { "description": "Required. The unique ID for the user in format `users/{user}`.", "pattern": "^users/[^/]+$", "location": "path", "required": true, "type": "string" }, "projectId": { "description": "The project ID of the Google Cloud Platform project.", "location": "query", "type": "string" }, "systemId": { "description": "A system ID for filtering the results of the request.", "location": "query", "type": "string" } }, "parameterOrder": [ "name" ], "response": { "$ref": "LoginProfile" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ], "description": "Retrieves the profile information used for logging in to a virtual machine on Google Compute Engine." }, "importSshPublicKey": { "id": "oslogin.users.importSshPublicKey", "path": "v1/{+parent}:importSshPublicKey", "flatPath": "v1/users/{usersId}:importSshPublicKey", "httpMethod": "POST", "parameters": { "parent": { "description": "Required. The unique ID for the user in format `users/{user}`.", "pattern": "^users/[^/]+$", "location": "path", "required": true, "type": "string" }, "projectId": { "description": "The project ID of the Google Cloud Platform project.", "location": "query", "type": "string" }, "regions": { "description": "Optional. The regions to which to assert that the key was written. If unspecified, defaults to all regions. Regions are listed at https://cloud.google.com/about/locations#region.", "location": "query", "repeated": true, "type": "string" } }, "parameterOrder": [ "parent" ], "request": { "$ref": "SshPublicKey" }, "response": { "$ref": "ImportSshPublicKeyResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ], "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." } }, "resources": { "sshPublicKeys": { "methods": { "create": { "id": "oslogin.users.sshPublicKeys.create", "path": "v1/{+parent}/sshPublicKeys", "flatPath": "v1/users/{usersId}/sshPublicKeys", "httpMethod": "POST", "parameters": { "parent": { "description": "Required. The unique ID for the user in format `users/{user}`.", "pattern": "^users/[^/]+$", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "parent" ], "request": { "$ref": "SshPublicKey" }, "response": { "$ref": "SshPublicKey" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ], "description": "Create an SSH public key" }, "delete": { "id": "oslogin.users.sshPublicKeys.delete", "path": "v1/{+name}", "flatPath": "v1/users/{usersId}/sshPublicKeys/{sshPublicKeysId}", "httpMethod": "DELETE", "parameters": { "name": { "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}`.", "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "name" ], "response": { "$ref": "Empty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ], "description": "Deletes an SSH public key." }, "get": { "id": "oslogin.users.sshPublicKeys.get", "path": "v1/{+name}", "flatPath": "v1/users/{usersId}/sshPublicKeys/{sshPublicKeysId}", "httpMethod": "GET", "parameters": { "name": { "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}`.", "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "name" ], "response": { "$ref": "SshPublicKey" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ], "description": "Retrieves an SSH public key." }, "patch": { "id": "oslogin.users.sshPublicKeys.patch", "path": "v1/{+name}", "flatPath": "v1/users/{usersId}/sshPublicKeys/{sshPublicKeysId}", "httpMethod": "PATCH", "parameters": { "name": { "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}`.", "pattern": "^users/[^/]+/sshPublicKeys/[^/]+$", "location": "path", "required": true, "type": "string" }, "updateMask": { "description": "Mask to control which fields get updated. Updates all if not present.", "location": "query", "type": "string", "format": "google-fieldmask" } }, "parameterOrder": [ "name" ], "request": { "$ref": "SshPublicKey" }, "response": { "$ref": "SshPublicKey" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ], "description": "Updates an SSH public key and returns the profile information. This method supports patch semantics." } } }, "projects": { "methods": { "delete": { "id": "oslogin.users.projects.delete", "path": "v1/{+name}", "flatPath": "v1/users/{usersId}/projects/{projectsId}", "httpMethod": "DELETE", "parameters": { "name": { "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}`.", "pattern": "^users/[^/]+/projects/[^/]+$", "location": "path", "required": true, "type": "string" } }, "parameterOrder": [ "name" ], "response": { "$ref": "Empty" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ], "description": "Deletes a POSIX account." } } } } } }, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "version": "v1", "kind": "discovery#restDescription", "title": "Cloud OS Login API" }