Skip to content
Snippets Groups Projects
Select Git revision
  • develop
  • master default
  • map_stuff
  • bullet
  • player_stuff
  • enemy
  • login_page
  • mob_stuff
  • register_page
9 results

gcp-metadata

  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    Jacky Chen authored
    e44240c3
    History

    gcp-metadata

    Get the metadata from a Google Cloud Platform environment.

    NPM Version codecov

    $ npm install --save gcp-metadata
    const gcpMetadata = require('gcp-metadata');

    Check to see if the metadata server is available

    const isAvailable = await gcpMetadata.isAvailable();

    Access all metadata

    const data = await gcpMetadata.instance();
    console.log(data); // ... All metadata properties

    Access specific properties

    const data = await gcpMetadata.instance('hostname');
    console.log(data); // ...Instance hostname
    const projectId = await gcpMetadata.project('project-id');
    console.log(projectId); // ...Project ID of the running instance

    Access nested properties with the relative path

    const data = await gcpMetadata.instance('service-accounts/default/email');
    console.log(data); // ...Email address of the Compute identity service account

    Access specific properties with query parameters

    const data = await gcpMetadata.instance({
      property: 'tags',
      params: { alt: 'text' }
    });
    console.log(data) // ...Tags as newline-delimited list

    Access with custom headers

    await gcpMetadata.instance({
      headers: { 'no-trace': '1' }
    }); // ...Request is untraced

    Take care with large number valued properties

    In some cases number valued properties returned by the Metadata Service may be too large to be representable as JavaScript numbers. In such cases we return those values as BigNumber objects (from the bignumber.js library). Numbers that fit within the JavaScript number range will be returned as normal number values.

    const id = await gcpMetadata.instance('id');
    console.log(id)  // ... BigNumber { s: 1, e: 18, c: [ 45200, 31799277581759 ] }
    console.log(id.toString()) // ... 4520031799277581759