From 841186b87bedde84ce450da6bafc0bbf78f04aad Mon Sep 17 00:00:00 2001 From: Ivan Hernandez Date: Tue, 14 Jan 2025 18:35:11 +0000 Subject: [PATCH 1/4] feat(secret-manager): add optional ttl field to createSecret function --- secret-manager/createSecret.js | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/secret-manager/createSecret.js b/secret-manager/createSecret.js index 939462104b..872701a3f4 100644 --- a/secret-manager/createSecret.js +++ b/secret-manager/createSecret.js @@ -14,29 +14,41 @@ 'use strict'; -async function main(parent = 'projects/my-project', secretId = 'my-secret') { +async function main( + parent = 'projects/my-project', + secretId = 'my-secret', + ttl = '900s' +) { // [START secretmanager_create_secret] /** * TODO(developer): Uncomment these variables before running the sample. */ // const parent = 'projects/my-project'; // const secretId = 'my-secret'; + // const ttl = '900s' // Optional: Specify TTL in seconds (e.g., '900s' for 15 minutes). // Imports the Secret Manager library - const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); + const { SecretManagerServiceClient } = require('@google-cloud/secret-manager'); // Instantiates a client const client = new SecretManagerServiceClient(); async function createSecret() { + const secretConfig = { + replication: { + automatic: {}, + }, + }; + + // Add TTL to the secret configuration if provided + if (ttl) { + secretConfig.ttl = ttl; + } + const [secret] = await client.createSecret({ parent: parent, secretId: secretId, - secret: { - replication: { - automatic: {}, - }, - }, + secret: secretConfig, }); console.log(`Created secret ${secret.name}`); @@ -47,4 +59,4 @@ async function main(parent = 'projects/my-project', secretId = 'my-secret') { } const args = process.argv.slice(2); -main(...args).catch(console.error); +main(...args).catch(console.error); \ No newline at end of file From d8abb663092f594a95794ee46619371489d450a1 Mon Sep 17 00:00:00 2001 From: Ivan Hernandez Date: Tue, 14 Jan 2025 18:39:01 +0000 Subject: [PATCH 2/4] fix linting errors --- secret-manager/createSecret.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/secret-manager/createSecret.js b/secret-manager/createSecret.js index 872701a3f4..e7632f1479 100644 --- a/secret-manager/createSecret.js +++ b/secret-manager/createSecret.js @@ -28,7 +28,7 @@ async function main( // const ttl = '900s' // Optional: Specify TTL in seconds (e.g., '900s' for 15 minutes). // Imports the Secret Manager library - const { SecretManagerServiceClient } = require('@google-cloud/secret-manager'); + const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); // Instantiates a client const client = new SecretManagerServiceClient(); @@ -59,4 +59,4 @@ async function main( } const args = process.argv.slice(2); -main(...args).catch(console.error); \ No newline at end of file +main(...args).catch(console.error); From 9bedf11109b36a71e63de400923a41c87a7848bd Mon Sep 17 00:00:00 2001 From: Ivan Hernandez Date: Wed, 15 Jan 2025 00:14:06 +0000 Subject: [PATCH 3/4] fix: update TTL format --- secret-manager/createSecret.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/secret-manager/createSecret.js b/secret-manager/createSecret.js index e7632f1479..87d2f130f0 100644 --- a/secret-manager/createSecret.js +++ b/secret-manager/createSecret.js @@ -42,7 +42,9 @@ async function main( // Add TTL to the secret configuration if provided if (ttl) { - secretConfig.ttl = ttl; + secretConfig.ttl = { + seconds: parseInt(ttl.replace('s', ''), 10), + }; } const [secret] = await client.createSecret({ From 9845093901cfadd32714fd80ecc5b8bc420ddc54 Mon Sep 17 00:00:00 2001 From: Ivan Hernandez Date: Wed, 15 Jan 2025 00:32:01 +0000 Subject: [PATCH 4/4] fix: correct ttl parameter --- secret-manager/createSecret.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/secret-manager/createSecret.js b/secret-manager/createSecret.js index 87d2f130f0..c3378174cc 100644 --- a/secret-manager/createSecret.js +++ b/secret-manager/createSecret.js @@ -17,7 +17,7 @@ async function main( parent = 'projects/my-project', secretId = 'my-secret', - ttl = '900s' + ttl = undefined ) { // [START secretmanager_create_secret] /** @@ -25,7 +25,7 @@ async function main( */ // const parent = 'projects/my-project'; // const secretId = 'my-secret'; - // const ttl = '900s' // Optional: Specify TTL in seconds (e.g., '900s' for 15 minutes). + // const ttl = undefined // Optional: Specify TTL in seconds (e.g., '900s' for 15 minutes). // Imports the Secret Manager library const {SecretManagerServiceClient} = require('@google-cloud/secret-manager');