Skip to content

Commit

Permalink
feat!: migrate to use microgen (#44)
Browse files Browse the repository at this point in the history
* feat!: migrate to use microgen

* update

* fix lint
  • Loading branch information
arithmetic1728 authored and dandhlee committed Nov 10, 2022
1 parent bd4413b commit baaef83
Show file tree
Hide file tree
Showing 17 changed files with 201 additions and 184 deletions.
22 changes: 11 additions & 11 deletions secretmanager/snippets/access_secret_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,29 +33,29 @@ def access_secret_version(project_id, secret_id, version_id):
client = secretmanager.SecretManagerServiceClient()

# Build the resource name of the secret version.
name = client.secret_version_path(project_id, secret_id, version_id)
name = f"projects/{project_id}/secrets/{secret_id}/versions/{version_id}"

# Access the secret version.
response = client.access_secret_version(name)
response = client.access_secret_version(request={"name": name})

# Print the secret payload.
#
# WARNING: Do not print the secret in a production environment - this
# snippet is showing how to access the secret material.
payload = response.payload.data.decode('UTF-8')
print('Plaintext: {}'.format(payload))
# [END secretmanager_access_secret_version]
payload = response.payload.data.decode("UTF-8")
print("Plaintext: {}".format(payload))
# [END secretmanager_access_secret_version]

return response


if __name__ == '__main__':
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', help='id of the secret to access')
parser.add_argument('version_id', help='version to access')
description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter
)
parser.add_argument("project_id", help="id of the GCP project")
parser.add_argument("secret_id", help="id of the secret to access")
parser.add_argument("version_id", help="version to access")
args = parser.parse_args()

access_secret_version(args.project_id, args.secret_id, args.version_id)
22 changes: 12 additions & 10 deletions secretmanager/snippets/add_secret_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,25 +37,27 @@ def add_secret_version(project_id, secret_id, payload):

# Convert the string payload into a bytes. This step can be omitted if you
# pass in bytes instead of a str for the payload argument.
payload = payload.encode('UTF-8')
payload = payload.encode("UTF-8")

# Add the secret version.
response = client.add_secret_version(parent, {'data': payload})
response = client.add_secret_version(
request={"parent": parent, "payload": {"data": payload}}
)

# Print the new secret version name.
print('Added secret version: {}'.format(response.name))
# [END secretmanager_add_secret_version]
print("Added secret version: {}".format(response.name))
# [END secretmanager_add_secret_version]

return response


if __name__ == '__main__':
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', help='id of the secret in which to add')
parser.add_argument('payload', help='secret material payload')
description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter
)
parser.add_argument("project_id", help="id of the GCP project")
parser.add_argument("secret_id", help="id of the secret in which to add")
parser.add_argument("payload", help="secret material payload")
args = parser.parse_args()

add_secret_version(args.project_id, args.secret_id, args.payload)
28 changes: 15 additions & 13 deletions secretmanager/snippets/create_secret.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,28 +34,30 @@ def create_secret(project_id, secret_id):
client = secretmanager.SecretManagerServiceClient()

# Build the resource name of the parent project.
parent = client.project_path(project_id)
parent = f"projects/{project_id}"

# Create the secret.
response = client.create_secret(parent, secret_id, {
'replication': {
'automatic': {},
},
})
response = client.create_secret(
request={
"parent": parent,
"secret_id": secret_id,
"secret": {"replication": {"automatic": {}}},
}
)

# Print the new secret name.
print('Created secret: {}'.format(response.name))
# [END secretmanager_create_secret]
print("Created secret: {}".format(response.name))
# [END secretmanager_create_secret]

return response


if __name__ == '__main__':
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', help='id of the secret to create')
description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter
)
parser.add_argument("project_id", help="id of the GCP project")
parser.add_argument("secret_id", help="id of the secret to create")
args = parser.parse_args()

