From 3003630d7d70bf03df192ab567e67b3a3b015f7a Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Wed, 18 Dec 2019 17:43:47 -0500 Subject: [PATCH 01/60] feat!: initial generation of library (#1) --- secret-manager/package.json | 25 ++++++++++ secret-manager/quickstart.js | 82 +++++++++++++++++++++++++++++++ secret-manager/test/.eslintrc.yml | 3 ++ secret-manager/test/quickstart.js | 47 ++++++++++++++++++ 4 files changed, 157 insertions(+) create mode 100644 secret-manager/package.json create mode 100644 secret-manager/quickstart.js create mode 100644 secret-manager/test/.eslintrc.yml create mode 100644 secret-manager/test/quickstart.js diff --git a/secret-manager/package.json b/secret-manager/package.json new file mode 100644 index 0000000000..2533a99203 --- /dev/null +++ b/secret-manager/package.json @@ -0,0 +1,25 @@ +{ + "name": "nodejs-secret-manager-samples", + "private": true, + "license": "Apache-2.0", + "files": [ + "*.js" + ], + "author": "Google LLC", + "repository": "googleapis/nodejs-secret-manager", + "engines": { + "node": ">=8" + }, + "scripts": { + "test": "c8 mocha --recursive test/ --timeout=800000" + }, + "dependencies": { + "@google-cloud/secret-manager": "^0.1.0" + }, + "devDependencies": { + "c8": "^6.0.1", + "chai": "^4.2.0", + "mocha": "^6.0.0", + "uuid": "^3.3.3" + } +} diff --git a/secret-manager/quickstart.js b/secret-manager/quickstart.js new file mode 100644 index 0000000000..eac81574b6 --- /dev/null +++ b/secret-manager/quickstart.js @@ -0,0 +1,82 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +'use strict'; + +async function main( + project = 'YOUR_PROJECT_NAME', // Project to manage secrets for. + secretId = 'foo', // Identifier for secret. + secretStringPayload = 'hello world!' // A secret string. +) { + // [START secret_manager_quickstart] + // Import the Secret Manager client and instantiate it: + const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); + const client = new SecretManagerServiceClient(); + + // const project = 'YOUR_PROJECT_NAME', // Project to manage secrets for. + // const secretId = 'foo', // Identifier for secret. + // const secretStringPayload = 'hello world!', // A secret string. + + async function setAndAccessSecret() { + // Create the secret, ignoring errors related to the secret + // already existing: + try { + await client.createSecret({ + parent: `projects/${project}`, + secret: { + name: secretId, + replication: { + automatic: {}, + }, + }, + secretId, + }); + } catch (err) { + if (err.message.includes('ALREADY_EXISTS')) { + console.info(`secret '${secretId}' already exists`); + } else { + throw err; // Unexpected error. + } + } + + // Update the latest version of the secret to the value provided: + await client.addSecretVersion({ + parent: `projects/${project}/secrets/${secretId}`, + payload: { + data: Buffer.from(secretStringPayload, 'utf8'), + }, + }); + console.info( + `set current version of '${secretId}' to '${secretStringPayload}'` + ); + + // Fetch the latest version of the secret: + const [secret] = await client.accessSecretVersion({ + name: `projects/${project}/secrets/${secretId}/versions/latest`, + }); + const secretString = secret.payload.data.toString('utf8'); + console.info(`get latest '${secretId}' with value '${secretString}'`); + } + setAndAccessSecret(); + // [END secret_manager_quickstart] +} + +main(...process.argv.slice(2)).catch(err => { + console.error(err); + process.exitCode = 1; +}); diff --git a/secret-manager/test/.eslintrc.yml b/secret-manager/test/.eslintrc.yml new file mode 100644 index 0000000000..e28757c0a5 --- /dev/null +++ b/secret-manager/test/.eslintrc.yml @@ -0,0 +1,3 @@ +--- +env: + mocha: true \ No newline at end of file diff --git a/secret-manager/test/quickstart.js b/secret-manager/test/quickstart.js new file mode 100644 index 0000000000..0139b89b6c --- /dev/null +++ b/secret-manager/test/quickstart.js @@ -0,0 +1,47 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +'use strict'; + +const {assert} = require('chai'); +const cp = require('child_process'); +const uuid = require('uuid'); +const execSync = cmd => cp.execSync(cmd, {encoding: 'utf-8'}); + +const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); +const client = new SecretManagerServiceClient(); + +const path = require('path'); +const cwd = path.join(__dirname, '..'); + +describe('Quickstart', () => { + const project = process.env.GCLOUD_PROJECT; + const secretId = uuid.v4(); + after(async () => { + await client.deleteSecret({ + name: `projects/${project}/secrets/${secretId}`, + }); + }); + + it('should run quickstart', async () => { + const stdout = execSync(`node quickstart.js ${project} ${secretId} bar`, { + cwd, + }); + assert.match(stdout, new RegExp(`get latest.*${secretId}`)); + }); +}); From ee175d7813a252626804243d1935151436a965c8 Mon Sep 17 00:00:00 2001 From: Seth Vargo Date: Fri, 20 Dec 2019 14:01:27 -0500 Subject: [PATCH 02/60] feat: add secretmanager samples (#8) --- secret-manager/accessSecretVersion.js | 49 +++++++ secret-manager/addSecretVersion.js | 49 +++++++ secret-manager/createSecret.js | 50 +++++++ secret-manager/deleteSecret.js | 43 ++++++ secret-manager/destroySecretVersion.js | 43 ++++++ secret-manager/disableSecretVersion.js | 43 ++++++ secret-manager/enableSecretVersion.js | 43 ++++++ secret-manager/getSecret.js | 45 +++++++ secret-manager/getSecretVersion.js | 44 ++++++ secret-manager/listSecretVersions.js | 45 +++++++ secret-manager/listSecrets.js | 46 +++++++ secret-manager/package.json | 2 +- secret-manager/quickstart.js | 84 ++++++------ secret-manager/test/quickstart.js | 47 ------- secret-manager/test/secretmanager.test.js | 157 ++++++++++++++++++++++ secret-manager/updateSecret.js | 51 +++++++ 16 files changed, 748 insertions(+), 93 deletions(-) create mode 100644 secret-manager/accessSecretVersion.js create mode 100644 secret-manager/addSecretVersion.js create mode 100644 secret-manager/createSecret.js create mode 100644 secret-manager/deleteSecret.js create mode 100644 secret-manager/destroySecretVersion.js create mode 100644 secret-manager/disableSecretVersion.js create mode 100644 secret-manager/enableSecretVersion.js create mode 100644 secret-manager/getSecret.js create mode 100644 secret-manager/getSecretVersion.js create mode 100644 secret-manager/listSecretVersions.js create mode 100644 secret-manager/listSecrets.js delete mode 100644 secret-manager/test/quickstart.js create mode 100644 secret-manager/test/secretmanager.test.js create mode 100644 secret-manager/updateSecret.js diff --git a/secret-manager/accessSecretVersion.js b/secret-manager/accessSecretVersion.js new file mode 100644 index 0000000000..ec0e1f3592 --- /dev/null +++ b/secret-manager/accessSecretVersion.js @@ -0,0 +1,49 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +async function main(name = 'projects/my-project/secrets/my-secret/versions/1') { + // [START secretmanager_access_secret_version] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + // const name = 'projects/my-project/secrets/my-secret/versions/5'; + // const name = 'projects/my-project/secrets/my-secret/versions/latest'; + + // Imports the Google Cloud Some API library + const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); + + // Instantiates a client + const client = new SecretManagerServiceClient(); + + async function accessSecretVersion() { + const [version] = await client.accessSecretVersion({ + name: name, + }); + + // Extract the payload as a string. + const payload = version.payload.data.toString('utf8'); + + // WARNING: Do not print the secret in a production environment - this + // snippet is showing how to access the secret material. + console.info(`Payload: ${payload}`); + } + + accessSecretVersion(); + // [END secretmanager_access_secret_version] +} + +const args = process.argv.slice(2); +main(...args).catch(console.error); diff --git a/secret-manager/addSecretVersion.js b/secret-manager/addSecretVersion.js new file mode 100644 index 0000000000..88920a469d --- /dev/null +++ b/secret-manager/addSecretVersion.js @@ -0,0 +1,49 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +async function main(parent = 'projects/my-project/secrets/my-secret') { + // [START secretmanager_add_secret_version] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + // const parent = 'projects/my-project/secrets/my-secret'; + + // Imports the Google Cloud Some API library + const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); + + // Instantiates a client + const client = new SecretManagerServiceClient(); + + // Payload is the plaintext data to store in the secret + const payload = Buffer.from('my super secret data', 'utf8'); + + async function addSecretVersion() { + const [version] = await client.addSecretVersion({ + parent: parent, + payload: { + data: payload, + }, + }); + + console.log(`Added secret version ${version.name}`); + } + + addSecretVersion(); + // [END secretmanager_add_secret_version] +} + +const args = process.argv.slice(2); +main(...args).catch(console.error); diff --git a/secret-manager/createSecret.js b/secret-manager/createSecret.js new file mode 100644 index 0000000000..840fa9b3d5 --- /dev/null +++ b/secret-manager/createSecret.js @@ -0,0 +1,50 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +async function main(parent = 'projects/my-project', secretId = 'my-secret') { + // [START secretmanager_create_secret] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + // const parent = 'projects/my-project'; + // const secretId = 'my-secret'; + + // Imports the Google Cloud Some API library + const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); + + // Instantiates a client + const client = new SecretManagerServiceClient(); + + async function createSecret() { + const [secret] = await client.createSecret({ + parent: parent, + secretId: secretId, + secret: { + replication: { + automatic: {}, + }, + }, + }); + + console.log(`Created secret ${secret.name}`); + } + + createSecret(); + // [END secretmanager_create_secret] +} + +const args = process.argv.slice(2); +main(...args).catch(console.error); diff --git a/secret-manager/deleteSecret.js b/secret-manager/deleteSecret.js new file mode 100644 index 0000000000..9e91bc3208 --- /dev/null +++ b/secret-manager/deleteSecret.js @@ -0,0 +1,43 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +async function main(name = 'projects/my-project/secrets/my-secret') { + // [START secretmanager_delete_secret] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + // const name = 'projects/my-project/secrets/my-secret'; + + // Imports the Google Cloud Some API library + const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); + + // Instantiates a client + const client = new SecretManagerServiceClient(); + + async function deleteSecret() { + await client.deleteSecret({ + name: name, + }); + + console.log(`Deleted secret ${name}`); + } + + deleteSecret(); + // [END secretmanager_delete_secret] +} + +const args = process.argv.slice(2); +main(...args).catch(console.error); diff --git a/secret-manager/destroySecretVersion.js b/secret-manager/destroySecretVersion.js new file mode 100644 index 0000000000..dfd210a368 --- /dev/null +++ b/secret-manager/destroySecretVersion.js @@ -0,0 +1,43 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +async function main(name = 'projects/my-project/secrets/my-secret/versions/1') { + // [START secretmanager_destroy_secret_version] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + // const name = 'projects/my-project/secrets/my-secret/versions/5'; + + // Imports the Google Cloud Some API library + const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); + + // Instantiates a client + const client = new SecretManagerServiceClient(); + + async function destroySecretVersion() { + const [version] = await client.destroySecretVersion({ + name: name, + }); + + console.info(`Destroyed ${version.name}`); + } + + destroySecretVersion(); + // [END secretmanager_destroy_secret_version] +} + +const args = process.argv.slice(2); +main(...args).catch(console.error); diff --git a/secret-manager/disableSecretVersion.js b/secret-manager/disableSecretVersion.js new file mode 100644 index 0000000000..0b7b7adacf --- /dev/null +++ b/secret-manager/disableSecretVersion.js @@ -0,0 +1,43 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +async function main(name = 'projects/my-project/secrets/my-secret/versions/1') { + // [START secretmanager_disable_secret_version] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + // const name = 'projects/my-project/secrets/my-secret/versions/5'; + + // Imports the Google Cloud Some API library + const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); + + // Instantiates a client + const client = new SecretManagerServiceClient(); + + async function disableSecretVersion() { + const [version] = await client.disableSecretVersion({ + name: name, + }); + + console.info(`Disabled ${version.name}`); + } + + disableSecretVersion(); + // [END secretmanager_disable_secret_version] +} + +const args = process.argv.slice(2); +main(...args).catch(console.error); diff --git a/secret-manager/enableSecretVersion.js b/secret-manager/enableSecretVersion.js new file mode 100644 index 0000000000..53b6125f7e --- /dev/null +++ b/secret-manager/enableSecretVersion.js @@ -0,0 +1,43 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +async function main(name = 'projects/my-project/secrets/my-secret/versions/1') { + // [START secretmanager_enable_secret_version] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + // const name = 'projects/my-project/secrets/my-secret/versions/5'; + + // Imports the Google Cloud Some API library + const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); + + // Instantiates a client + const client = new SecretManagerServiceClient(); + + async function enableSecretVersion() { + const [version] = await client.enableSecretVersion({ + name: name, + }); + + console.info(`Enabled ${version.name}`); + } + + enableSecretVersion(); + // [END secretmanager_enable_secret_version] +} + +const args = process.argv.slice(2); +main(...args).catch(console.error); diff --git a/secret-manager/getSecret.js b/secret-manager/getSecret.js new file mode 100644 index 0000000000..cc2a0dbb5a --- /dev/null +++ b/secret-manager/getSecret.js @@ -0,0 +1,45 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +async function main(name = 'projects/my-project/secrets/my-secret') { + // [START secretmanager_get_secret] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + // const name = 'projects/my-project/secrets/my-secret'; + + // Imports the Google Cloud Some API library + const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); + + // Instantiates a client + const client = new SecretManagerServiceClient(); + + async function getSecret() { + const [secret] = await client.getSecret({ + name: name, + }); + + const policy = secret.replication.replication; + + console.info(`Found secret ${secret.name} (${policy})`); + } + + getSecret(); + // [END secretmanager_get_secret] +} + +const args = process.argv.slice(2); +main(...args).catch(console.error); diff --git a/secret-manager/getSecretVersion.js b/secret-manager/getSecretVersion.js new file mode 100644 index 0000000000..0dcb0865ce --- /dev/null +++ b/secret-manager/getSecretVersion.js @@ -0,0 +1,44 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +async function main(name = 'projects/my-project/secrets/my-secret/versions/1') { + // [START secretmanager_get_secret_version] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + // const name = 'projects/my-project/secrets/my-secret/versions/5'; + // const name = 'projects/my-project/secrets/my-secret/versions/latest'; + + // Imports the Google Cloud Some API library + const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); + + // Instantiates a client + const client = new SecretManagerServiceClient(); + + async function getSecretVersion() { + const [version] = await client.getSecretVersion({ + name: name, + }); + + console.info(`Found secret ${version.name} with state ${version.state}`); + } + + getSecretVersion(); + // [END secretmanager_get_secret_version] +} + +const args = process.argv.slice(2); +main(...args).catch(console.error); diff --git a/secret-manager/listSecretVersions.js b/secret-manager/listSecretVersions.js new file mode 100644 index 0000000000..f7586f5fb6 --- /dev/null +++ b/secret-manager/listSecretVersions.js @@ -0,0 +1,45 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +async function main(parent = 'projects/my-project/secrets/my-secret') { + // [START secretmanager_list_secret_versions] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + // const parent = 'projects/my-project/secrets/my-secret'; + + // Imports the Google Cloud Some API library + const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); + + // Instantiates a client + const client = new SecretManagerServiceClient(); + + async function listSecretVersions() { + const [versions] = await client.listSecretVersions({ + parent: parent, + }); + + versions.forEach(version => { + console.log(`${version.name}: ${version.state}`); + }); + } + + listSecretVersions(); + // [END secretmanager_list_secret_versions] +} + +const args = process.argv.slice(2); +main(...args).catch(console.error); diff --git a/secret-manager/listSecrets.js b/secret-manager/listSecrets.js new file mode 100644 index 0000000000..0ff95fe63f --- /dev/null +++ b/secret-manager/listSecrets.js @@ -0,0 +1,46 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +async function main(parent = 'projects/my-project') { + // [START secretmanager_list_secrets] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + // const parent = 'projects/my-project'; + + // Imports the Google Cloud Some API library + const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); + + // Instantiates a client + const client = new SecretManagerServiceClient(); + + async function listSecrets() { + const [secrets] = await client.listSecrets({ + parent: parent, + }); + + secrets.forEach(secret => { + const policy = secret.replication.replication; + console.log(`${secret.name} (${policy})`); + }); + } + + listSecrets(); + // [END secretmanager_list_secrets] +} + +const args = process.argv.slice(2); +main(...args).catch(console.error); diff --git a/secret-manager/package.json b/secret-manager/package.json index 2533a99203..b6f5b3f8bc 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^0.1.0" + "@google-cloud/secret-manager": "file:.." }, "devDependencies": { "c8": "^6.0.1", diff --git a/secret-manager/quickstart.js b/secret-manager/quickstart.js index eac81574b6..6920202822 100644 --- a/secret-manager/quickstart.js +++ b/secret-manager/quickstart.js @@ -19,64 +19,58 @@ 'use strict'; async function main( - project = 'YOUR_PROJECT_NAME', // Project to manage secrets for. - secretId = 'foo', // Identifier for secret. - secretStringPayload = 'hello world!' // A secret string. + parent = 'projects/my-project', // Project for which to manage secrets. + secretId = 'foo', // Secret ID. + payload = 'hello world!' // String or buffer source data. ) { - // [START secret_manager_quickstart] + // [START secretmanager_quickstart] // Import the Secret Manager client and instantiate it: const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); const client = new SecretManagerServiceClient(); - // const project = 'YOUR_PROJECT_NAME', // Project to manage secrets for. - // const secretId = 'foo', // Identifier for secret. - // const secretStringPayload = 'hello world!', // A secret string. + /** + * 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 setAndAccessSecret() { - // Create the secret, ignoring errors related to the secret - // already existing: - try { - await client.createSecret({ - parent: `projects/${project}`, - secret: { - name: secretId, - replication: { - automatic: {}, - }, + async function createAndAccessSecret() { + // Create the secret with automation replication. + const [secret] = await client.createSecret({ + parent: parent, + secret: { + name: secretId, + replication: { + automatic: {}, }, - secretId, - }); - } catch (err) { - if (err.message.includes('ALREADY_EXISTS')) { - console.info(`secret '${secretId}' already exists`); - } else { - throw err; // Unexpected error. - } - } + }, + secretId, + }); + + console.info(`Created secret ${secret.name}`); - // Update the latest version of the secret to the value provided: - await client.addSecretVersion({ - parent: `projects/${project}/secrets/${secretId}`, + // Add a version with a payload onto the secret. + const [version] = await client.addSecretVersion({ + parent: secret.name, payload: { - data: Buffer.from(secretStringPayload, 'utf8'), + data: Buffer.from(payload, 'utf8'), }, }); - console.info( - `set current version of '${secretId}' to '${secretStringPayload}'` - ); - // Fetch the latest version of the secret: - const [secret] = await client.accessSecretVersion({ - name: `projects/${project}/secrets/${secretId}/versions/latest`, + console.info(`Added secret version ${version.name}`); + + // Access the secret. + const [accessResponse] = await client.accessSecretVersion({ + name: version.name, }); - const secretString = secret.payload.data.toString('utf8'); - console.info(`get latest '${secretId}' with value '${secretString}'`); + + const responsePayload = accessResponse.payload.data.toString('utf8'); + console.info(`Payload: ${responsePayload}`); } - setAndAccessSecret(); - // [END secret_manager_quickstart] + createAndAccessSecret(); + // [END secretmanager_quickstart] } -main(...process.argv.slice(2)).catch(err => { - console.error(err); - process.exitCode = 1; -}); +const args = process.argv.slice(2); +main(...args).catch(console.error); diff --git a/secret-manager/test/quickstart.js b/secret-manager/test/quickstart.js deleted file mode 100644 index 0139b89b6c..0000000000 --- a/secret-manager/test/quickstart.js +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2019 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** - -'use strict'; - -const {assert} = require('chai'); -const cp = require('child_process'); -const uuid = require('uuid'); -const execSync = cmd => cp.execSync(cmd, {encoding: 'utf-8'}); - -const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); -const client = new SecretManagerServiceClient(); - -const path = require('path'); -const cwd = path.join(__dirname, '..'); - -describe('Quickstart', () => { - const project = process.env.GCLOUD_PROJECT; - const secretId = uuid.v4(); - after(async () => { - await client.deleteSecret({ - name: `projects/${project}/secrets/${secretId}`, - }); - }); - - it('should run quickstart', async () => { - const stdout = execSync(`node quickstart.js ${project} ${secretId} bar`, { - cwd, - }); - assert.match(stdout, new RegExp(`get latest.*${secretId}`)); - }); -}); diff --git a/secret-manager/test/secretmanager.test.js b/secret-manager/test/secretmanager.test.js new file mode 100644 index 0000000000..44087fcfe8 --- /dev/null +++ b/secret-manager/test/secretmanager.test.js @@ -0,0 +1,157 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +const {assert} = require('chai'); +const cp = require('child_process'); +const uuidv4 = require('uuid/v4'); + +const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); +const client = new SecretManagerServiceClient(); + +const projectId = process.env.GCLOUD_PROJECT; +const secretId = uuidv4(); +const payload = `my super secret data`; + +let secret; +let version; + +const execSync = cmd => cp.execSync(cmd, {encoding: 'utf-8'}); + +describe(`Secret Manager samples`, () => { + before(async () => { + [secret] = await client.createSecret({ + parent: `projects/${projectId}`, + secretId: secretId, + secret: { + replication: { + automatic: {}, + }, + }, + }); + + [version] = await client.addSecretVersion({ + parent: secret.name, + payload: { + data: Buffer.from(payload), + }, + }); + }); + + after(async () => { + try { + await client.deleteSecret({ + name: secret.name, + }); + } catch (err) { + if (!err.message.includes('NOT_FOUND')) { + throw err; + } + } + + try { + await client.deleteSecret({ + name: `${secret.name}-quickstart`, + }); + } catch (err) { + if (!err.message.includes('NOT_FOUND')) { + throw err; + } + } + + try { + await client.deleteSecret({ + name: `${secret.name}-2`, + }); + } catch (err) { + if (!err.message.includes('NOT_FOUND')) { + throw err; + } + } + }); + + it(`runs the quickstart`, async () => { + const stdout = execSync( + `node quickstart.js projects/${projectId} ${secretId}-quickstart bar` + ); + assert.match(stdout, new RegExp(`Created secret`)); + assert.match(stdout, new RegExp(`Added secret version`)); + assert.match(stdout, new RegExp(`Payload: bar`)); + }); + + it(`creates a secret`, async () => { + const output = execSync( + `node createSecret.js projects/${projectId} ${secretId}-2` + ); + assert.match(output, new RegExp(`Created secret`)); + }); + + it(`lists secrets`, async () => { + const output = execSync(`node listSecrets.js projects/${projectId}`); + assert.match(output, new RegExp(`${secret.name}`)); + }); + + it(`gets a secret`, async () => { + const output = execSync(`node getSecret.js ${secret.name}`); + assert.match(output, new RegExp(`Found secret ${secret.name}`)); + }); + + it(`updates a secret`, async () => { + const output = execSync(`node updateSecret.js ${secret.name}`); + assert.match(output, new RegExp(`Updated secret ${secret.name}`)); + }); + + it(`deletes a secret`, async () => { + const output = execSync( + `node deleteSecret.js projects/${projectId}/secrets/${secretId}-2` + ); + assert.match(output, new RegExp(`Deleted secret`)); + }); + + it(`accesses secret versions`, async () => { + const output = execSync(`node accessSecretVersion.js ${version.name}`); + assert.match(output, new RegExp(payload)); + }); + + it(`adds secret versions`, async () => { + const output = execSync(`node addSecretVersion.js ${secret.name}`); + assert.match(output, new RegExp(`Added secret version`)); + }); + + it(`list secret versions`, async () => { + const output = execSync(`node listSecretVersions.js ${secret.name}`); + assert.match(output, new RegExp(`${version.name}`)); + }); + + it(`gets secret versions`, async () => { + const output = execSync(`node getSecretVersion.js ${version.name}`); + assert.match(output, new RegExp(`Found secret ${version.name}`)); + }); + + it(`disables secret versions`, async () => { + const output = execSync(`node disableSecretVersion.js ${version.name}`); + assert.match(output, new RegExp(`Disabled ${version.name}`)); + }); + + it(`enables secret versions`, async () => { + const output = execSync(`node enableSecretVersion.js ${version.name}`); + assert.match(output, new RegExp(`Enabled ${version.name}`)); + }); + + it(`destroys secret versions`, async () => { + const output = execSync(`node destroySecretVersion.js ${version.name}`); + assert.match(output, new RegExp(`Destroyed ${version.name}`)); + }); +}); diff --git a/secret-manager/updateSecret.js b/secret-manager/updateSecret.js new file mode 100644 index 0000000000..543b23f9c4 --- /dev/null +++ b/secret-manager/updateSecret.js @@ -0,0 +1,51 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +async function main(name = 'projects/my-project/secrets/my-secret') { + // [START secretmanager_update_secret] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + // const name = 'projects/my-project/secrets/my-secret'; + + // Imports the Google Cloud Some API library + const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); + + // Instantiates a client + const client = new SecretManagerServiceClient(); + + async function updateSecret() { + const [secret] = await client.updateSecret({ + secret: { + name: name, + labels: { + secretmanager: 'rocks', + }, + }, + updateMask: { + paths: ['labels'], + }, + }); + + console.info(`Updated secret ${secret.name}`); + } + + updateSecret(); + // [END secretmanager_update_secret] +} + +const args = process.argv.slice(2); +main(...args).catch(console.error); From b3b3b0e9e599473d478572cdfc8dda5abc02f14f Mon Sep 17 00:00:00 2001 From: Seth Vargo Date: Fri, 20 Dec 2019 17:00:33 -0500 Subject: [PATCH 03/60] fix: rename comment samples (#10) --- secret-manager/accessSecretVersion.js | 2 +- secret-manager/addSecretVersion.js | 2 +- secret-manager/createSecret.js | 2 +- secret-manager/deleteSecret.js | 2 +- secret-manager/destroySecretVersion.js | 2 +- secret-manager/disableSecretVersion.js | 2 +- secret-manager/enableSecretVersion.js | 2 +- secret-manager/getSecret.js | 2 +- secret-manager/getSecretVersion.js | 2 +- secret-manager/listSecretVersions.js | 2 +- secret-manager/listSecrets.js | 2 +- secret-manager/updateSecret.js | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/secret-manager/accessSecretVersion.js b/secret-manager/accessSecretVersion.js index ec0e1f3592..c132bb8b46 100644 --- a/secret-manager/accessSecretVersion.js +++ b/secret-manager/accessSecretVersion.js @@ -22,7 +22,7 @@ async function main(name = 'projects/my-project/secrets/my-secret/versions/1') { // const name = 'projects/my-project/secrets/my-secret/versions/5'; // const name = 'projects/my-project/secrets/my-secret/versions/latest'; - // Imports the Google Cloud Some API library + // Imports the Secret Manager library const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); // Instantiates a client diff --git a/secret-manager/addSecretVersion.js b/secret-manager/addSecretVersion.js index 88920a469d..f3077d5e1c 100644 --- a/secret-manager/addSecretVersion.js +++ b/secret-manager/addSecretVersion.js @@ -21,7 +21,7 @@ async function main(parent = 'projects/my-project/secrets/my-secret') { */ // const parent = 'projects/my-project/secrets/my-secret'; - // Imports the Google Cloud Some API library + // Imports the Secret Manager library const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); // Instantiates a client diff --git a/secret-manager/createSecret.js b/secret-manager/createSecret.js index 840fa9b3d5..939462104b 100644 --- a/secret-manager/createSecret.js +++ b/secret-manager/createSecret.js @@ -22,7 +22,7 @@ async function main(parent = 'projects/my-project', secretId = 'my-secret') { // const parent = 'projects/my-project'; // const secretId = 'my-secret'; - // Imports the Google Cloud Some API library + // Imports the Secret Manager library const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); // Instantiates a client diff --git a/secret-manager/deleteSecret.js b/secret-manager/deleteSecret.js index 9e91bc3208..3aad7ceb51 100644 --- a/secret-manager/deleteSecret.js +++ b/secret-manager/deleteSecret.js @@ -21,7 +21,7 @@ async function main(name = 'projects/my-project/secrets/my-secret') { */ // const name = 'projects/my-project/secrets/my-secret'; - // Imports the Google Cloud Some API library + // Imports the Secret Manager library const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); // Instantiates a client diff --git a/secret-manager/destroySecretVersion.js b/secret-manager/destroySecretVersion.js index dfd210a368..ca6b832155 100644 --- a/secret-manager/destroySecretVersion.js +++ b/secret-manager/destroySecretVersion.js @@ -21,7 +21,7 @@ async function main(name = 'projects/my-project/secrets/my-secret/versions/1') { */ // const name = 'projects/my-project/secrets/my-secret/versions/5'; - // Imports the Google Cloud Some API library + // Imports the Secret Manager library const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); // Instantiates a client diff --git a/secret-manager/disableSecretVersion.js b/secret-manager/disableSecretVersion.js index 0b7b7adacf..f072a94405 100644 --- a/secret-manager/disableSecretVersion.js +++ b/secret-manager/disableSecretVersion.js @@ -21,7 +21,7 @@ async function main(name = 'projects/my-project/secrets/my-secret/versions/1') { */ // const name = 'projects/my-project/secrets/my-secret/versions/5'; - // Imports the Google Cloud Some API library + // Imports the Secret Manager library const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); // Instantiates a client diff --git a/secret-manager/enableSecretVersion.js b/secret-manager/enableSecretVersion.js index 53b6125f7e..1fdfdb57b0 100644 --- a/secret-manager/enableSecretVersion.js +++ b/secret-manager/enableSecretVersion.js @@ -21,7 +21,7 @@ async function main(name = 'projects/my-project/secrets/my-secret/versions/1') { */ // const name = 'projects/my-project/secrets/my-secret/versions/5'; - // Imports the Google Cloud Some API library + // Imports the Secret Manager library const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); // Instantiates a client diff --git a/secret-manager/getSecret.js b/secret-manager/getSecret.js index cc2a0dbb5a..55b1acd6a4 100644 --- a/secret-manager/getSecret.js +++ b/secret-manager/getSecret.js @@ -21,7 +21,7 @@ async function main(name = 'projects/my-project/secrets/my-secret') { */ // const name = 'projects/my-project/secrets/my-secret'; - // Imports the Google Cloud Some API library + // Imports the Secret Manager library const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); // Instantiates a client diff --git a/secret-manager/getSecretVersion.js b/secret-manager/getSecretVersion.js index 0dcb0865ce..4cb6a247cd 100644 --- a/secret-manager/getSecretVersion.js +++ b/secret-manager/getSecretVersion.js @@ -22,7 +22,7 @@ async function main(name = 'projects/my-project/secrets/my-secret/versions/1') { // const name = 'projects/my-project/secrets/my-secret/versions/5'; // const name = 'projects/my-project/secrets/my-secret/versions/latest'; - // Imports the Google Cloud Some API library + // Imports the Secret Manager library const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); // Instantiates a client diff --git a/secret-manager/listSecretVersions.js b/secret-manager/listSecretVersions.js index f7586f5fb6..deec4f8a85 100644 --- a/secret-manager/listSecretVersions.js +++ b/secret-manager/listSecretVersions.js @@ -21,7 +21,7 @@ async function main(parent = 'projects/my-project/secrets/my-secret') { */ // const parent = 'projects/my-project/secrets/my-secret'; - // Imports the Google Cloud Some API library + // Imports the Secret Manager library const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); // Instantiates a client diff --git a/secret-manager/listSecrets.js b/secret-manager/listSecrets.js index 0ff95fe63f..457aa425a2 100644 --- a/secret-manager/listSecrets.js +++ b/secret-manager/listSecrets.js @@ -21,7 +21,7 @@ async function main(parent = 'projects/my-project') { */ // const parent = 'projects/my-project'; - // Imports the Google Cloud Some API library + // Imports the Secret Manager library const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); // Instantiates a client diff --git a/secret-manager/updateSecret.js b/secret-manager/updateSecret.js index 543b23f9c4..6f55048809 100644 --- a/secret-manager/updateSecret.js +++ b/secret-manager/updateSecret.js @@ -21,7 +21,7 @@ async function main(name = 'projects/my-project/secrets/my-secret') { */ // const name = 'projects/my-project/secrets/my-secret'; - // Imports the Google Cloud Some API library + // Imports the Secret Manager library const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); // Instantiates a client From 6a1bcc1b63c5fe34615bcefeba612cf8cb067866 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Fri, 20 Dec 2019 14:34:05 -0800 Subject: [PATCH 04/60] chore: release 1.0.0 (#6) --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index b6f5b3f8bc..d73c652625 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "file:.." + "@google-cloud/secret-manager": "^1.0.0" }, "devDependencies": { "c8": "^6.0.1", From 9240b766736e441b82fe2370cc35129a46d17056 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 23 Dec 2019 17:14:32 +0200 Subject: [PATCH 05/60] chore(deps): update dependency c8 to v7 (#12) --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index d73c652625..4ce70bd614 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -17,7 +17,7 @@ "@google-cloud/secret-manager": "^1.0.0" }, "devDependencies": { - "c8": "^6.0.1", + "c8": "^7.0.0", "chai": "^4.2.0", "mocha": "^6.0.0", "uuid": "^3.3.3" From 5d0b2eddbb5bd9a3c0fdae894e5ffe64139a1ad5 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 23 Dec 2019 07:25:51 -0800 Subject: [PATCH 06/60] chore: release 1.0.1 (#14) --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 4ce70bd614..6eac6d3570 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^1.0.0" + "@google-cloud/secret-manager": "^1.0.1" }, "devDependencies": { "c8": "^7.0.0", From 119aa54ea9c44a927fbb256a35e0cfdfb79f7267 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 23 Dec 2019 08:35:24 -0800 Subject: [PATCH 07/60] chore: release 1.1.0 (#18) --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 6eac6d3570..5817e54c35 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^1.0.1" + "@google-cloud/secret-manager": "^1.1.0" }, "devDependencies": { "c8": "^7.0.0", From aa29fa91f5d5c439be73d7235c67139bda288636 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 7 Jan 2020 01:28:49 +0200 Subject: [PATCH 08/60] chore(deps): update dependency mocha to v7 (#21) --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 5817e54c35..86493644c2 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -19,7 +19,7 @@ "devDependencies": { "c8": "^7.0.0", "chai": "^4.2.0", - "mocha": "^6.0.0", + "mocha": "^7.0.0", "uuid": "^3.3.3" } } From 75346f5a07428f726190e341a20d47336be0ade3 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 9 Jan 2020 11:30:17 -0800 Subject: [PATCH 09/60] chore: release 1.1.1 (#23) --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 86493644c2..67bff1b2a8 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^1.1.0" + "@google-cloud/secret-manager": "^1.1.1" }, "devDependencies": { "c8": "^7.0.0", From d3071a2f54a19d542b0a82be77cf80db7ab83f7c Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 13 Jan 2020 18:34:52 -0800 Subject: [PATCH 10/60] chore: release 1.1.2 (#25) --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 67bff1b2a8..1682ddfbef 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^1.1.1" + "@google-cloud/secret-manager": "^1.1.2" }, "devDependencies": { "c8": "^7.0.0", From 1d97e267e5afe9eef3e2bed143b6a95b4310eaa7 Mon Sep 17 00:00:00 2001 From: Seth Vargo Date: Thu, 16 Jan 2020 11:33:47 -0800 Subject: [PATCH 11/60] docs: remove misleading header (#28) --- secret-manager/quickstart.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/secret-manager/quickstart.js b/secret-manager/quickstart.js index 6920202822..c6b7cef59d 100644 --- a/secret-manager/quickstart.js +++ b/secret-manager/quickstart.js @@ -11,10 +11,6 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -// -// ** This file is automatically generated by gapic-generator-typescript. ** -// ** https://github.com/googleapis/gapic-generator-typescript ** -// ** All changes to this file may be overwritten. ** 'use strict'; From 4a15284408c44b7646ec5e049a271fb1116d40df Mon Sep 17 00:00:00 2001 From: Seth Vargo Date: Wed, 29 Jan 2020 20:11:05 -0500 Subject: [PATCH 12/60] feat: add IAM samples (#34) --- secret-manager/iamGrantAccess.js | 63 ++++++++++++++++++++ secret-manager/iamRevokeAccess.js | 70 +++++++++++++++++++++++ secret-manager/test/secretmanager.test.js | 15 ++++- 3 files changed, 147 insertions(+), 1 deletion(-) create mode 100644 secret-manager/iamGrantAccess.js create mode 100644 secret-manager/iamRevokeAccess.js diff --git a/secret-manager/iamGrantAccess.js b/secret-manager/iamGrantAccess.js new file mode 100644 index 0000000000..630c80b6c6 --- /dev/null +++ b/secret-manager/iamGrantAccess.js @@ -0,0 +1,63 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +async function main( + name = 'projects/my-project/secrets/my-secret', + member = 'user:you@example.com' +) { + // [START secretmanager_iam_grant_access] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + // const name = 'projects/my-project/secrets/my-secret'; + // const member = 'user:you@example.com'; + // + // NOTE: Each member must be prefixed with its type. See the IAM documentation + // for more information: https://cloud.google.com/iam/docs/overview. + + // Imports the Secret Manager library + const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); + + // Instantiates a client + const client = new SecretManagerServiceClient(); + + async function grantAccess() { + // Get the current IAM policy. + const [policy] = await client.getIamPolicy({ + resource: name, + }); + + // Add the user with accessor permissions to the bindings list. + policy.bindings.push({ + role: 'roles/secretmanager.secretAccessor', + members: [member], + }); + + // Save the updated IAM policy. + await client.setIamPolicy({ + resource: name, + policy: policy, + }); + + console.log(`Updated IAM policy for ${name}`); + } + + grantAccess(); + // [END secretmanager_iam_grant_access] +} + +const args = process.argv.slice(2); +main(...args).catch(console.error); diff --git a/secret-manager/iamRevokeAccess.js b/secret-manager/iamRevokeAccess.js new file mode 100644 index 0000000000..457ea45e00 --- /dev/null +++ b/secret-manager/iamRevokeAccess.js @@ -0,0 +1,70 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +async function main( + name = 'projects/my-project/secrets/my-secret', + member = 'user:you@example.com' +) { + // [START secretmanager_iam_revoke_access] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + // const name = 'projects/my-project/secrets/my-secret'; + // const member = 'user:you@example.com'; + // + // NOTE: Each member must be prefixed with its type. See the IAM documentation + // for more information: https://cloud.google.com/iam/docs/overview. + + // Imports the Secret Manager library + const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); + + // Instantiates a client + const client = new SecretManagerServiceClient(); + + async function grantAccess() { + // Get the current IAM policy. + const [policy] = await client.getIamPolicy({ + resource: name, + }); + + // Build a new list of policy bindings with the user excluded. + for (const i in policy.bindings) { + const binding = policy.bindings[i]; + if (binding.role !== 'roles/secretmanager.secretAccessor') { + continue; + } + + const idx = binding.members.indexOf(member); + if (idx !== -1) { + binding.members.splice(idx, 1); + } + } + + // Save the updated IAM policy. + await client.setIamPolicy({ + resource: name, + policy: policy, + }); + + console.log(`Updated IAM policy for ${name}`); + } + + grantAccess(); + // [END secretmanager_iam_revoke_access] +} + +const args = process.argv.slice(2); +main(...args).catch(console.error); diff --git a/secret-manager/test/secretmanager.test.js b/secret-manager/test/secretmanager.test.js index 44087fcfe8..476eccb8b6 100644 --- a/secret-manager/test/secretmanager.test.js +++ b/secret-manager/test/secretmanager.test.js @@ -23,7 +23,8 @@ const client = new SecretManagerServiceClient(); const projectId = process.env.GCLOUD_PROJECT; const secretId = uuidv4(); -const payload = `my super secret data`; +const payload = 'my super secret data'; +const iamUser = 'user:sethvargo@google.com'; let secret; let version; @@ -136,6 +137,18 @@ describe(`Secret Manager samples`, () => { }); it(`gets secret versions`, async () => { + const output = execSync(`node iamGrantAccess.js ${secret.name} ${iamUser}`); + assert.match(output, new RegExp(`Updated IAM policy`)); + }); + + it(`revokes access permissions`, async () => { + const output = execSync( + `node iamRevokeAccess.js ${secret.name} ${iamUser}` + ); + assert.match(output, new RegExp(`Updated IAM policy`)); + }); + + it(`grants access permissions`, async () => { const output = execSync(`node getSecretVersion.js ${version.name}`); assert.match(output, new RegExp(`Found secret ${version.name}`)); }); From 9ab11aa922e90b98a09c53162ebcd5cabcc4f71e Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 29 Jan 2020 21:02:25 -0800 Subject: [PATCH 13/60] chore: release 1.2.0 (#38) * updated CHANGELOG.md [ci skip] * updated package.json [ci skip] * updated samples/package.json [ci skip] --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 1682ddfbef..7761f81264 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^1.1.2" + "@google-cloud/secret-manager": "^1.2.0" }, "devDependencies": { "c8": "^7.0.0", From 945883864848124c1e7cf447e8f78c63229ca7d0 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 12 Feb 2020 08:26:09 -0800 Subject: [PATCH 14/60] chore: release 1.2.1 (#50) --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 7761f81264..32cb189665 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^1.2.0" + "@google-cloud/secret-manager": "^1.2.1" }, "devDependencies": { "c8": "^7.0.0", From e63d673c84aeabd690909ab43ec8dac21e125a0c Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Fri, 28 Feb 2020 23:16:18 +0000 Subject: [PATCH 15/60] chore: release 2.0.0 (#63) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit :robot: I have created a release \*beep\* \*boop\* --- ## [2.0.0](https://www.github.com/googleapis/nodejs-secret-manager/compare/v1.2.1...v2.0.0) (2020-02-28) ### ⚠ BREAKING CHANGES * drop support for Node 8 (which is EOL) (#64) * library now uses v1 API surface (#62) ### Features * drop support for Node 8 (which is EOL) ([#64](https://www.github.com/googleapis/nodejs-secret-manager/issues/64)) ([e4118ef](https://www.github.com/googleapis/nodejs-secret-manager/commit/e4118ef699ff63e005f65b154fb2b3a379e3cfd1)) * export protos in src/index.ts ([46e2c3e](https://www.github.com/googleapis/nodejs-secret-manager/commit/46e2c3e5b598dbd3eefeec859f52fffa32bdf63c)) * library now uses v1 API surface ([#62](https://www.github.com/googleapis/nodejs-secret-manager/issues/62)) ([a8368d4](https://www.github.com/googleapis/nodejs-secret-manager/commit/a8368d465c8577f708d3185d60c26b7e652befbe)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 32cb189665..aa79edf105 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^1.2.1" + "@google-cloud/secret-manager": "^2.0.0" }, "devDependencies": { "c8": "^7.0.0", From 492370913703d0aa8cfecdd71db97e2e9bd26227 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 2 Mar 2020 13:53:26 -0800 Subject: [PATCH 16/60] chore: release 2.0.1 (#68) --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index aa79edf105..14c733f734 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^2.0.0" + "@google-cloud/secret-manager": "^2.0.1" }, "devDependencies": { "c8": "^7.0.0", From 22bd9389f3e5590b3a19890457da5a1dbf0fafd9 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 9 Mar 2020 13:57:07 -0700 Subject: [PATCH 17/60] chore: release 2.1.0 (#70) --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 14c733f734..a900821c78 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^2.0.1" + "@google-cloud/secret-manager": "^2.1.0" }, "devDependencies": { "c8": "^7.0.0", From 92982a79fe34f6673b6c0ce173de99a7b0dd9c9a Mon Sep 17 00:00:00 2001 From: Alexander Fenster Date: Tue, 31 Mar 2020 13:45:41 -0700 Subject: [PATCH 18/60] feat!: drop node8 support, support for async iterators (#85) BREAKING CHANGE: The library now supports Node.js v10+. The last version to support Node.js v8 is tagged legacy-8 on NPM. New feature: methods with pagination now support async iteration. --- secret-manager/test/secretmanager.test.js | 48 +++++++++++------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/secret-manager/test/secretmanager.test.js b/secret-manager/test/secretmanager.test.js index 476eccb8b6..62f6d246cd 100644 --- a/secret-manager/test/secretmanager.test.js +++ b/secret-manager/test/secretmanager.test.js @@ -31,7 +31,7 @@ let version; const execSync = cmd => cp.execSync(cmd, {encoding: 'utf-8'}); -describe(`Secret Manager samples`, () => { +describe('Secret Manager samples', () => { before(async () => { [secret] = await client.createSecret({ parent: `projects/${projectId}`, @@ -83,87 +83,87 @@ describe(`Secret Manager samples`, () => { } }); - it(`runs the quickstart`, async () => { + it('runs the quickstart', async () => { const stdout = execSync( `node quickstart.js projects/${projectId} ${secretId}-quickstart bar` ); - assert.match(stdout, new RegExp(`Created secret`)); - assert.match(stdout, new RegExp(`Added secret version`)); - assert.match(stdout, new RegExp(`Payload: bar`)); + assert.match(stdout, new RegExp('Created secret')); + assert.match(stdout, new RegExp('Added secret version')); + assert.match(stdout, new RegExp('Payload: bar')); }); - it(`creates a secret`, async () => { + it('creates a secret', async () => { const output = execSync( `node createSecret.js projects/${projectId} ${secretId}-2` ); - assert.match(output, new RegExp(`Created secret`)); + assert.match(output, new RegExp('Created secret')); }); - it(`lists secrets`, async () => { + it('lists secrets', async () => { const output = execSync(`node listSecrets.js projects/${projectId}`); assert.match(output, new RegExp(`${secret.name}`)); }); - it(`gets a secret`, async () => { + it('gets a secret', async () => { const output = execSync(`node getSecret.js ${secret.name}`); assert.match(output, new RegExp(`Found secret ${secret.name}`)); }); - it(`updates a secret`, async () => { + it('updates a secret', async () => { const output = execSync(`node updateSecret.js ${secret.name}`); assert.match(output, new RegExp(`Updated secret ${secret.name}`)); }); - it(`deletes a secret`, async () => { + it('deletes a secret', async () => { const output = execSync( `node deleteSecret.js projects/${projectId}/secrets/${secretId}-2` ); - assert.match(output, new RegExp(`Deleted secret`)); + assert.match(output, new RegExp('Deleted secret')); }); - it(`accesses secret versions`, async () => { + it('accesses secret versions', async () => { const output = execSync(`node accessSecretVersion.js ${version.name}`); assert.match(output, new RegExp(payload)); }); - it(`adds secret versions`, async () => { + it('adds secret versions', async () => { const output = execSync(`node addSecretVersion.js ${secret.name}`); - assert.match(output, new RegExp(`Added secret version`)); + assert.match(output, new RegExp('Added secret version')); }); - it(`list secret versions`, async () => { + it('list secret versions', async () => { const output = execSync(`node listSecretVersions.js ${secret.name}`); assert.match(output, new RegExp(`${version.name}`)); }); - it(`gets secret versions`, async () => { + it('gets secret versions', async () => { const output = execSync(`node iamGrantAccess.js ${secret.name} ${iamUser}`); - assert.match(output, new RegExp(`Updated IAM policy`)); + assert.match(output, new RegExp('Updated IAM policy')); }); - it(`revokes access permissions`, async () => { + it('revokes access permissions', async () => { const output = execSync( `node iamRevokeAccess.js ${secret.name} ${iamUser}` ); - assert.match(output, new RegExp(`Updated IAM policy`)); + assert.match(output, new RegExp('Updated IAM policy')); }); - it(`grants access permissions`, async () => { + it('grants access permissions', async () => { const output = execSync(`node getSecretVersion.js ${version.name}`); assert.match(output, new RegExp(`Found secret ${version.name}`)); }); - it(`disables secret versions`, async () => { + it('disables secret versions', async () => { const output = execSync(`node disableSecretVersion.js ${version.name}`); assert.match(output, new RegExp(`Disabled ${version.name}`)); }); - it(`enables secret versions`, async () => { + it('enables secret versions', async () => { const output = execSync(`node enableSecretVersion.js ${version.name}`); assert.match(output, new RegExp(`Enabled ${version.name}`)); }); - it(`destroys secret versions`, async () => { + it('destroys secret versions', async () => { const output = execSync(`node destroySecretVersion.js ${version.name}`); assert.match(output, new RegExp(`Destroyed ${version.name}`)); }); From 4b1912ba2f87382b3b5b327208b8fb049516a364 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Fri, 10 Apr 2020 13:17:39 -0700 Subject: [PATCH 19/60] chore: release 3.0.0 (#86) --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index a900821c78..52f69f4562 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^2.1.0" + "@google-cloud/secret-manager": "^3.0.0" }, "devDependencies": { "c8": "^7.0.0", From 790bc8ba38cad45d0ba7161f4818067a50c214da Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Mon, 4 May 2020 11:02:08 -0700 Subject: [PATCH 20/60] chore: update uuid (#114) update UUID addressing linting issue. --- secret-manager/package.json | 2 +- secret-manager/test/secretmanager.test.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 52f69f4562..93e2d18d50 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -20,6 +20,6 @@ "c8": "^7.0.0", "chai": "^4.2.0", "mocha": "^7.0.0", - "uuid": "^3.3.3" + "uuid": "^8.0.0" } } diff --git a/secret-manager/test/secretmanager.test.js b/secret-manager/test/secretmanager.test.js index 62f6d246cd..a428f6f273 100644 --- a/secret-manager/test/secretmanager.test.js +++ b/secret-manager/test/secretmanager.test.js @@ -16,13 +16,13 @@ const {assert} = require('chai'); const cp = require('child_process'); -const uuidv4 = require('uuid/v4'); +const {v4} = require('uuid'); const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); const client = new SecretManagerServiceClient(); const projectId = process.env.GCLOUD_PROJECT; -const secretId = uuidv4(); +const secretId = v4(); const payload = 'my super secret data'; const iamUser = 'user:sethvargo@google.com'; From abf66f9b8d75f9af8ceeb01c8064d81f9f361e6b Mon Sep 17 00:00:00 2001 From: Jeff Crocker <36414798+anchor-crockagile@users.noreply.github.com> Date: Tue, 19 May 2020 12:06:13 -0400 Subject: [PATCH 21/60] fix(samples): correct usage of toString() (#117) * Remove example's unused character encoding When accessing a secret version, the payload data is of type `string | Uint8Array`, neither of which accepts a character encoding option in their `toString()` function. Co-authored-by: Stephen --- secret-manager/accessSecretVersion.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/accessSecretVersion.js b/secret-manager/accessSecretVersion.js index c132bb8b46..925918482b 100644 --- a/secret-manager/accessSecretVersion.js +++ b/secret-manager/accessSecretVersion.js @@ -34,7 +34,7 @@ async function main(name = 'projects/my-project/secrets/my-secret/versions/1') { }); // Extract the payload as a string. - const payload = version.payload.data.toString('utf8'); + const payload = version.payload.data.toString(); // WARNING: Do not print the secret in a production environment - this // snippet is showing how to access the secret material. From 20cb5011ad195ca22c2da706b282ffbde3588867 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 11 Jun 2020 17:47:41 +0200 Subject: [PATCH 22/60] chore(deps): update dependency mocha to v8 (#126) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [mocha](https://mochajs.org/) ([source](https://togithub.com/mochajs/mocha)) | devDependencies | major | [`^7.0.0` -> `^8.0.0`](https://renovatebot.com/diffs/npm/mocha/7.2.0/8.0.1) | --- ### Release Notes
mochajs/mocha ### [`v8.0.1`](https://togithub.com/mochajs/mocha/blob/master/CHANGELOG.md#​801--2020-06-10) [Compare Source](https://togithub.com/mochajs/mocha/compare/v8.0.0...v8.0.1) The obligatory patch after a major. #### :bug: Fixes - [#​4328](https://togithub.com/mochajs/mocha/issues/4328): Fix `--parallel` when combined with `--watch` ([**@​boneskull**](https://togithub.com/boneskull)) ### [`v8.0.0`](https://togithub.com/mochajs/mocha/blob/master/CHANGELOG.md#​800--2020-06-10) [Compare Source](https://togithub.com/mochajs/mocha/compare/v7.2.0...v8.0.0) In this major release, Mocha adds the ability to _run tests in parallel_. Better late than never! Please note the **breaking changes** detailed below. Let's welcome [**@​giltayar**](https://togithub.com/giltayar) and [**@​nicojs**](https://togithub.com/nicojs) to the maintenance team! #### :boom: Breaking Changes - [#​4164](https://togithub.com/mochajs/mocha/issues/4164): **Mocha v8.0.0 now requires Node.js v10.0.0 or newer.** Mocha no longer supports the Node.js v8.x line ("Carbon"), which entered End-of-Life at the end of 2019 ([**@​UlisesGascon**](https://togithub.com/UlisesGascon)) - [#​4175](https://togithub.com/mochajs/mocha/issues/4175): Having been deprecated with a warning since v7.0.0, **`mocha.opts` is no longer supported** ([**@​juergba**](https://togithub.com/juergba)) :sparkles: **WORKAROUND:** Replace `mocha.opts` with a [configuration file](https://mochajs.org/#configuring-mocha-nodejs). - [#​4260](https://togithub.com/mochajs/mocha/issues/4260): Remove `enableTimeout()` (`this.enableTimeout()`) from the context object ([**@​craigtaub**](https://togithub.com/craigtaub)) :sparkles: **WORKAROUND:** Replace usage of `this.enableTimeout(false)` in your tests with `this.timeout(0)`. - [#​4315](https://togithub.com/mochajs/mocha/issues/4315): The `spec` option no longer supports a comma-delimited list of files ([**@​juergba**](https://togithub.com/juergba)) :sparkles: **WORKAROUND**: Use an array instead (e.g., `"spec": "foo.js,bar.js"` becomes `"spec": ["foo.js", "bar.js"]`). - [#​4309](https://togithub.com/mochajs/mocha/issues/4309): Drop support for Node.js v13.x line, which is now End-of-Life ([**@​juergba**](https://togithub.com/juergba)) - [#​4282](https://togithub.com/mochajs/mocha/issues/4282): `--forbid-only` will throw an error even if exclusive tests are avoided via `--grep` or other means ([**@​arvidOtt**](https://togithub.com/arvidOtt)) - [#​4223](https://togithub.com/mochajs/mocha/issues/4223): The context object's `skip()` (`this.skip()`) in a "before all" (`before()`) hook will no longer execute subsequent sibling hooks, in addition to hooks in child suites ([**@​juergba**](https://togithub.com/juergba)) - [#​4178](https://togithub.com/mochajs/mocha/issues/4178): Remove previously soft-deprecated APIs ([**@​wnghdcjfe**](https://togithub.com/wnghdcjfe)): - `Mocha.prototype.ignoreLeaks()` - `Mocha.prototype.useColors()` - `Mocha.prototype.useInlineDiffs()` - `Mocha.prototype.hideDiff()` #### :tada: Enhancements - [#​4245](https://togithub.com/mochajs/mocha/issues/4245): Add ability to run tests in parallel for Node.js (see [docs](https://mochajs.org/#parallel-tests)) ([**@​boneskull**](https://togithub.com/boneskull)) :exclamation: See also [#​4244](https://togithub.com/mochajs/mocha/issues/4244); [Root Hook Plugins (docs)](https://mochajs.org/#root-hook-plugins) -- _root hooks must be defined via Root Hook Plugins to work in parallel mode_ - [#​4304](https://togithub.com/mochajs/mocha/issues/4304): `--require` now works with ES modules ([**@​JacobLey**](https://togithub.com/JacobLey)) - [#​4299](https://togithub.com/mochajs/mocha/issues/4299): In some circumstances, Mocha can run ES modules under Node.js v10 -- _use at your own risk!_ ([**@​giltayar**](https://togithub.com/giltayar)) #### :book: Documentation - [#​4246](https://togithub.com/mochajs/mocha/issues/4246): Add documentation for parallel mode and Root Hook plugins ([**@​boneskull**](https://togithub.com/boneskull)) #### :bug: Fixes (All bug fixes in Mocha v8.0.0 are also breaking changes, and are listed above)
--- ### Renovate configuration :date: **Schedule**: "after 9am and before 3pm" (UTC). :vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied. :recycle: **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. :no_bell: **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#googleapis/nodejs-secret-manager). --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 93e2d18d50..071f93d039 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -19,7 +19,7 @@ "devDependencies": { "c8": "^7.0.0", "chai": "^4.2.0", - "mocha": "^7.0.0", + "mocha": "^8.0.0", "uuid": "^8.0.0" } } From cbefa28851b23d113be9813300a5c9e25ec4a5a4 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 25 Jun 2020 17:46:35 -0700 Subject: [PATCH 23/60] chore: release 3.1.0 (#113) --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 071f93d039..8bc0d2e7b3 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^3.0.0" + "@google-cloud/secret-manager": "^3.1.0" }, "devDependencies": { "c8": "^7.0.0", From be60a8c4ac9487a20de80fc8820360e687c3832a Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 15 Sep 2020 09:54:41 -0700 Subject: [PATCH 24/60] chore: release 3.2.0 (#166) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 8bc0d2e7b3..0ac1d72d86 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^3.1.0" + "@google-cloud/secret-manager": "^3.2.0" }, "devDependencies": { "c8": "^7.0.0", From 66b1c9d0312408d4db47936127081dd8c3271ac8 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 5 Nov 2020 13:53:53 -0800 Subject: [PATCH 25/60] chore: release 3.2.1 (#185) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 0ac1d72d86..1cc5e90a87 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^3.2.0" + "@google-cloud/secret-manager": "^3.2.1" }, "devDependencies": { "c8": "^7.0.0", From d588d2712d2bc95a9acf6bea4a4bbdc691886df9 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 11 Nov 2020 13:03:51 -0800 Subject: [PATCH 26/60] chore: release 3.2.2 (#188) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 1cc5e90a87..b263098155 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^3.2.1" + "@google-cloud/secret-manager": "^3.2.2" }, "devDependencies": { "c8": "^7.0.0", From ce8506b0c344694b1d5f58835473d1a1cf57c2a2 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 2 Dec 2020 19:40:13 +0000 Subject: [PATCH 27/60] chore: release 3.2.3 (#192) :robot: I have created a release \*beep\* \*boop\* --- ### [3.2.3](https://www.github.com/googleapis/nodejs-secret-manager/compare/v3.2.2...v3.2.3) (2020-11-25) ### Bug Fixes * **browser:** check for fetch on window ([98aaa17](https://www.github.com/googleapis/nodejs-secret-manager/commit/98aaa17c8b9c939746c218b0da3c9d299ad640e1)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index b263098155..8e5582999a 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^3.2.2" + "@google-cloud/secret-manager": "^3.2.3" }, "devDependencies": { "c8": "^7.0.0", From f0d61a8f1a9f1e6c72368f4c1320871c76b4e547 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 12 Jan 2021 18:36:11 +0000 Subject: [PATCH 28/60] chore: release 3.3.0 (#200) :robot: I have created a release \*beep\* \*boop\* --- ## [3.3.0](https://www.github.com/googleapis/nodejs-secret-manager/compare/v3.2.3...v3.3.0) (2021-01-09) ### Features * adds style enumeration ([#199](https://www.github.com/googleapis/nodejs-secret-manager/issues/199)) ([d99b4af](https://www.github.com/googleapis/nodejs-secret-manager/commit/d99b4af960182916b9a5ed0dfd1f12a2148729fb)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 8e5582999a..c72d324426 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^3.2.3" + "@google-cloud/secret-manager": "^3.3.0" }, "devDependencies": { "c8": "^7.0.0", From c6e84b67bd390498572eabb3ac385d58eba16fbf Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 21 Jan 2021 11:46:08 -0800 Subject: [PATCH 29/60] chore: release 3.4.0 (#203) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index c72d324426..65a985d397 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^3.3.0" + "@google-cloud/secret-manager": "^3.4.0" }, "devDependencies": { "c8": "^7.0.0", From 8f373d04ae8d5817fb3fafc7fc833f1810815ef5 Mon Sep 17 00:00:00 2001 From: sofisl <55454395+sofisl@users.noreply.github.com> Date: Wed, 3 Feb 2021 16:56:13 -0800 Subject: [PATCH 30/60] docs: update samples for correct types (#205) --- secret-manager/listSecrets.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/secret-manager/listSecrets.js b/secret-manager/listSecrets.js index 457aa425a2..b36da6c14f 100644 --- a/secret-manager/listSecrets.js +++ b/secret-manager/listSecrets.js @@ -33,7 +33,9 @@ async function main(parent = 'projects/my-project') { }); secrets.forEach(secret => { - const policy = secret.replication.replication; + const policy = secret.replication.userManaged + ? secret.replication.userManaged + : secret.replication.automatic; console.log(`${secret.name} (${policy})`); }); } From a94b4f1b2d16df9424bc1b1ecb3ebaef6747c5d9 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 3 Mar 2021 12:36:16 -0800 Subject: [PATCH 31/60] chore: release 3.5.0 (#208) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 65a985d397..a2bfa9568a 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^3.4.0" + "@google-cloud/secret-manager": "^3.5.0" }, "devDependencies": { "c8": "^7.0.0", From 8b769f2f3ac26ee6aa640c81a4f6278d94aa8141 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 1 Apr 2021 14:18:23 -0700 Subject: [PATCH 32/60] chore: release 3.6.0 (#229) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index a2bfa9568a..825838c6a8 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^3.5.0" + "@google-cloud/secret-manager": "^3.6.0" }, "devDependencies": { "c8": "^7.0.0", From da90ab5ebc9cbc3accd3d84a75b8e4fda9ad9673 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 13 May 2021 10:38:39 -0700 Subject: [PATCH 33/60] chore: release 3.6.1 (#248) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 825838c6a8..dde25d1f61 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^3.6.0" + "@google-cloud/secret-manager": "^3.6.1" }, "devDependencies": { "c8": "^7.0.0", From 3cb50645832de34b9e34ba219d88da8444548ab6 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 24 May 2021 20:27:09 -0700 Subject: [PATCH 34/60] chore: release 3.7.0 (#256) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index dde25d1f61..e7c8513223 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^3.6.1" + "@google-cloud/secret-manager": "^3.7.0" }, "devDependencies": { "c8": "^7.0.0", From 483e81975afea19d83b91935b868eff14389b1c3 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 25 May 2021 18:26:17 -0400 Subject: [PATCH 35/60] chore: release 3.7.1 (#259) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index e7c8513223..ef6699036c 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^3.7.0" + "@google-cloud/secret-manager": "^3.7.1" }, "devDependencies": { "c8": "^7.0.0", From cc4b9a31c4d0f96df0d83fc77a621d6df89f49d6 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 24 Jun 2021 18:08:39 +0000 Subject: [PATCH 36/60] chore: release 3.7.2 (#270) :robot: I have created a release \*beep\* \*boop\* --- ### [3.7.2](https://www.github.com/googleapis/nodejs-secret-manager/compare/v3.7.1...v3.7.2) (2021-06-24) ### Bug Fixes * make request optional in all cases ([#269](https://www.github.com/googleapis/nodejs-secret-manager/issues/269)) ([99596db](https://www.github.com/googleapis/nodejs-secret-manager/commit/99596dbe31a9837fa903604305547ef8307c11bb)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index ef6699036c..c236395a65 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^3.7.1" + "@google-cloud/secret-manager": "^3.7.2" }, "devDependencies": { "c8": "^7.0.0", From 405a6a8e1191c81813576d62afd3a5e62fd6d76b Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 30 Jun 2021 16:40:51 +0000 Subject: [PATCH 37/60] chore: release 3.7.3 (#275) :robot: I have created a release \*beep\* \*boop\* --- ### [3.7.3](https://www.github.com/googleapis/nodejs-secret-manager/compare/v3.7.2...v3.7.3) (2021-06-30) ### Bug Fixes * **deps:** google-gax v2.17.0 with mTLS ([#273](https://www.github.com/googleapis/nodejs-secret-manager/issues/273)) ([9988608](https://www.github.com/googleapis/nodejs-secret-manager/commit/9988608f48b46485d0f5177f2a2e02e5997528cf)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index c236395a65..bf2075f2f9 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^3.7.2" + "@google-cloud/secret-manager": "^3.7.3" }, "devDependencies": { "c8": "^7.0.0", From 3ecf3d4506fba17cb59785d0bffeaf1e29e45023 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 13 Jul 2021 12:15:38 -0700 Subject: [PATCH 38/60] chore: release 3.8.0 (#277) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index bf2075f2f9..4d7c550644 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^3.7.3" + "@google-cloud/secret-manager": "^3.8.0" }, "devDependencies": { "c8": "^7.0.0", From db4ad1c03e932005cdc23d7e8bda1bc22bb95513 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Fri, 16 Jul 2021 12:52:19 -0700 Subject: [PATCH 39/60] chore: release 3.8.1 (#280) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 4d7c550644..588558e691 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^3.8.0" + "@google-cloud/secret-manager": "^3.8.1" }, "devDependencies": { "c8": "^7.0.0", From 52bbb59e2400dce1dc8babc9d7730250b93de426 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Fri, 30 Jul 2021 19:34:25 +0000 Subject: [PATCH 40/60] chore: release 3.9.0 (#285) :robot: I have created a release \*beep\* \*boop\* --- ## [3.9.0](https://www.github.com/googleapis/nodejs-secret-manager/compare/v3.8.1...v3.9.0) (2021-07-30) ### Features * In Secret Manager, users can now use filter to customize the output of ListSecrets/ListSecretVersions calls ([#283](https://www.github.com/googleapis/nodejs-secret-manager/issues/283)) ([063691a](https://www.github.com/googleapis/nodejs-secret-manager/commit/063691a87291fab82037e9b444812dcf0724eb0c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 588558e691..e77ab44142 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^3.8.1" + "@google-cloud/secret-manager": "^3.9.0" }, "devDependencies": { "c8": "^7.0.0", From 6388952a43ea407d67bacd0926da1b0a5f0256ad Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 17 Aug 2021 17:04:20 +0000 Subject: [PATCH 41/60] chore: release 3.9.1 (#290) :robot: I have created a release \*beep\* \*boop\* --- ### [3.9.1](https://www.github.com/googleapis/nodejs-secret-manager/compare/v3.9.0...v3.9.1) (2021-08-17) ### Bug Fixes * **deps:** google-gax v2.24.1 ([#289](https://www.github.com/googleapis/nodejs-secret-manager/issues/289)) ([e802581](https://www.github.com/googleapis/nodejs-secret-manager/commit/e802581bf44ce6175cefdd13e8aeb6e107cb0cd2)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index e77ab44142..0105e12f45 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^3.9.0" + "@google-cloud/secret-manager": "^3.9.1" }, "devDependencies": { "c8": "^7.0.0", From 04cd30ded374283bb85fbf5f0a48996261570c1c Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 24 Aug 2021 08:30:58 -0700 Subject: [PATCH 42/60] chore: release 3.10.0 (#292) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 0105e12f45..4e33dcd1bd 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^3.9.1" + "@google-cloud/secret-manager": "^3.10.0" }, "devDependencies": { "c8": "^7.0.0", From 1dac2dd6171a451d59de3782483f95a89846b768 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Fri, 10 Sep 2021 10:53:29 -0700 Subject: [PATCH 43/60] chore: release 3.10.1 (#296) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 4e33dcd1bd..7da337c118 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^3.10.0" + "@google-cloud/secret-manager": "^3.10.1" }, "devDependencies": { "c8": "^7.0.0", From 0bfc9d7b2f2f712c59db6636d1cf0d792649b5f9 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 10 Nov 2021 12:03:22 -0500 Subject: [PATCH 44/60] docs(samples): add example tags to generated samples (#312) PiperOrigin-RevId: 408439482 Source-Link: https://github.com/googleapis/googleapis/commit/b9f61843dc80c7c285fc34fd3a40aae55082c2b9 Source-Link: https://github.com/googleapis/googleapis-gen/commit/eb888bc214efc7bf43bf4634b470254565a659a5 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZWI4ODhiYzIxNGVmYzdiZjQzYmY0NjM0YjQ3MDI1NDU2NWE2NTlhNSJ9 --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 7da337c118..68275be3d1 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -8,7 +8,7 @@ "author": "Google LLC", "repository": "googleapis/nodejs-secret-manager", "engines": { - "node": ">=8" + "node": ">=10" }, "scripts": { "test": "c8 mocha --recursive test/ --timeout=800000" From 305e836461ef5c0f97227c273424b8ec771b6af5 Mon Sep 17 00:00:00 2001 From: Oskar Damkjaer Date: Wed, 17 Nov 2021 21:09:57 +0000 Subject: [PATCH 45/60] samples: update getSecret sample to include version (#311) Co-authored-by: Benjamin E. Coe --- secret-manager/getSecret.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/getSecret.js b/secret-manager/getSecret.js index 55b1acd6a4..f84725ee45 100644 --- a/secret-manager/getSecret.js +++ b/secret-manager/getSecret.js @@ -19,7 +19,7 @@ async function main(name = 'projects/my-project/secrets/my-secret') { /** * TODO(developer): Uncomment these variables before running the sample. */ - // const name = 'projects/my-project/secrets/my-secret'; + // const name = 'projects/my-project/secrets/my-secret/versions/my-version'; // Imports the Secret Manager library const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); From 3635d98ca1e51a16a561361ac9f33ebc47f8c0ea Mon Sep 17 00:00:00 2001 From: "Benjamin E. Coe" Date: Wed, 17 Nov 2021 23:02:25 +0000 Subject: [PATCH 46/60] Revert "samples: update getSecret sample to include version (#311)" (#313) This reverts commit ddf8546fa576b36c6094e73aad8181c102ff5f41. --- secret-manager/getSecret.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/getSecret.js b/secret-manager/getSecret.js index f84725ee45..55b1acd6a4 100644 --- a/secret-manager/getSecret.js +++ b/secret-manager/getSecret.js @@ -19,7 +19,7 @@ async function main(name = 'projects/my-project/secrets/my-secret') { /** * TODO(developer): Uncomment these variables before running the sample. */ - // const name = 'projects/my-project/secrets/my-secret/versions/my-version'; + // const name = 'projects/my-project/secrets/my-secret'; // Imports the Secret Manager library const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); From ca5dada86e63e1637ff1d3847e1c89499f147e88 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 8 Feb 2022 08:38:47 -0800 Subject: [PATCH 47/60] chore(main): release 3.11.0 (#336) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 68275be3d1..0db686fd2f 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^3.10.1" + "@google-cloud/secret-manager": "^3.11.0" }, "devDependencies": { "c8": "^7.0.0", From 6be8257e23458d353709a6ff55a68100e32e794d Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 11 Apr 2022 16:41:28 -0400 Subject: [PATCH 48/60] chore(main): release 3.12.0 (#357) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Benjamin E. Coe --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 0db686fd2f..7d7d928602 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^3.11.0" + "@google-cloud/secret-manager": "^3.12.0" }, "devDependencies": { "c8": "^7.0.0", From 0b8d87d30b91f020902b2aea8e867e558e90d41b Mon Sep 17 00:00:00 2001 From: sofisl <55454395+sofisl@users.noreply.github.com> Date: Thu, 19 May 2022 17:09:43 -0700 Subject: [PATCH 49/60] build!: update library to use Node 12 (#371) * build!: Update library to use Node 12 Co-authored-by: Summer Ji Co-authored-by: Owl Bot --- secret-manager/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 7d7d928602..c0efa04a30 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -8,7 +8,7 @@ "author": "Google LLC", "repository": "googleapis/nodejs-secret-manager", "engines": { - "node": ">=10" + "node": ">=12.0.0" }, "scripts": { "test": "c8 mocha --recursive test/ --timeout=800000" @@ -22,4 +22,4 @@ "mocha": "^8.0.0", "uuid": "^8.0.0" } -} +} \ No newline at end of file From edbdfb716c75beaff736015d603954476fe731b5 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 6 Jun 2022 11:54:21 -0400 Subject: [PATCH 50/60] chore(main): release 4.0.0 (#372) See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Owl Bot --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index c0efa04a30..8cad202d4d 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^3.12.0" + "@google-cloud/secret-manager": "^4.0.0" }, "devDependencies": { "c8": "^7.0.0", From 14f948cef5464ab964b368ad982f836efc29d0ed Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 30 Jun 2022 19:24:11 +0000 Subject: [PATCH 51/60] chore(main): release 4.0.1 (#381) :robot: I have created a release *beep* *boop* --- ## [4.0.1](https://github.com/googleapis/nodejs-secret-manager/compare/v4.0.0...v4.0.1) (2022-06-30) ### Bug Fixes * **docs:** describe fallback rest option ([#379](https://github.com/googleapis/nodejs-secret-manager/issues/379)) ([368cff5](https://github.com/googleapis/nodejs-secret-manager/commit/368cff507737eba4e57fe154d748e0756aaf83d3)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 8cad202d4d..ec692dcb9a 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^4.0.0" + "@google-cloud/secret-manager": "^4.0.1" }, "devDependencies": { "c8": "^7.0.0", From bb84e05e975a97e4abe2d89a0fc31df8993e2e43 Mon Sep 17 00:00:00 2001 From: nataliesalvati <105504539+nataliesalvati@users.noreply.github.com> Date: Tue, 9 Aug 2022 14:08:31 -0400 Subject: [PATCH 52/60] feat: add code samples for secret manager access by alias (#373) * feat: add code samples for secret manager access by alias See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Benjamin E. Coe Co-authored-by: Owl Bot --- secret-manager/test/secretmanager.test.js | 5 +++ secret-manager/updateSecretWithAlias.js | 51 +++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 secret-manager/updateSecretWithAlias.js diff --git a/secret-manager/test/secretmanager.test.js b/secret-manager/test/secretmanager.test.js index a428f6f273..b6c452dab9 100644 --- a/secret-manager/test/secretmanager.test.js +++ b/secret-manager/test/secretmanager.test.js @@ -114,6 +114,11 @@ describe('Secret Manager samples', () => { assert.match(output, new RegExp(`Updated secret ${secret.name}`)); }); + it('updates a secret with an alias', async () => { + const output = execSync(`node updateSecretWithAlias.js ${secret.name}`); + assert.match(output, new RegExp(`Updated secret ${secret.name}`)); + }); + it('deletes a secret', async () => { const output = execSync( `node deleteSecret.js projects/${projectId}/secrets/${secretId}-2` diff --git a/secret-manager/updateSecretWithAlias.js b/secret-manager/updateSecretWithAlias.js new file mode 100644 index 0000000000..7f96aa4f7c --- /dev/null +++ b/secret-manager/updateSecretWithAlias.js @@ -0,0 +1,51 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +async function main(name = 'projects/my-project/secrets/my-secret') { + // [START secretmanager_update_secret_with_alias] + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + // const name = 'projects/my-project/secrets/my-secret'; + + // Imports the Secret Manager library + const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); + + // Instantiates a client + const client = new SecretManagerServiceClient(); + + async function updateSecret() { + const [secret] = await client.updateSecret({ + secret: { + name: name, + versionAliases: { + test: 1, + }, + }, + updateMask: { + paths: ['version_aliases'], + }, + }); + + console.info(`Updated secret ${secret.name}`); + } + + updateSecret(); + // [END secretmanager_update_secret_with_alias] +} + +const args = process.argv.slice(2); +main(...args).catch(console.error); From 3796e9b7754e1cf3f0f25cacdec4973316bdbcef Mon Sep 17 00:00:00 2001 From: Kapish Date: Wed, 17 Aug 2022 16:40:24 +0530 Subject: [PATCH 53/60] docs(samples): Added sample for creating Secret with UserManaged replication (#388) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * added create ummr secret sample * added test for create ummr secret * fix dependency version * lint changes * updated copyright * updated comment * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- secret-manager/createUmmrSecret.js | 57 +++++++++++++++++++++++ secret-manager/test/secretmanager.test.js | 17 +++++++ 2 files changed, 74 insertions(+) create mode 100644 secret-manager/createUmmrSecret.js diff --git a/secret-manager/createUmmrSecret.js b/secret-manager/createUmmrSecret.js new file mode 100644 index 0000000000..f6aaa8c873 --- /dev/null +++ b/secret-manager/createUmmrSecret.js @@ -0,0 +1,57 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +'use strict'; + +async function main( + parent = 'projects/my-project', + secretId = 'my-secret', + ...locations +) { + /** + * TODO(developer): Uncomment these variables before running the sample. + */ + // const parent = 'projects/my-project'; + // const secretId = 'my-secret'; + // const locations = ['us-east1', 'us-east4', 'us-west1']; + + // Imports the Secret Manager library + const {SecretManagerServiceClient} = require('@google-cloud/secret-manager'); + + // Instantiates a client + const client = new SecretManagerServiceClient(); + + async function createSecret() { + const [secret] = await client.createSecret({ + parent: parent, + secretId: secretId, + secret: { + replication: { + userManaged: { + replicas: locations.map(x => { + return {location: x}; + }), + }, + }, + }, + }); + + console.log(`Created secret ${secret.name}`); + } + + createSecret(); +} + +const args = process.argv.slice(2); +main(...args).catch(console.error); diff --git a/secret-manager/test/secretmanager.test.js b/secret-manager/test/secretmanager.test.js index b6c452dab9..6a2f8444cd 100644 --- a/secret-manager/test/secretmanager.test.js +++ b/secret-manager/test/secretmanager.test.js @@ -81,6 +81,16 @@ describe('Secret Manager samples', () => { throw err; } } + + try { + await client.deleteSecret({ + name: `${secret.name}-3`, + }); + } catch (err) { + if (!err.message.includes('NOT_FOUND')) { + throw err; + } + } }); it('runs the quickstart', async () => { @@ -99,6 +109,13 @@ describe('Secret Manager samples', () => { assert.match(output, new RegExp('Created secret')); }); + it('creates a secret with userManaged replication', async () => { + const output = execSync( + `node createUmmrSecret.js projects/${projectId} ${secretId}-3 us-east1 us-east4` + ); + assert.match(output, new RegExp('Created secret')); + }); + it('lists secrets', async () => { const output = execSync(`node listSecrets.js projects/${projectId}`); assert.match(output, new RegExp(`${secret.name}`)); From f32759072acb1e294c97bc44e4982eeb3273088b Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 23 Aug 2022 17:14:04 +0530 Subject: [PATCH 54/60] chore(main): release 4.1.0 (#389) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(main): release 4.1.0 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Owl Bot --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index ec692dcb9a..b461f348ca 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^4.0.1" + "@google-cloud/secret-manager": "^4.1.0" }, "devDependencies": { "c8": "^7.0.0", From 100f137591f61b0ee6fa52dc8e2f605194be2c63 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Fri, 26 Aug 2022 12:23:42 -0700 Subject: [PATCH 55/60] chore(main): release 4.1.1 (#397) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(main): release 4.1.1 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Owl Bot --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index b461f348ca..0cedf81bbe 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^4.1.0" + "@google-cloud/secret-manager": "^4.1.1" }, "devDependencies": { "c8": "^7.0.0", From d9432da4b30a0836d65d19ec174767c86be6e0dd Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Wed, 7 Sep 2022 17:51:56 -0400 Subject: [PATCH 56/60] chore(main): release 4.1.2 (#400) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(main): release 4.1.2 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Owl Bot --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 0cedf81bbe..a07ca566fa 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^4.1.1" + "@google-cloud/secret-manager": "^4.1.2" }, "devDependencies": { "c8": "^7.0.0", From 336dd79ed465d147d1f8a6ef1549a21a7cedb231 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 9 Sep 2022 03:47:26 +0200 Subject: [PATCH 57/60] chore(deps): update dependency uuid to v9 (#401) --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index a07ca566fa..965d0b23a8 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -20,6 +20,6 @@ "c8": "^7.0.0", "chai": "^4.2.0", "mocha": "^8.0.0", - "uuid": "^8.0.0" + "uuid": "^9.0.0" } } \ No newline at end of file From dbc2527b3cf338ac2eefdaa4f7331b5574ea64c3 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 22 Sep 2022 14:20:23 -0700 Subject: [PATCH 58/60] chore(main): release 4.1.3 (#404) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(main): release 4.1.3 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Owl Bot --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index 965d0b23a8..da6409b5f8 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^4.1.2" + "@google-cloud/secret-manager": "^4.1.3" }, "devDependencies": { "c8": "^7.0.0", From ab4721cd0c2fb703fd744e8d036fc56f774bfb30 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Fri, 11 Nov 2022 01:28:17 +0000 Subject: [PATCH 59/60] chore(main): release 4.1.4 (#415) :robot: I have created a release *beep* *boop* --- ## [4.1.4](https://togithub.com/googleapis/nodejs-secret-manager/compare/v4.1.3...v4.1.4) (2022-11-11) ### Bug Fixes * **deps:** Use google-gax v3.5.2 ([#413](https://togithub.com/googleapis/nodejs-secret-manager/issues/413)) ([1652509](https://togithub.com/googleapis/nodejs-secret-manager/commit/16525099e4a28b466ebfa067a001124d253c8992)) --- This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please). --- secret-manager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret-manager/package.json b/secret-manager/package.json index da6409b5f8..84a1101323 100644 --- a/secret-manager/package.json +++ b/secret-manager/package.json @@ -14,7 +14,7 @@ "test": "c8 mocha --recursive test/ --timeout=800000" }, "dependencies": { - "@google-cloud/secret-manager": "^4.1.3" + "@google-cloud/secret-manager": "^4.1.4" }, "devDependencies": { "c8": "^7.0.0", From 0634195bbf6372f1a6139fd0c141ace9d8b2e5b0 Mon Sep 17 00:00:00 2001 From: Ahrar Monsur Date: Fri, 18 Nov 2022 15:22:20 -0500 Subject: [PATCH 60/60] Adds workflow config for secret-manager/ --- .github/workflows/secret-manager.yaml | 68 +++++++++++++++++++++++++++ .github/workflows/workflows.json | 1 + 2 files changed, 69 insertions(+) create mode 100644 .github/workflows/secret-manager.yaml diff --git a/.github/workflows/secret-manager.yaml b/.github/workflows/secret-manager.yaml new file mode 100644 index 0000000000..e4838f3af5 --- /dev/null +++ b/.github/workflows/secret-manager.yaml @@ -0,0 +1,68 @@ +name: secret-manager +on: + push: + branches: + - main + paths: + - 'secret-manager/**' + pull_request: + paths: + - 'secret-manager/**' + pull_request_target: + types: [labeled] + paths: + - 'secret-manager/**' + schedule: + - cron: '0 0 * * 0' +jobs: + test: + if: ${{ github.event.action != 'labeled' || github.event.label.name == 'actions:force-run' }} + runs-on: ubuntu-latest + timeout-minutes: 60 + permissions: + contents: 'write' + pull-requests: 'write' + id-token: 'write' + steps: + - uses: actions/checkout@v3.1.0 + with: + ref: ${{github.event.pull_request.head.sha}} + - uses: 'google-github-actions/auth@v1.0.0' + with: + workload_identity_provider: 'projects/1046198160504/locations/global/workloadIdentityPools/github-actions-pool/providers/github-actions-provider' + service_account: 'kokoro-system-test@long-door-651.iam.gserviceaccount.com' + create_credentials_file: 'true' + access_token_lifetime: 600s + - uses: actions/setup-node@v3.5.1 + with: + node-version: 16 + - run: npm install + working-directory: secret-manager + - run: npm test + working-directory: secret-manager + env: + MOCHA_REPORTER_SUITENAME: secret_manager + MOCHA_REPORTER_OUTPUT: secret_manager_sponge_log.xml + MOCHA_REPORTER: xunit + - if: ${{ github.event.action == 'labeled' && github.event.label.name == 'actions:force-run' }} + uses: actions/github-script@v6 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + try { + await github.rest.issues.removeLabel({ + name: 'actions:force-run', + owner: 'GoogleCloudPlatform', + repo: 'nodejs-docs-samples', + issue_number: context.payload.pull_request.number + }); + } catch (e) { + if (!e.message.includes('Label does not exist')) { + throw e; + } + } + - if: ${{ github.event_name == 'schedule'}} + run: | + curl https://github.com/googleapis/repo-automation-bots/releases/download/flakybot-1.1.0/flakybot -o flakybot -s -L + chmod +x ./flakybot + ./flakybot --repo GoogleCloudPlatform/nodejs-docs-samples --commit_hash ${{github.sha}} --build_url https://github.com/${{github.repository}}/actions/runs/${{github.run_id}} diff --git a/.github/workflows/workflows.json b/.github/workflows/workflows.json index e3c110eeed..8f0d5b4f77 100644 --- a/.github/workflows/workflows.json +++ b/.github/workflows/workflows.json @@ -59,6 +59,7 @@ "datastore/functions", "service-directory/snippets", "scheduler", + "secret-manager", "speech", "talent", "translate",