Package gcp-metadata (6.1.0)

Interfaces

MetadataAccessor

Options

Variables

BASE_PATH

BASE_PATH = "/computeMetadata/v1"

GCE_LINUX_BIOS_PATHS

GCE_LINUX_BIOS_PATHS: {
    BIOS_DATE: string;
    BIOS_VENDOR: string;
}

Known paths unique to Google Compute Engine Linux instances

gcpResidencyCache

gcpResidencyCache: boolean | null

A cache for the detected GCP Residency.

HEADER_NAME

HEADER_NAME = "Metadata-Flavor"

HEADER_VALUE

HEADER_VALUE = "Google"

HEADERS

HEADERS: Readonly<{ "metadata-flavor":="" "google";="" }="">

HOST_ADDRESS

HOST_ADDRESS = "http://169.254.169.254"

METADATA_SERVER_DETECTION

METADATA_SERVER_DETECTION: Readonly<{ 'assume-present':="" "don't="" try="" to="" ping="" the="" metadata="" server,="" but="" assume="" it's="" present";="" none:="" "don't="" try="" to="" ping="" the="" metadata="" server,="" but="" don't="" try="" to="" use="" it="" either";="" 'bios-only':="" "treat="" the="" result="" of="" a="" bios="" probe="" as="" canonical="" (don't="" fall="" back="" to="" pinging)";="" 'ping-only':="" "skip="" the="" bios="" probe,="" and="" go="" straight="" to="" pinging";="" }="">

Metadata server detection override options.

Available via process.env.METADATA_SERVER_DETECTION.

SECONDARY_HOST_ADDRESS

SECONDARY_HOST_ADDRESS = "http://metadata.google.internal."

Functions

bulk(properties)

export declare function bulk

Retrieve metadata items in parallel.

Parameter
NameDescription
propertiesT

The metadata properties to retrieve

Returns
TypeDescription
Promise<R>

The metadata in metadatakey:value format

Type Parameters
TypeDescription
T
R

Example


const data = await bulk([
  {
    metadataKey: 'instance',
  },
  {
    metadataKey: 'project/project-id',
  },
] as const);

// data.instance;
// data['project/project-id'];

detectGCPResidency()

export declare function detectGCPResidency(): boolean;

Determines if the process is running on Google Cloud Platform.

Returns
TypeDescription
boolean

{boolean} true if the process is running on GCP, false otherwise.

getGCPResidency()

export declare function getGCPResidency(): boolean;

Detects GCP Residency. Caches results to reduce costs for subsequent calls.

Returns
TypeDescription
boolean

instance(options)

export declare function instance

Obtain metadata for the current GCE instance.

Parameter
NameDescription
optionsstring | Options
Returns
TypeDescription
Promise<T>
Type Parameter
TypeDescription
T

Example


const serviceAccount: {} = await instance('service-accounts/');
const serviceAccountEmail: string = await instance('service-accounts/default/email');

isAvailable()

export declare function isAvailable(): Promise

Determine if the metadata server is currently available.

Returns
TypeDescription
Promise<boolean>

isGoogleCloudServerless()

export declare function isGoogleCloudServerless(): boolean;

Determines if the process is running on a Google Cloud Serverless environment (Cloud Run or Cloud Functions instance).

Uses the: - . - .

Returns
TypeDescription
boolean

{boolean} true if the process is running on GCP serverless, false otherwise.

isGoogleComputeEngine()

export declare function isGoogleComputeEngine(): boolean;

Determines if the process is running on a Google Compute Engine instance.

Returns
TypeDescription
boolean

{boolean} true if the process is running on GCE, false otherwise.

isGoogleComputeEngineLinux()

export declare function isGoogleComputeEngineLinux(): boolean;

Determines if the process is running on a Linux Google Compute Engine instance.

Returns
TypeDescription
boolean

{boolean} true if the process is running on Linux GCE, false otherwise.

isGoogleComputeEngineMACAddress()

export declare function isGoogleComputeEngineMACAddress(): boolean;

Determines if the process is running on a Google Compute Engine instance with a known MAC address.

Returns
TypeDescription
boolean

{boolean} true if the process is running on GCE (as determined by MAC address), false otherwise.

project(options)

export declare function project

Obtain metadata for the current GCP project.

Parameter
NameDescription
optionsstring | Options
Returns
TypeDescription
Promise<T>
Type Parameter
TypeDescription
T

Example


const projectId: string = await project('project-id');
const numericProjectId: number = await project('numeric-project-id');

requestTimeout()

export declare function requestTimeout(): number;

Obtain the timeout for requests to the metadata server.

In certain environments and conditions requests can take longer than the default timeout to complete. This function will determine the appropriate timeout based on the environment.

Returns
TypeDescription
number

{number} a request timeout duration in milliseconds.

resetIsAvailableCache()

export declare function resetIsAvailableCache(): void;

reset the memoized isAvailable() lookup.

Returns
TypeDescription
void

setGCPResidency(value)

export declare function setGCPResidency(value?: boolean | null): void;

Sets the detected GCP Residency. Useful for forcing metadata server detection behavior.

Set null to autodetect the environment (default behavior).

Parameter
NameDescription
valueboolean | null
Returns
TypeDescription
void

universe(options)

export declare function universe

Obtain metadata for the current universe.

Parameter
NameDescription
optionsstring | Options
Returns
TypeDescription
Promise<T>
Type Parameter
TypeDescription
T

Example


const universeDomain: string = await universe('universe_domain');

Type Aliases

BulkResults

export type BulkResults
Type Parameter
TypeDescription
T