create_secret(args.project_id, args.secret_id)
14 changes: 8 additions & 6 deletions secretmanager/snippets/delete_secret.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,18 @@ def delete_secret(project_id, secret_id):
name = client.secret_path(project_id, secret_id)

# Delete the secret.
client.delete_secret(name)
client.delete_secret(request={"name": name})


# [END secretmanager_delete_secret]


if __name__ == '__main__':
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', help='id of the secret to delete')
description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter
)
parser.add_argument("project_id", help="id of the GCP project")
parser.add_argument("secret_id", help="id of the secret to delete")
args = parser.parse_args()

delete_secret(args.project_id, args.secret_id)
20 changes: 10 additions & 10 deletions secretmanager/snippets/destroy_secret_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,24 +33,24 @@ def destroy_secret_version(project_id, secret_id, version_id):
client = secretmanager.SecretManagerServiceClient()

# Build the resource name of the secret version
name = client.secret_version_path(project_id, secret_id, version_id)
name = f"projects/{project_id}/secrets/{secret_id}/versions/{version_id}"

# Destroy the secret version.
response = client.destroy_secret_version(name)
response = client.destroy_secret_version(request={"name": name})

print('Destroyed secret version: {}'.format(response.name))
# [END secretmanager_destroy_secret_version]
print("Destroyed secret version: {}".format(response.name))
# [END secretmanager_destroy_secret_version]

return response


if __name__ == '__main__':
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', help='id of the secret from which to act')
parser.add_argument('version_id', help='id of the version to destroy')
description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter
)
parser.add_argument("project_id", help="id of the GCP project")
parser.add_argument("secret_id", help="id of the secret from which to act")
parser.add_argument("version_id", help="id of the version to destroy")
args = parser.parse_args()

destroy_secret_version(args.project_id, args.secret_id, args.version_id)
20 changes: 10 additions & 10 deletions secretmanager/snippets/disable_secret_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,24 +33,24 @@ def disable_secret_version(project_id, secret_id, version_id):
client = secretmanager.SecretManagerServiceClient()

# Build the resource name of the secret version
name = client.secret_version_path(project_id, secret_id, version_id)
name = f"projects/{project_id}/secrets/{secret_id}/versions/{version_id}"

# Disable the secret version.
response = client.disable_secret_version(name)
response = client.disable_secret_version(request={"name": name})

print('Disabled secret version: {}'.format(response.name))
# [END secretmanager_disable_secret_version]
print("Disabled secret version: {}".format(response.name))
# [END secretmanager_disable_secret_version]

return response


if __name__ == '__main__':
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', help='id of the secret from which to act')
parser.add_argument('version_id', help='id of the version to disable')
description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter
)
parser.add_argument("project_id", help="id of the GCP project")
parser.add_argument("secret_id", help="id of the secret from which to act")
parser.add_argument("version_id", help="id of the version to disable")
args = parser.parse_args()

disable_secret_version(args.project_id, args.secret_id, args.version_id)
20 changes: 10 additions & 10 deletions secretmanager/snippets/enable_secret_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,24 +33,24 @@ def enable_secret_version(project_id, secret_id, version_id):
client = secretmanager.SecretManagerServiceClient()

# Build the resource name of the secret version
name = client.secret_version_path(project_id, secret_id, version_id)
name = f"projects/{project_id}/secrets/{secret_id}/versions/{version_id}"

# Disable the secret version.
response = client.enable_secret_version(name)
response = client.enable_secret_version(request={"name": name})

print('Enabled secret version: {}'.format(response.name))
# [END secretmanager_enable_secret_version]
print("Enabled secret version: {}".format(response.name))
# [END secretmanager_enable_secret_version]

return response


if __name__ == '__main__':
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', help='id of the secret from which to act')
parser.add_argument('version_id', help='id of the version to enable')
description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter
)
parser.add_argument("project_id", help="id of the GCP project")
parser.add_argument("secret_id", help="id of the secret from which to act")
parser.add_argument("version_id", help="id of the version to enable")
args = parser.parse_args()

