Skip to content

Commit a99a60d

Browse files
authored
fix: standardize getSecret sample
1 parent 0f88fb6 commit a99a60d

1 file changed

Lines changed: 40 additions & 18 deletions

File tree

secret-manager/getSecret.js

Lines changed: 40 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,32 +14,54 @@
1414

1515
'use strict';
1616

17-
async function main(name = 'projects/my-project/secrets/my-secret') {
18-
// [START secretmanager_get_secret]
19-
/**
20-
* TODO(developer): Uncomment these variables before running the sample.
21-
*/
22-
// const name = 'projects/my-project/secrets/my-secret';
17+
const {SecretManagerServiceClient} = require('@google-cloud/secret-manager');
2318

24-
// Imports the Secret Manager library
25-
const {SecretManagerServiceClient} = require('@google-cloud/secret-manager');
26-
27-
// Instantiates a client
19+
// [START secretmanager_get_secret]
20+
/**
21+
* Get metadata about a secret.
22+
*
23+
* @param {string} projectId The ID of the Google Cloud project.
24+
* @param {string} secretId The ID of the secret to retrieve.
25+
*/
26+
async function getSecret(projectId, secretId) {
2827
const client = new SecretManagerServiceClient();
29-
30-
async function getSecret() {
28+
const name = `projects/${projectId}/secrets/${secretId}`;
29+
30+
try {
3131
const [secret] = await client.getSecret({
3232
name: name,
3333
});
3434

35-
const policy = secret.replication.replication;
35+
if (secret.replication && secret.replication.replication) {
36+
const policy = secret.replication.replication;
37+
console.info(
38+
`Found secret ${secret.name} with replication policy ${policy}`
39+
);
3640

37-
console.info(`Found secret ${secret.name} (${policy})`);
41+
} else {
42+
console.info(`Found secret ${secret.name} with no replication policy.`);
43+
}
44+
return secret;
45+
} catch (err) {
46+
console.error('Failed to retrieve secret ${name}:', err);
47+
} finally {
48+
await client.close();
3849
}
50+
}
51+
// [END secretmanager_get_secret]
52+
53+
async function main() {
54+
const projectId = process.argv[2] || process.env.PROJECT_ID;
55+
const secretId = process.argv[3] || process.env.SECRET_ID;
56+
57+
await getSecret(projectId, secretId);
58+
}
3959

40-
getSecret();
41-
// [END secretmanager_get_secret]
60+
if (require.main === module) {
61+
main().catch(err => {
62+
console.error(err.message);
63+
process.exit(1);
64+
});
4265
}
4366

44-
const args = process.argv.slice(2);
45-
main(...args).catch(console.error);
67+
module.exports.getSecret = getSecret;

0 commit comments

Comments
 (0)