blob: 1b1f2679f099f98d3659b7947037f070ba511271 [file] [log] [blame]
{
"discoveryVersion": "v1",
"version_module": true,
"schemas": {
"PosixAccount": {
"description": "The POSIX account information associated with a Directory API User.",
"type": "object",
"properties": {
"homeDirectory": {
"description": "The path to the home directory 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.\nBy default, the empty value is used.",
"type": "string"
},
"primary": {
"description": "Only one POSIX account can be marked as primary.",
"type": "boolean"
},
"gid": {
"format": "int64",
"description": "The default group ID.",
"type": "string"
},
"uid": {
"format": "int64",
"description": "The user ID.",
"type": "string"
},
"username": {
"description": "The username of the POSIX account.",
"type": "string"
},
"shell": {
"description": "The path to the logic shell for this account.",
"type": "string"
}
},
"id": "PosixAccount"
},
"LoginProfile": {
"description": "The Directory API profile information used for logging in to a virtual\nmachine on Google Compute Engine.",
"type": "object",
"properties": {
"posixAccounts": {
"description": "The list of POSIX accounts associated with the Directory API user.",
"items": {
"$ref": "PosixAccount"
},
"type": "array"
},
"name": {
"description": "A unique user ID for identifying the user.",
"type": "string"
},
"suspended": {
"description": "Indicates if the user is suspended.",
"type": "boolean"
},
"sshPublicKeys": {
"type": "object",
"additionalProperties": {
"$ref": "SshPublicKey"
},
"description": "A map from SSH public key fingerprint to the associated key object."
}
},
"id": "LoginProfile"
},
"SshPublicKey": {
"type": "object",
"properties": {
"expirationTimeUsec": {
"format": "int64",
"description": "An expiration time in microseconds since epoch.",
"type": "string"
},
"fingerprint": {
"description": "The SHA-256 fingerprint of the SSH public key.\nOutput only.",
"type": "string"
},
"key": {
"description": "Public key text in SSH format, defined by\n\u003ca href=\"https://www.ietf.org/rfc/rfc4253.txt\" target=\"_blank\"\u003eRFC4253\u003c/a\u003e\nsection 6.6.",
"type": "string"
}
},
"id": "SshPublicKey",
"description": "The SSH public key information associated with a Directory API User."
},
"Empty": {
"properties": {},
"id": "Empty",
"description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
"type": "object"
},
"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"
}
},
"id": "ImportSshPublicKeyResponse"
}
},
"icons": {
"x16": "http://www.google.com/images/icons/product/search-16.gif",
"x32": "http://www.google.com/images/icons/product/search-32.gif"
},
"protocol": "rest",
"canonicalName": "Cloud OS Login",
"auth": {
"oauth2": {
"scopes": {
"https://www.googleapis.com/auth/compute.readonly": {
"description": "View your Google Compute Engine resources"
},
"https://www.googleapis.com/auth/compute": {
"description": "View and manage your Google Compute Engine resources"
},
"https://www.googleapis.com/auth/cloud-platform.read-only": {
"description": "View your data across Google Cloud Platform services"
},
"https://www.googleapis.com/auth/cloud-platform": {
"description": "View and manage your data across Google Cloud Platform services"
}
}
}
},
"rootUrl": "https://oslogin.googleapis.com/",
"ownerDomain": "google.com",
"name": "oslogin",
"batchPath": "batch",
"fullyEncodeReservedExpansion": true,
"title": "Google Cloud OS Login API",
"ownerName": "Google",
"resources": {
"users": {
"methods": {
"importSshPublicKey": {
"flatPath": "v1alpha/users/{usersId}:importSshPublicKey",
"id": "oslogin.users.importSshPublicKey",
"path": "v1alpha/{+parent}:importSshPublicKey",
"description": "Adds an SSH public key and returns the profile information. Default POSIX\naccount information is set when no username and UID exist as part of the\nlogin profile.",
"request": {
"$ref": "SshPublicKey"
},
"response": {
"$ref": "ImportSshPublicKeyResponse"
},
"parameterOrder": [
"parent"
],
"httpMethod": "POST",
"parameters": {
"parent": {
"pattern": "^users/[^/]+$",
"location": "path",
"description": "The unique ID for the user in format `users/{user}`.",
"type": "string",
"required": true
}
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/compute"
]
},
"getLoginProfile": {
"response": {
"$ref": "LoginProfile"
},
"parameterOrder": [
"name"
],
"httpMethod": "GET",
"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"
],
"parameters": {
"name": {
"location": "path",
"description": "The unique ID for the user in format `users/{user}`.",
"type": "string",
"required": true,
"pattern": "^users/[^/]+$"
}
},
"flatPath": "v1alpha/users/{usersId}/loginProfile",
"id": "oslogin.users.getLoginProfile",
"path": "v1alpha/{+name}/loginProfile",
"description": "Retrieves the profile information used for logging in to a virtual machine\non Google Compute Engine."
}
},
"resources": {
"sshPublicKeys": {
"methods": {
"delete": {
"description": "Deletes an SSH public key.",
"response": {
"$ref": "Empty"
},
"parameterOrder": [
"name"
],
"httpMethod": "DELETE",
"parameters": {
"name": {
"pattern": "^users/[^/]+/sshPublicKeys/[^/]+$",
"location": "path",
"description": "The fingerprint of the public key to update. Public keys are identified by\ntheir SHA-256 fingerprint. The fingerprint of the public key is in format\n`users/{user}/sshPublicKeys/{fingerprint}`.",
"type": "string",
"required": true
}
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/compute"
],
"flatPath": "v1alpha/users/{usersId}/sshPublicKeys/{sshPublicKeysId}",
"id": "oslogin.users.sshPublicKeys.delete",
"path": "v1alpha/{+name}"
},
"patch": {
"parameters": {
"updateMask": {
"format": "google-fieldmask",
"description": "Mask to control which fields get updated. Updates all if not present.",
"type": "string",
"location": "query"
},
"name": {
"description": "The fingerprint of the public key to update. Public keys are identified by\ntheir SHA-256 fingerprint. The fingerprint of the public key is in format\n`users/{user}/sshPublicKeys/{fingerprint}`.",
"type": "string",
"required": true,
"pattern": "^users/[^/]+/sshPublicKeys/[^/]+$",
"location": "path"
}
},
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/compute"
],
"flatPath": "v1alpha/users/{usersId}/sshPublicKeys/{sshPublicKeysId}",
"path": "v1alpha/{+name}",
"id": "oslogin.users.sshPublicKeys.patch",
"description": "Updates an SSH public key and returns the profile information. This method\nsupports patch semantics.",
"request": {
"$ref": "SshPublicKey"
},
"httpMethod": "PATCH",
"parameterOrder": [
"name"
],
"response": {
"$ref": "SshPublicKey"
}
},
"get": {
"flatPath": "v1alpha/users/{usersId}/sshPublicKeys/{sshPublicKeysId}",
"id": "oslogin.users.sshPublicKeys.get",
"path": "v1alpha/{+name}",
"description": "Retrieves an SSH public key.",
"response": {
"$ref": "SshPublicKey"
},
"httpMethod": "GET",
"parameterOrder": [
"name"
],
"scopes": [
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/compute"
],
"parameters": {
"name": {
"pattern": "^users/[^/]+/sshPublicKeys/[^/]+$",
"location": "path",
"description": "The fingerprint of the public key to retrieve. Public keys are identified\nby their SHA-256 fingerprint. The fingerprint of the public key is in\nformat `users/{user}/sshPublicKeys/{fingerprint}`.",
"type": "string",
"required": true
}
}
}
}
}
}
}
},
"parameters": {
"key": {
"location": "query",
"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.",
"type": "string"
},
"access_token": {
"location": "query",
"description": "OAuth access token.",
"type": "string"
},
"quotaUser": {
"location": "query",
"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.",
"type": "string"
},
"pp": {
"location": "query",
"description": "Pretty-print response.",
"default": "true",
"type": "boolean"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"type": "string",
"location": "query"
},
"bearer_token": {
"location": "query",
"description": "OAuth bearer token.",
"type": "string"
},
"upload_protocol": {
"location": "query",
"description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
"type": "string"
},
"prettyPrint": {
"description": "Returns response with indentations and line breaks.",
"default": "true",
"type": "boolean",
"location": "query"
},
"uploadType": {
"location": "query",
"description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
"type": "string"
},
"fields": {
"location": "query",
"description": "Selector specifying which fields to include in a partial response.",
"type": "string"
},
"callback": {
"description": "JSONP",
"type": "string",
"location": "query"
},
"$.xgafv": {
"description": "V1 error format.",
"type": "string",
"enumDescriptions": [
"v1 error format",
"v2 error format"
],
"location": "query",
"enum": [
"1",
"2"
]
},
"alt": {
"enum": [
"json",
"media",
"proto"
],
"type": "string",
"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",
"description": "Data format for response.",
"default": "json"
}
},
"version": "v1alpha",
"baseUrl": "https://oslogin.googleapis.com/",
"servicePath": "",
"description": "Manages OS login configuration for Directory API users.",
"kind": "discovery#restDescription",
"basePath": "",
"revision": "20170929",
"documentationLink": "https://cloud.google.com/compute/docs/oslogin/rest/",
"id": "oslogin:v1alpha"
}