enable_secret_version(args.project_id, args.secret_id, args.version_id)
27 changes: 13 additions & 14 deletions secretmanager/snippets/get_secret.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,30 +36,29 @@ def get_secret(project_id, secret_id):
name = client.secret_path(project_id, secret_id)

# Get the secret.
response = client.get_secret(name)
response = client.get_secret(request={"name": name})

# Get the replication policy.
if response.replication.automatic:
replication = 'AUTOMATIC'
elif response.replication.user_managed:
replication = 'MANAGED'
if "automatic" in response.replication:
replication = "AUTOMATIC"
elif "user_managed" in response.replication:
replication = "MANAGED"
else:
raise 'Unknown replication {}'.format(response.replication)
raise "Unknown replication {}".format(response.replication)

# Print data about the secret.
print('Got secret {} with replication policy {}'.format(
response.name, replication))
# [END secretmanager_get_secret]
print("Got secret {} with replication policy {}".format(response.name, replication))
# [END secretmanager_get_secret]

return response


if __name__ == '__main__':
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', help='id of the secret to get')
description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter
)
parser.add_argument("project_id", help="id of the GCP project")
parser.add_argument("secret_id", help="id of the secret to get")
args = parser.parse_args()

get_secret(args.project_id, args.secret_id)
22 changes: 11 additions & 11 deletions secretmanager/snippets/get_secret_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,26 +34,26 @@ def get_secret_version(project_id, secret_id, version_id):
client = secretmanager.SecretManagerServiceClient()

# Build the resource name of the secret version.
name = client.secret_version_path(project_id, secret_id, version_id)
name = f"projects/{project_id}/secrets/{secret_id}/versions/{version_id}"

# Get the secret version.
response = client.get_secret_version(name)
response = client.get_secret_version(request={"name": name})

# Print information about the secret version.
state = response.State.Name(response.state)
print('Got secret version {} with state {}'.format(response.name, state))
# [END secretmanager_get_secret_version]
state = response.state.name
print("Got secret version {} with state {}".format(response.name, state))
# [END secretmanager_get_secret_version]

return response


if __name__ == '__main__':
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', help='id of the secret from which to act')
parser.add_argument('version_id', help='id of the version to get')
description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter
)
parser.add_argument("project_id", help="id of the GCP project")
parser.add_argument("secret_id", help="id of the secret from which to act")
parser.add_argument("version_id", help="id of the version to get")
args = parser.parse_args()

get_secret_version(args.project_id, args.secret_id, args.version_id)
24 changes: 11 additions & 13 deletions secretmanager/snippets/iam_grant_access.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,30 +35,28 @@ def iam_grant_access(project_id, secret_id, member):
name = client.secret_path(project_id, secret_id)

# Get the current IAM policy.
policy = client.get_iam_policy(name)
policy = client.get_iam_policy(request={"resource": name})

# Add the given member with access permissions.
policy.bindings.add(
role='roles/secretmanager.secretAccessor',
members=[member])
policy.bindings.add(role="roles/secretmanager.secretAccessor", members=[member])

# Update the IAM Policy.
new_policy = client.set_iam_policy(name, policy)
new_policy = client.set_iam_policy(request={"resource": name, "policy": policy})

# Print data about the secret.
print('Updated IAM policy on {}'.format(secret_id))
# [END secretmanager_iam_grant_access]
print("Updated IAM policy on {}".format(secret_id))
# [END secretmanager_iam_grant_access]

return new_policy


if __name__ == '__main__':
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', help='id of the secret to get')
parser.add_argument('member', help='member to grant access')
description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter
)
parser.add_argument("project_id", help="id of the GCP project")
parser.add_argument("secret_id", help="id of the secret to get")
parser.add_argument("member", help="member to grant access")
args = parser.parse_args()

iam_grant_access(args.project_id, args.secret_id, args.member)
Loading

0 comments on commit baaef83

Please sign in to comment.