Cloud OS Login API
The Cloud OS Login API allows you to manage users and their associated SSH public keys for logging into virtual machines on Google Cloud Platform. v1
Package
@google-cloud/os-loginConstructors
(constructor)(opts)
constructor(opts?: ClientOptions);
Construct an instance of OsLoginServiceClient.
Name | Description |
opts |
ClientOptions
|
Properties
apiEndpoint
static get apiEndpoint(): string;
The DNS address for this API service - same as servicePath(), exists for compatibility reasons.
auth
auth: gax.GoogleAuth;
descriptors
descriptors: Descriptors;
innerApiCalls
innerApiCalls: {
[name: string]: Function;
};
osLoginServiceStub
osLoginServiceStub?: Promise<{
[name: string]: Function;
}>;
pathTemplates
pathTemplates: {
[name: string]: gax.PathTemplate;
};
port
static get port(): number;
The port for this API service.
scopes
static get scopes(): string[];
The scopes needed to make gRPC calls for every method defined in this service.
servicePath
static get servicePath(): string;
The DNS address for this API service.
warn
warn: (code: string, message: string, warnType?: string) => void;
Methods
close()
close(): Promise<void>;
Terminate the gRPC channel and close the client.
The client will no longer be usable and all future behavior is undefined.
Type | Description |
Promise<void> | {Promise} A promise that resolves when the client is closed. |
deletePosixAccount(request, options)
deletePosixAccount(request?: protos.google.cloud.oslogin.v1.IDeletePosixAccountRequest, options?: CallOptions): Promise<[protos.google.protobuf.IEmpty, protos.google.cloud.oslogin.v1.IDeletePosixAccountRequest | undefined, {} | undefined]>;
Deletes a POSIX account.
Name | Description |
request |
protos.google.cloud.oslogin.v1.IDeletePosixAccountRequest
The request object that will be sent. |
options |
CallOptions
Call options. See CallOptions for more details. |
Type | Description |
Promise<[protos.google.protobuf.IEmpty, protos.google.cloud.oslogin.v1.IDeletePosixAccountRequest | undefined, {} | undefined]> | {Promise} - The promise which resolves to an array. The first element of the array is an object representing [Empty]. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) for more details and examples. |
/**
* TODO(developer): Uncomment these variables before running the sample.
*/
/**
* 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}`.
*/
// const name = 'abc123'
// Imports the Oslogin library
const {OsLoginServiceClient} = require('@google-cloud/os-login').v1;
// Instantiates a client
const osloginClient = new OsLoginServiceClient();
async function callDeletePosixAccount() {
// Construct request
const request = {
name,
};
// Run request
const response = await osloginClient.deletePosixAccount(request);
console.log(response);
}
callDeletePosixAccount();
deletePosixAccount(request, options, callback)
deletePosixAccount(request: protos.google.cloud.oslogin.v1.IDeletePosixAccountRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.cloud.oslogin.v1.IDeletePosixAccountRequest | null | undefined, {} | null | undefined>): void;
Name | Description |
request |
protos.google.cloud.oslogin.v1.IDeletePosixAccountRequest
|
options |
CallOptions
|
callback |
Callback<protos.google.protobuf.IEmpty, protos.google.cloud.oslogin.v1.IDeletePosixAccountRequest | null | undefined, {} | null | undefined>
|
Type | Description |
void |
deletePosixAccount(request, callback)
deletePosixAccount(request: protos.google.cloud.oslogin.v1.IDeletePosixAccountRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.cloud.oslogin.v1.IDeletePosixAccountRequest | null | undefined, {} | null | undefined>): void;
Name | Description |
request |
protos.google.cloud.oslogin.v1.IDeletePosixAccountRequest
|
callback |
Callback<protos.google.protobuf.IEmpty, protos.google.cloud.oslogin.v1.IDeletePosixAccountRequest | null | undefined, {} | null | undefined>
|
Type | Description |
void |
deleteSshPublicKey(request, options)
deleteSshPublicKey(request?: protos.google.cloud.oslogin.v1.IDeleteSshPublicKeyRequest, options?: CallOptions): Promise<[protos.google.protobuf.IEmpty, protos.google.cloud.oslogin.v1.IDeleteSshPublicKeyRequest | undefined, {} | undefined]>;
Deletes an SSH public key.
Name | Description |
request |
protos.google.cloud.oslogin.v1.IDeleteSshPublicKeyRequest
The request object that will be sent. |
options |
CallOptions
Call options. See CallOptions for more details. |
Type | Description |
Promise<[protos.google.protobuf.IEmpty, protos.google.cloud.oslogin.v1.IDeleteSshPublicKeyRequest | undefined, {} | undefined]> | {Promise} - The promise which resolves to an array. The first element of the array is an object representing [Empty]. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) for more details and examples. |
/**
* TODO(developer): Uncomment these variables before running the sample.
*/
/**
* 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}`.
*/
// const name = 'abc123'
// Imports the Oslogin library
const {OsLoginServiceClient} = require('@google-cloud/os-login').v1;
// Instantiates a client
const osloginClient = new OsLoginServiceClient();
async function callDeleteSshPublicKey() {
// Construct request
const request = {
name,
};
// Run request
const response = await osloginClient.deleteSshPublicKey(request);
console.log(response);
}
callDeleteSshPublicKey();
deleteSshPublicKey(request, options, callback)
deleteSshPublicKey(request: protos.google.cloud.oslogin.v1.IDeleteSshPublicKeyRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.cloud.oslogin.v1.IDeleteSshPublicKeyRequest | null | undefined, {} | null | undefined>): void;
Name | Description |
request |
protos.google.cloud.oslogin.v1.IDeleteSshPublicKeyRequest
|
options |
CallOptions
|
callback |
Callback<protos.google.protobuf.IEmpty, protos.google.cloud.oslogin.v1.IDeleteSshPublicKeyRequest | null | undefined, {} | null | undefined>
|
Type | Description |
void |
deleteSshPublicKey(request, callback)
deleteSshPublicKey(request: protos.google.cloud.oslogin.v1.IDeleteSshPublicKeyRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.cloud.oslogin.v1.IDeleteSshPublicKeyRequest | null | undefined, {} | null | undefined>): void;
Name | Description |
request |
protos.google.cloud.oslogin.v1.IDeleteSshPublicKeyRequest
|
callback |
Callback<protos.google.protobuf.IEmpty, protos.google.cloud.oslogin.v1.IDeleteSshPublicKeyRequest | null | undefined, {} | null | undefined>
|
Type | Description |
void |
getLoginProfile(request, options)
getLoginProfile(request?: protos.google.cloud.oslogin.v1.IGetLoginProfileRequest, options?: CallOptions): Promise<[protos.google.cloud.oslogin.v1.ILoginProfile, protos.google.cloud.oslogin.v1.IGetLoginProfileRequest | undefined, {} | undefined]>;
Retrieves the profile information used for logging in to a virtual machine on Google Compute Engine.
Name | Description |
request |
protos.google.cloud.oslogin.v1.IGetLoginProfileRequest
The request object that will be sent. |
options |
CallOptions
Call options. See CallOptions for more details. |
Type | Description |
Promise<[protos.google.cloud.oslogin.v1.ILoginProfile, protos.google.cloud.oslogin.v1.IGetLoginProfileRequest | undefined, {} | undefined]> | {Promise} - The promise which resolves to an array. The first element of the array is an object representing [LoginProfile]. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) for more details and examples. |
/**
* TODO(developer): Uncomment these variables before running the sample.
*/
/**
* Required. The unique ID for the user in format `users/{user}`.
*/
// const name = 'abc123'
/**
* The project ID of the Google Cloud Platform project.
*/
// const projectId = 'abc123'
/**
* A system ID for filtering the results of the request.
*/
// const systemId = 'abc123'
// Imports the Oslogin library
const {OsLoginServiceClient} = require('@google-cloud/os-login').v1;
// Instantiates a client
const osloginClient = new OsLoginServiceClient();
async function callGetLoginProfile() {
// Construct request
const request = {
name,
};
// Run request
const response = await osloginClient.getLoginProfile(request);
console.log(response);
}
callGetLoginProfile();
getLoginProfile(request, options, callback)
getLoginProfile(request: protos.google.cloud.oslogin.v1.IGetLoginProfileRequest, options: CallOptions, callback: Callback<protos.google.cloud.oslogin.v1.ILoginProfile, protos.google.cloud.oslogin.v1.IGetLoginProfileRequest | null | undefined, {} | null | undefined>): void;
Name | Description |
request |
protos.google.cloud.oslogin.v1.IGetLoginProfileRequest
|
options |
CallOptions
|
callback |
Callback<protos.google.cloud.oslogin.v1.ILoginProfile, protos.google.cloud.oslogin.v1.IGetLoginProfileRequest | null | undefined, {} | null | undefined>
|
Type | Description |
void |
getLoginProfile(request, callback)
getLoginProfile(request: protos.google.cloud.oslogin.v1.IGetLoginProfileRequest, callback: Callback<protos.google.cloud.oslogin.v1.ILoginProfile, protos.google.cloud.oslogin.v1.IGetLoginProfileRequest | null | undefined, {} | null | undefined>): void;
Name | Description |
request |
protos.google.cloud.oslogin.v1.IGetLoginProfileRequest
|
callback |
Callback<protos.google.cloud.oslogin.v1.ILoginProfile, protos.google.cloud.oslogin.v1.IGetLoginProfileRequest | null | undefined, {} | null | undefined>
|
Type | Description |
void |
getProjectId()
getProjectId(): Promise<string>;
Type | Description |
Promise<string> |
getProjectId(callback)
getProjectId(callback: Callback<string, undefined, undefined>): void;
Name | Description |
callback |
Callback<string, undefined, undefined>
|
Type | Description |
void |
getSshPublicKey(request, options)
getSshPublicKey(request?: protos.google.cloud.oslogin.v1.IGetSshPublicKeyRequest, options?: CallOptions): Promise<[protos.google.cloud.oslogin.common.ISshPublicKey, protos.google.cloud.oslogin.v1.IGetSshPublicKeyRequest | undefined, {} | undefined]>;
Retrieves an SSH public key.
Name | Description |
request |
protos.google.cloud.oslogin.v1.IGetSshPublicKeyRequest
The request object that will be sent. |
options |
CallOptions
Call options. See CallOptions for more details. |
Type | Description |
Promise<[protos.google.cloud.oslogin.common.ISshPublicKey, protos.google.cloud.oslogin.v1.IGetSshPublicKeyRequest | undefined, {} | undefined]> | {Promise} - The promise which resolves to an array. The first element of the array is an object representing [SshPublicKey]. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) for more details and examples. |
/**
* TODO(developer): Uncomment these variables before running the sample.
*/
/**
* 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}`.
*/
// const name = 'abc123'
// Imports the Oslogin library
const {OsLoginServiceClient} = require('@google-cloud/os-login').v1;
// Instantiates a client
const osloginClient = new OsLoginServiceClient();
async function callGetSshPublicKey() {
// Construct request
const request = {
name,
};
// Run request
const response = await osloginClient.getSshPublicKey(request);
console.log(response);
}
callGetSshPublicKey();
getSshPublicKey(request, options, callback)
getSshPublicKey(request: protos.google.cloud.oslogin.v1.IGetSshPublicKeyRequest, options: CallOptions, callback: Callback<protos.google.cloud.oslogin.common.ISshPublicKey, protos.google.cloud.oslogin.v1.IGetSshPublicKeyRequest | null | undefined, {} | null | undefined>): void;
Name | Description |
request |
protos.google.cloud.oslogin.v1.IGetSshPublicKeyRequest
|
options |
CallOptions
|
callback |
Callback<protos.google.cloud.oslogin.common.ISshPublicKey, protos.google.cloud.oslogin.v1.IGetSshPublicKeyRequest | null | undefined, {} | null | undefined>
|
Type | Description |
void |
getSshPublicKey(request, callback)
getSshPublicKey(request: protos.google.cloud.oslogin.v1.IGetSshPublicKeyRequest, callback: Callback<protos.google.cloud.oslogin.common.ISshPublicKey, protos.google.cloud.oslogin.v1.IGetSshPublicKeyRequest | null | undefined, {} | null | undefined>): void;
Name | Description |
request |
protos.google.cloud.oslogin.v1.IGetSshPublicKeyRequest
|
callback |
Callback<protos.google.cloud.oslogin.common.ISshPublicKey, protos.google.cloud.oslogin.v1.IGetSshPublicKeyRequest | null | undefined, {} | null | undefined>
|
Type | Description |
void |
importSshPublicKey(request, options)
importSshPublicKey(request?: protos.google.cloud.oslogin.v1.IImportSshPublicKeyRequest, options?: CallOptions): Promise<[protos.google.cloud.oslogin.v1.IImportSshPublicKeyResponse, protos.google.cloud.oslogin.v1.IImportSshPublicKeyRequest | undefined, {} | undefined]>;
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.
Name | Description |
request |
protos.google.cloud.oslogin.v1.IImportSshPublicKeyRequest
The request object that will be sent. |
options |
CallOptions
Call options. See CallOptions for more details. |
Type | Description |
Promise<[protos.google.cloud.oslogin.v1.IImportSshPublicKeyResponse, protos.google.cloud.oslogin.v1.IImportSshPublicKeyRequest | undefined, {} | undefined]> | {Promise} - The promise which resolves to an array. The first element of the array is an object representing [ImportSshPublicKeyResponse]. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) for more details and examples. |
/**
* TODO(developer): Uncomment these variables before running the sample.
*/
/**
* Required. The unique ID for the user in format `users/{user}`.
*/
// const parent = 'abc123'
/**
* Optional. The SSH public key and expiration time.
*/
// const sshPublicKey = {}
/**
* The project ID of the Google Cloud Platform project.
*/
// const projectId = 'abc123'
// Imports the Oslogin library
const {OsLoginServiceClient} = require('@google-cloud/os-login').v1;
// Instantiates a client
const osloginClient = new OsLoginServiceClient();
async function callImportSshPublicKey() {
// Construct request
const request = {
parent,
};
// Run request
const response = await osloginClient.importSshPublicKey(request);
console.log(response);
}
callImportSshPublicKey();
importSshPublicKey(request, options, callback)
importSshPublicKey(request: protos.google.cloud.oslogin.v1.IImportSshPublicKeyRequest, options: CallOptions, callback: Callback<protos.google.cloud.oslogin.v1.IImportSshPublicKeyResponse, protos.google.cloud.oslogin.v1.IImportSshPublicKeyRequest | null | undefined, {} | null | undefined>): void;
Name | Description |
request |
protos.google.cloud.oslogin.v1.IImportSshPublicKeyRequest
|
options |
CallOptions
|
callback |
Callback<protos.google.cloud.oslogin.v1.IImportSshPublicKeyResponse, protos.google.cloud.oslogin.v1.IImportSshPublicKeyRequest | null | undefined, {} | null | undefined>
|
Type | Description |
void |
importSshPublicKey(request, callback)
importSshPublicKey(request: protos.google.cloud.oslogin.v1.IImportSshPublicKeyRequest, callback: Callback<protos.google.cloud.oslogin.v1.IImportSshPublicKeyResponse, protos.google.cloud.oslogin.v1.IImportSshPublicKeyRequest | null | undefined, {} | null | undefined>): void;
Name | Description |
request |
protos.google.cloud.oslogin.v1.IImportSshPublicKeyRequest
|
callback |
Callback<protos.google.cloud.oslogin.v1.IImportSshPublicKeyResponse, protos.google.cloud.oslogin.v1.IImportSshPublicKeyRequest | null | undefined, {} | null | undefined>
|
Type | Description |
void |
initialize()
initialize(): Promise<{
[name: string]: Function;
}>;
Initialize the client. Performs asynchronous operations (such as authentication) and prepares the client. This function will be called automatically when any class method is called for the first time, but if you need to initialize it before calling an actual method, feel free to call initialize() directly.
You can await on this method if you want to make sure the client is initialized.
Type | Description |
Promise<{ [name: string]: Function; }> | {Promise} A promise that resolves to an authenticated service stub. |
matchFingerprintFromSshPublicKeyName(sshPublicKeyName)
matchFingerprintFromSshPublicKeyName(sshPublicKeyName: string): string | number;
Parse the fingerprint from SshPublicKey resource.
Name | Description |
sshPublicKeyName |
string
A fully-qualified path representing SshPublicKey resource. |
Type | Description |
string | number | {string} A string representing the fingerprint. |
matchProjectFromPosixAccountName(posixAccountName)
matchProjectFromPosixAccountName(posixAccountName: string): string | number;
Parse the project from PosixAccount resource.
Name | Description |
posixAccountName |
string
A fully-qualified path representing PosixAccount resource. |
Type | Description |
string | number | {string} A string representing the project. |
matchUserFromPosixAccountName(posixAccountName)
matchUserFromPosixAccountName(posixAccountName: string): string | number;
Parse the user from PosixAccount resource.
Name | Description |
posixAccountName |
string
A fully-qualified path representing PosixAccount resource. |
Type | Description |
string | number | {string} A string representing the user. |
matchUserFromSshPublicKeyName(sshPublicKeyName)
matchUserFromSshPublicKeyName(sshPublicKeyName: string): string | number;
Parse the user from SshPublicKey resource.
Name | Description |
sshPublicKeyName |
string
A fully-qualified path representing SshPublicKey resource. |
Type | Description |
string | number | {string} A string representing the user. |
matchUserFromUserName(userName)
matchUserFromUserName(userName: string): string | number;
Parse the user from User resource.
Name | Description |
userName |
string
A fully-qualified path representing User resource. |
Type | Description |
string | number | {string} A string representing the user. |
posixAccountPath(user, project)
posixAccountPath(user: string, project: string): string;
Return a fully-qualified posixAccount resource name string.
Name | Description |
user |
string
|
project |
string
|
Type | Description |
string | {string} Resource name string. |
sshPublicKeyPath(user, fingerprint)
sshPublicKeyPath(user: string, fingerprint: string): string;
Return a fully-qualified sshPublicKey resource name string.
Name | Description |
user |
string
|
fingerprint |
string
|
Type | Description |
string | {string} Resource name string. |
updateSshPublicKey(request, options)
updateSshPublicKey(request?: protos.google.cloud.oslogin.v1.IUpdateSshPublicKeyRequest, options?: CallOptions): Promise<[protos.google.cloud.oslogin.common.ISshPublicKey, protos.google.cloud.oslogin.v1.IUpdateSshPublicKeyRequest | undefined, {} | undefined]>;
Updates an SSH public key and returns the profile information. This method supports patch semantics.
Name | Description |
request |
protos.google.cloud.oslogin.v1.IUpdateSshPublicKeyRequest
The request object that will be sent. |
options |
CallOptions
Call options. See CallOptions for more details. |
Type | Description |
Promise<[protos.google.cloud.oslogin.common.ISshPublicKey, protos.google.cloud.oslogin.v1.IUpdateSshPublicKeyRequest | undefined, {} | undefined]> | {Promise} - The promise which resolves to an array. The first element of the array is an object representing [SshPublicKey]. Please see the [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) for more details and examples. |
/**
* TODO(developer): Uncomment these variables before running the sample.
*/
/**
* 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}`.
*/
// const name = 'abc123'
/**
* Required. The SSH public key and expiration time.
*/
// const sshPublicKey = {}
/**
* Mask to control which fields get updated. Updates all if not present.
*/
// const updateMask = {}
// Imports the Oslogin library
const {OsLoginServiceClient} = require('@google-cloud/os-login').v1;
// Instantiates a client
const osloginClient = new OsLoginServiceClient();
async function callUpdateSshPublicKey() {
// Construct request
const request = {
name,
sshPublicKey,
};
// Run request
const response = await osloginClient.updateSshPublicKey(request);
console.log(response);
}
callUpdateSshPublicKey();
updateSshPublicKey(request, options, callback)
updateSshPublicKey(request: protos.google.cloud.oslogin.v1.IUpdateSshPublicKeyRequest, options: CallOptions, callback: Callback<protos.google.cloud.oslogin.common.ISshPublicKey, protos.google.cloud.oslogin.v1.IUpdateSshPublicKeyRequest | null | undefined, {} | null | undefined>): void;
Name | Description |
request |
protos.google.cloud.oslogin.v1.IUpdateSshPublicKeyRequest
|
options |
CallOptions
|
callback |
Callback<protos.google.cloud.oslogin.common.ISshPublicKey, protos.google.cloud.oslogin.v1.IUpdateSshPublicKeyRequest | null | undefined, {} | null | undefined>
|
Type | Description |
void |
updateSshPublicKey(request, callback)
updateSshPublicKey(request: protos.google.cloud.oslogin.v1.IUpdateSshPublicKeyRequest, callback: Callback<protos.google.cloud.oslogin.common.ISshPublicKey, protos.google.cloud.oslogin.v1.IUpdateSshPublicKeyRequest | null | undefined, {} | null | undefined>): void;
Name | Description |
request |
protos.google.cloud.oslogin.v1.IUpdateSshPublicKeyRequest
|
callback |
Callback<protos.google.cloud.oslogin.common.ISshPublicKey, protos.google.cloud.oslogin.v1.IUpdateSshPublicKeyRequest | null | undefined, {} | null | undefined>
|
Type | Description |
void |
userPath(user)
userPath(user: string): string;
Return a fully-qualified user resource name string.
Name | Description |
user |
string
|
Type | Description |
string | {string} Resource name string. |