googleapis
Version:
Google APIs Client Library for Node.js
248 lines (247 loc) • 10.2 kB
TypeScript
/**
* Copyright 2015 Google Inc. All Rights Reserved.
*
* 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 { AxiosPromise } from 'axios';
import { GoogleApis } from '../..';
import { BodyResponseCallback, GlobalOptions, MethodOptions } from '../../lib/api';
/**
* Cloud OS Login API
*
* Manages OS login configuration for Google account users.
*
* @example
* const google = require('googleapis');
* const oslogin = google.oslogin('v1alpha');
*
* @namespace oslogin
* @type {Function}
* @version v1alpha
* @variation v1alpha
* @param {object=} options Options for Oslogin
*/
export declare class Oslogin {
_options: GlobalOptions;
google: GoogleApis;
root: this;
users: Resource$Users;
constructor(options: GlobalOptions, google: GoogleApis);
getRoot(): this;
}
/**
* 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 `{}`.
*/
export interface Schema$Empty {
}
/**
* A response message for importing an SSH public key.
*/
export 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.
*/
export 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: any;
}
/**
* The POSIX account information associated with a Google account.
*/
export 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;
/**
* 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.
*/
export 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;
}
export declare class Resource$Users {
root: Oslogin;
projects: Resource$Users$Projects;
sshPublicKeys: Resource$Users$Sshpublickeys;
constructor(root: Oslogin);
getRoot(): Oslogin;
/**
* 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 {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?: any, options?: MethodOptions): AxiosPromise<Schema$LoginProfile>;
getLoginProfile(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$LoginProfile>, 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?: any, options?: MethodOptions): AxiosPromise<Schema$ImportSshPublicKeyResponse>;
importSshPublicKey(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$ImportSshPublicKeyResponse>, callback?: BodyResponseCallback<Schema$ImportSshPublicKeyResponse>): void;
}
export declare class Resource$Users$Projects {
root: Oslogin;
constructor(root: Oslogin);
getRoot(): Oslogin;
/**
* 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?: any, options?: MethodOptions): AxiosPromise<Schema$Empty>;
delete(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Empty>, callback?: BodyResponseCallback<Schema$Empty>): void;
}
export declare class Resource$Users$Sshpublickeys {
root: Oslogin;
constructor(root: Oslogin);
getRoot(): Oslogin;
/**
* 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?: any, options?: MethodOptions): AxiosPromise<Schema$Empty>;
delete(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$Empty>, 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?: any, options?: MethodOptions): AxiosPromise<Schema$SshPublicKey>;
get(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$SshPublicKey>, 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?: any, options?: MethodOptions): AxiosPromise<Schema$SshPublicKey>;
patch(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$SshPublicKey>, callback?: BodyResponseCallback<Schema$SshPublicKey>): void;
}