JSPM

  • Created
  • Published
  • Downloads 1070726
  • Score
    100M100P100Q210317F
  • License Apache-2.0

Secrets client for Node.js

Package Exports

  • @google-cloud/secret-manager

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@google-cloud/secret-manager) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Google Cloud Platform logo

Secret Manager: Node.js Client

release level npm version codecov

Secrets client for Node.js

Read more about the client libraries for Cloud APIs, including the older Google APIs Client Libraries, in Client Libraries Explained.

Table of contents:

Quickstart

Before you begin

  1. Select or create a Cloud Platform project.
  2. Enable billing for your project.
  3. Enable the Secret Manager API.
  4. Set up authentication with a service account so you can access the API from your local workstation.

Installing the client library

npm install @google-cloud/secret-manager

Using the client library

  // Import the Secret Manager client and instantiate it:
  const {SecretManagerServiceClient} = require('@google-cloud/secret-manager');
  const client = new SecretManagerServiceClient();

  /**
   * TODO(developer): Uncomment these variables before running the sample.
   */
  // parent = 'projects/my-project', // Project for which to manage secrets.
  // secretId = 'foo', // Secret ID.
  // payload = 'hello world!' // String source data.

  async function createAndAccessSecret() {
    // Create the secret with automation replication.
    const [secret] = await client.createSecret({
      parent: parent,
      secret: {
        name: secretId,
        replication: {
          automatic: {},
        },
      },
      secretId,
    });

    console.info(`Created secret ${secret.name}`);

    // Add a version with a payload onto the secret.
    const [version] = await client.addSecretVersion({
      parent: secret.name,
      payload: {
        data: Buffer.from(payload, 'utf8'),
      },
    });

    console.info(`Added secret version ${version.name}`);

    // Access the secret.
    const [accessResponse] = await client.accessSecretVersion({
      name: version.name,
    });

    const responsePayload = accessResponse.payload.data.toString('utf8');
    console.info(`Payload: ${responsePayload}`);
  }
  createAndAccessSecret();

Samples

Samples are in the samples/ directory. The samples' README.md has instructions for running the samples.

Sample Source Code Try it
Access Secret Version source code Open in Cloud Shell
Add Secret Version source code Open in Cloud Shell
Create Secret source code Open in Cloud Shell
Delete Secret source code Open in Cloud Shell
Destroy Secret Version source code Open in Cloud Shell
Disable Secret Version source code Open in Cloud Shell
Enable Secret Version source code Open in Cloud Shell
Get Secret source code Open in Cloud Shell
Get Secret Version source code Open in Cloud Shell
List Secret Versions source code Open in Cloud Shell
List Secrets source code Open in Cloud Shell
Quickstart source code Open in Cloud Shell
Update Secret source code Open in Cloud Shell

The Secret Manager Node.js Client API Reference documentation also contains samples.

Versioning

This library follows Semantic Versioning.

This library is considered to be in beta. This means it is expected to be mostly stable while we work toward a general availability release; however, complete stability is not guaranteed. We will address issues and requests against beta libraries with a high priority.

More Information: Google Cloud Platform Launch Stages

Contributing

Contributions welcome! See the Contributing Guide.

License

Apache Version 2.0

See LICENSE