googleapis
Version:
Google APIs Client Library for Node.js
385 lines (384 loc) • 17.9 kB
TypeScript
/**
* Copyright 2019 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { OAuth2Client, JWT, Compute, UserRefreshClient } from 'google-auth-library';
import { GoogleConfigurable, MethodOptions, GlobalOptions, BodyResponseCallback, APIRequestContext } from 'googleapis-common';
import { GaxiosPromise } from 'gaxios';
export declare namespace oslogin_v1 {
interface Options extends GlobalOptions {
version: 'v1';
}
interface StandardParameters {
/**
* V1 error format.
*/
'$.xgafv'?: string;
/**
* OAuth access token.
*/
access_token?: string;
/**
* Data format for response.
*/
alt?: string;
/**
* JSONP
*/
callback?: string;
/**
* Selector specifying which fields to include in a partial response.
*/
fields?: string;
/**
* 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.
*/
key?: string;
/**
* OAuth 2.0 token for the current user.
*/
oauth_token?: string;
/**
* Returns response with indentations and line breaks.
*/
prettyPrint?: boolean;
/**
* 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.
*/
quotaUser?: string;
/**
* Legacy upload protocol for media (e.g. "media", "multipart").
*/
uploadType?: string;
/**
* Upload protocol for media (e.g. "raw", "multipart").
*/
upload_protocol?: string;
}
/**
* Cloud OS Login API
*
* You can use OS Login to manage access to your VM instances using IAM roles. For more information, read [OS Login](/compute/docs/oslogin/).
*
* @example
* const {google} = require('googleapis');
* const oslogin = google.oslogin('v1');
*
* @namespace oslogin
* @type {Function}
* @version v1
* @variation v1
* @param {object=} options Options for Oslogin
*/
class Oslogin {
context: APIRequestContext;
users: Resource$Users;
constructor(options: GlobalOptions, google?: GoogleConfigurable);
}
/**
* 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 `{}`.
*/
interface Schema$Empty {
}
/**
* A response message for importing an SSH public key.
*/
interface Schema$ImportSshPublicKeyResponse {
/**
* The login profile information for the user.
*/
loginProfile?: Schema$LoginProfile;
}
/**
* The user profile information used for logging in to a virtual machine on Google Compute Engine.
*/
interface Schema$LoginProfile {
/**
* A unique user ID.
*/
name?: string;
/**
* The list of POSIX accounts associated with the user.
*/
posixAccounts?: Schema$PosixAccount[];
/**
* A map from SSH public key fingerprint to the associated key object.
*/
sshPublicKeys?: {
[key: string]: Schema$SshPublicKey;
};
}
/**
* The POSIX account information associated with a Google account.
*/
interface Schema$PosixAccount {
/**
* Output only. A POSIX account identifier.
*/
accountId?: string;
/**
* The GECOS (user information) entry for this account.
*/
gecos?: string;
/**
* The default group ID.
*/
gid?: string;
/**
* The path to the home directory for this account.
*/
homeDirectory?: string;
/**
* The operating system type where this account applies.
*/
operatingSystemType?: string;
/**
* Only one POSIX account can be marked as primary.
*/
primary?: boolean;
/**
* The path to the logic shell for this account.
*/
shell?: string;
/**
* System identifier for which account the username or uid applies to. By default, the empty value is used.
*/
systemId?: string;
/**
* The user ID.
*/
uid?: string;
/**
* The username of the POSIX account.
*/
username?: string;
}
/**
* The SSH public key information associated with a Google account.
*/
interface Schema$SshPublicKey {
/**
* An expiration time in microseconds since epoch.
*/
expirationTimeUsec?: string;
/**
* Output only. The SHA-256 fingerprint of the SSH public key.
*/
fingerprint?: string;
/**
* Public key text in SSH format, defined by <a href="https://www.ietf.org/rfc/rfc4253.txt" target="_blank">RFC4253</a> section 6.6.
*/
key?: string;
}
class Resource$Users {
context: APIRequestContext;
projects: Resource$Users$Projects;
sshPublicKeys: Resource$Users$Sshpublickeys;
constructor(context: APIRequestContext);
/**
* oslogin.users.getLoginProfile
* @desc Retrieves the profile information used for logging in to a virtual machine on Google Compute Engine.
* @alias oslogin.users.getLoginProfile
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.name The unique ID for the user in format `users/{user}`.
* @param {string=} params.projectId The project ID of the Google Cloud Platform project.
* @param {string=} params.systemId A system ID for filtering the results of the request.
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
getLoginProfile(params?: Params$Resource$Users$Getloginprofile, options?: MethodOptions): GaxiosPromise<Schema$LoginProfile>;
getLoginProfile(params: Params$Resource$Users$Getloginprofile, options: MethodOptions | BodyResponseCallback<Schema$LoginProfile>, callback: BodyResponseCallback<Schema$LoginProfile>): void;
getLoginProfile(params: Params$Resource$Users$Getloginprofile, callback: BodyResponseCallback<Schema$LoginProfile>): void;
getLoginProfile(callback: BodyResponseCallback<Schema$LoginProfile>): void;
/**
* oslogin.users.importSshPublicKey
* @desc 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.
* @alias oslogin.users.importSshPublicKey
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.parent The unique ID for the user in format `users/{user}`.
* @param {string=} params.projectId The project ID of the Google Cloud Platform project.
* @param {().SshPublicKey} params.resource Request body data
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
importSshPublicKey(params?: Params$Resource$Users$Importsshpublickey, options?: MethodOptions): GaxiosPromise<Schema$ImportSshPublicKeyResponse>;
importSshPublicKey(params: Params$Resource$Users$Importsshpublickey, options: MethodOptions | BodyResponseCallback<Schema$ImportSshPublicKeyResponse>, callback: BodyResponseCallback<Schema$ImportSshPublicKeyResponse>): void;
importSshPublicKey(params: Params$Resource$Users$Importsshpublickey, callback: BodyResponseCallback<Schema$ImportSshPublicKeyResponse>): void;
importSshPublicKey(callback: BodyResponseCallback<Schema$ImportSshPublicKeyResponse>): void;
}
interface Params$Resource$Users$Getloginprofile extends StandardParameters {
/**
* Auth client or API Key for the request
*/
auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient;
/**
* The unique ID for the user in format `users/{user}`.
*/
name?: string;
/**
* The project ID of the Google Cloud Platform project.
*/
projectId?: string;
/**
* A system ID for filtering the results of the request.
*/
systemId?: string;
}
interface Params$Resource$Users$Importsshpublickey extends StandardParameters {
/**
* Auth client or API Key for the request
*/
auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient;
/**
* The unique ID for the user in format `users/{user}`.
*/
parent?: string;
/**
* The project ID of the Google Cloud Platform project.
*/
projectId?: string;
/**
* Request body metadata
*/
requestBody?: Schema$SshPublicKey;
}
class Resource$Users$Projects {
context: APIRequestContext;
constructor(context: APIRequestContext);
/**
* oslogin.users.projects.delete
* @desc Deletes a POSIX account.
* @alias oslogin.users.projects.delete
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.name 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}`.
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
delete(params?: Params$Resource$Users$Projects$Delete, options?: MethodOptions): GaxiosPromise<Schema$Empty>;
delete(params: Params$Resource$Users$Projects$Delete, options: MethodOptions | BodyResponseCallback<Schema$Empty>, callback: BodyResponseCallback<Schema$Empty>): void;
delete(params: Params$Resource$Users$Projects$Delete, callback: BodyResponseCallback<Schema$Empty>): void;
delete(callback: BodyResponseCallback<Schema$Empty>): void;
}
interface Params$Resource$Users$Projects$Delete extends StandardParameters {
/**
* Auth client or API Key for the request
*/
auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient;
/**
* 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}`.
*/
name?: string;
}
class Resource$Users$Sshpublickeys {
context: APIRequestContext;
constructor(context: APIRequestContext);
/**
* oslogin.users.sshPublicKeys.delete
* @desc Deletes an SSH public key.
* @alias oslogin.users.sshPublicKeys.delete
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.name 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}`.
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
delete(params?: Params$Resource$Users$Sshpublickeys$Delete, options?: MethodOptions): GaxiosPromise<Schema$Empty>;
delete(params: Params$Resource$Users$Sshpublickeys$Delete, options: MethodOptions | BodyResponseCallback<Schema$Empty>, callback: BodyResponseCallback<Schema$Empty>): void;
delete(params: Params$Resource$Users$Sshpublickeys$Delete, callback: BodyResponseCallback<Schema$Empty>): void;
delete(callback: BodyResponseCallback<Schema$Empty>): void;
/**
* oslogin.users.sshPublicKeys.get
* @desc Retrieves an SSH public key.
* @alias oslogin.users.sshPublicKeys.get
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.name 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}`.
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
get(params?: Params$Resource$Users$Sshpublickeys$Get, options?: MethodOptions): GaxiosPromise<Schema$SshPublicKey>;
get(params: Params$Resource$Users$Sshpublickeys$Get, options: MethodOptions | BodyResponseCallback<Schema$SshPublicKey>, callback: BodyResponseCallback<Schema$SshPublicKey>): void;
get(params: Params$Resource$Users$Sshpublickeys$Get, callback: BodyResponseCallback<Schema$SshPublicKey>): void;
get(callback: BodyResponseCallback<Schema$SshPublicKey>): void;
/**
* oslogin.users.sshPublicKeys.patch
* @desc Updates an SSH public key and returns the profile information. This method supports patch semantics.
* @alias oslogin.users.sshPublicKeys.patch
* @memberOf! ()
*
* @param {object} params Parameters for request
* @param {string} params.name 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}`.
* @param {string=} params.updateMask Mask to control which fields get updated. Updates all if not present.
* @param {().SshPublicKey} params.resource Request body data
* @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`.
* @param {callback} callback The callback that handles the response.
* @return {object} Request object
*/
patch(params?: Params$Resource$Users$Sshpublickeys$Patch, options?: MethodOptions): GaxiosPromise<Schema$SshPublicKey>;
patch(params: Params$Resource$Users$Sshpublickeys$Patch, options: MethodOptions | BodyResponseCallback<Schema$SshPublicKey>, callback: BodyResponseCallback<Schema$SshPublicKey>): void;
patch(params: Params$Resource$Users$Sshpublickeys$Patch, callback: BodyResponseCallback<Schema$SshPublicKey>): void;
patch(callback: BodyResponseCallback<Schema$SshPublicKey>): void;
}
interface Params$Resource$Users$Sshpublickeys$Delete extends StandardParameters {
/**
* Auth client or API Key for the request
*/
auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient;
/**
* 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}`.
*/
name?: string;
}
interface Params$Resource$Users$Sshpublickeys$Get extends StandardParameters {
/**
* Auth client or API Key for the request
*/
auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient;
/**
* 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}`.
*/
name?: string;
}
interface Params$Resource$Users$Sshpublickeys$Patch extends StandardParameters {
/**
* Auth client or API Key for the request
*/
auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient;
/**
* 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}`.
*/
name?: string;
/**
* Mask to control which fields get updated. Updates all if not present.
*/
updateMask?: string;
/**
* Request body metadata
*/
requestBody?: Schema$SshPublicKey;
}
}