Skip to content

Commit

Permalink
docs(samples): add sample to update secret with alias (#307)
Browse files Browse the repository at this point in the history
Update code samples for Access By alias Launch

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-secret-manager/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)

Fixes #<issue_number_goes_here> 🦕
  • Loading branch information
nataliesalvati committed Aug 8, 2022
1 parent 0822602 commit 6a7535d
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 0 deletions.
7 changes: 7 additions & 0 deletions secretmanager/snippets/snippets_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
from list_secrets_with_filter import list_secrets_with_filter
from quickstart import quickstart
from update_secret import update_secret
from update_secret_with_alias import update_secret_with_alias
from update_secret_with_etag import update_secret_with_etag


Expand Down Expand Up @@ -290,3 +291,9 @@ def test_update_secret_with_etag(secret):
project_id, secret_id, etag = secret
secret = update_secret_with_etag(project_id, secret_id, etag)
assert secret.labels["secretmanager"] == "rocks"


def test_update_secret_with_alias(secret_version):
project_id, secret_id, version_id, _ = secret_version
secret = update_secret_with_alias(project_id, secret_id)
assert secret.version_aliases["test"] == 1
56 changes: 56 additions & 0 deletions secretmanager/snippets/update_secret_with_alias.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
#!/usr/bin/env python

# 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
#
# http://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

import argparse


# [START secretmanager_update_secret_with_alias]
def update_secret_with_alias(project_id, secret_id):
"""
Update the metadata about an existing secret.
"""

# Import the Secret Manager client library.
from google.cloud import secretmanager

# Create the Secret Manager client.
client = secretmanager.SecretManagerServiceClient()

# Build the resource name of the secret.
name = client.secret_path(project_id, secret_id)

# Update the secret.
secret = {"name": name, "version_aliases": {"test": 1}}
update_mask = {"paths": ["version_aliases"]}
response = client.update_secret(
request={"secret": secret, "update_mask": update_mask}
)

# Print the new secret name.
print("Updated secret: {}".format(response.name))
# [END secretmanager_update_secret_with_alias]

return response


if __name__ == "__main__":
parser = argparse.ArgumentParser(
description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter
)
parser.add_argument("project_id", help="id of the GCP project")
parser.add_argument("--secret-id", required=True)
args = parser.parse_args()

update_secret_with_alias(args.project_id, args.secret_id)

0 comments on commit 6a7535d

Please sign in to comment.