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-login
Constructors
(constructor)(opts, gaxInstance)
constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback);
Construct an instance of OsLoginServiceClient.
Parameters |
---|
Name | Description |
opts |
ClientOptions
|
gaxInstance |
typeof gax | typeof fallback
: loaded instance of google-gax . Useful if you need to avoid loading the default gRPC version and want to use the fallback HTTP implementation. Load only fallback version and pass it to the constructor: ``` const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC const client = new OsLoginServiceClient({fallback: true}, gax); ```
|
Properties
apiEndpoint
static get apiEndpoint(): string;
The DNS address for this API service - same as servicePath(), exists for compatibility reasons.
auth
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()
Terminate the gRPC channel and close the client.
The client will no longer be usable and all future behavior is undefined.
Returns |
---|
Type | Description |
Promise<void> | {Promise} A promise that resolves when the client is closed.
|
createSshPublicKey(request, options)
createSshPublicKey(request?: protos.google.cloud.oslogin.v1.ICreateSshPublicKeyRequest, options?: CallOptions): Promise<[
protos.google.cloud.oslogin.common.ISshPublicKey,
protos.google.cloud.oslogin.v1.ICreateSshPublicKeyRequest | undefined,
{} | undefined
]>;
Example
/**
* This snippet has been automatically generated and should be regarded as a code template only.
* It will require modifications to work.
* It may require correct/in-range values for request initialization.
* TODO(developer): Uncomment these variables before running the sample.
*/
/**
* Required. The unique ID for the user in format `users/{user}`.
*/
// const parent = 'abc123'
/**
* Required. The SSH public key and expiration time.
*/
// const sshPublicKey = {}
// Imports the Oslogin library
const {OsLoginServiceClient} = require('@google-cloud/os-login').v1;
// Instantiates a client
const osloginClient = new OsLoginServiceClient();
async function callCreateSshPublicKey() {
// Construct request
const request = {
parent,
sshPublicKey,
};
// Run request
const response = await osloginClient.createSshPublicKey(request);
console.log(response);
}
callCreateSshPublicKey();
createSshPublicKey(request, options, callback)
createSshPublicKey(request: protos.google.cloud.oslogin.v1.ICreateSshPublicKeyRequest, options: CallOptions, callback: Callback<protos.google.cloud.oslogin.common.ISshPublicKey, protos.google.cloud.oslogin.v1.ICreateSshPublicKeyRequest | null | undefined, {} | null | undefined>): void;
Returns |
---|
Type | Description |
void | |
createSshPublicKey(request, callback)
createSshPublicKey(request: protos.google.cloud.oslogin.v1.ICreateSshPublicKeyRequest, callback: Callback<protos.google.cloud.oslogin.common.ISshPublicKey, protos.google.cloud.oslogin.v1.ICreateSshPublicKeyRequest | null | undefined, {} | null | undefined>): void;
Returns |
---|
Type | Description |
void | |
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
]>;
Example
/**
* This snippet has been automatically generated and should be regarded as a code template only.
* It will require modifications to work.
* It may require correct/in-range values for request initialization.
* 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;
Returns |
---|
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;
Returns |
---|
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.
Example
/**
* This snippet has been automatically generated and should be regarded as a code template only.
* It will require modifications to work.
* It may require correct/in-range values for request initialization.
* 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;
Returns |
---|
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;
Returns |
---|
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.
Example
/**
* This snippet has been automatically generated and should be regarded as a code template only.
* It will require modifications to work.
* It may require correct/in-range values for request initialization.
* 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;
Returns |
---|
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;
Returns |
---|
Type | Description |
void | |
getProjectId()
getProjectId(): Promise<string>;
Returns |
---|
Type | Description |
Promise<string> | |
getProjectId(callback)
getProjectId(callback: Callback<string, undefined, undefined>): void;
Parameter |
---|
Name | Description |
callback |
Callback<string, undefined, undefined>
|
Returns |
---|
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.
Example
/**
* This snippet has been automatically generated and should be regarded as a code template only.
* It will require modifications to work.
* It may require correct/in-range values for request initialization.
* 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;
Returns |
---|
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;
Returns |
---|
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.
Example
/**
* This snippet has been automatically generated and should be regarded as a code template only.
* It will require modifications to work.
* It may require correct/in-range values for request initialization.
* 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;
Returns |
---|
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;
Returns |
---|
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.
Returns |
---|
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.
Parameter |
---|
Name | Description |
sshPublicKeyName |
string
A fully-qualified path representing SshPublicKey resource.
|
Returns |
---|
Type | Description |
string | number | {string} A string representing the fingerprint.
|
matchProjectFromPosixAccountName(posixAccountName)
matchProjectFromPosixAccountName(posixAccountName: string): string | number;
Parse the project from PosixAccount resource.
Parameter |
---|
Name | Description |
posixAccountName |
string
A fully-qualified path representing PosixAccount resource.
|
Returns |
---|
Type | Description |
string | number | {string} A string representing the project.
|
matchUserFromPosixAccountName(posixAccountName)
matchUserFromPosixAccountName(posixAccountName: string): string | number;
Parse the user from PosixAccount resource.
Parameter |
---|
Name | Description |
posixAccountName |
string
A fully-qualified path representing PosixAccount resource.
|
Returns |
---|
Type | Description |
string | number | {string} A string representing the user.
|
matchUserFromSshPublicKeyName(sshPublicKeyName)
matchUserFromSshPublicKeyName(sshPublicKeyName: string): string | number;
Parse the user from SshPublicKey resource.
Parameter |
---|
Name | Description |
sshPublicKeyName |
string
A fully-qualified path representing SshPublicKey resource.
|
Returns |
---|
Type | Description |
string | number | {string} A string representing the user.
|
matchUserFromUserName(userName)
matchUserFromUserName(userName: string): string | number;
Parse the user from User resource.
Parameter |
---|
Name | Description |
userName |
string
A fully-qualified path representing User resource.
|
Returns |
---|
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.
Parameters |
---|
Name | Description |
user |
string
|
project |
string
|
Returns |
---|
Type | Description |
string | {string} Resource name string.
|
sshPublicKeyPath(user, fingerprint)
sshPublicKeyPath(user: string, fingerprint: string): string;
Return a fully-qualified sshPublicKey resource name string.
Parameters |
---|
Name | Description |
user |
string
|
fingerprint |
string
|
Returns |
---|
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.
Example
/**
* This snippet has been automatically generated and should be regarded as a code template only.
* It will require modifications to work.
* It may require correct/in-range values for request initialization.
* 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;
Returns |
---|
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;
Returns |
---|
Type | Description |
void | |
userPath(user)
userPath(user: string): string;
Return a fully-qualified user resource name string.
Parameter |
---|
Name | Description |
user |
string
|
Returns |
---|
Type | Description |
string | {string} Resource name string.
|