Skip to content

Instantly share code, notes, and snippets.

@pedrodparkes
Created September 16, 2020 15:48
Show Gist options
  • Save pedrodparkes/aa58cbd7676a7e3f917a80cff1a739c5 to your computer and use it in GitHub Desktop.
Save pedrodparkes/aa58cbd7676a7e3f917a80cff1a739c5 to your computer and use it in GitHub Desktop.
aws secrets manager replicator - replicate existing secret under new name in same aws region
import boto3
from os import environ
from botocore.config import Config
AWS_PROFILE_NAME = 'ops-prod'
AWS_REGION = 'eu-central-1'
SourceSecretArn = 'arn:aws:secretsmanager:eu-central-1:<account_name>:secret:backend/secret_values-uAIAFz'
NewSecretName = 'newsecretname/secret_values'
boto3.setup_default_session(profile_name=AWS_PROFILE_NAME)
targetRegion = AWS_REGION
smSource = boto3.client('secretsmanager', region_name=targetRegion)
smTarget = boto3.client('secretsmanager', region_name=targetRegion)
newSecret = smSource.get_secret_value(SecretId = SourceSecretArn)
currentVersion = newSecret['VersionId']
secretName = newSecret['Name']
secretMeta = smSource.describe_secret(SecretId = SourceSecretArn)
smTarget.create_secret(
Name = NewSecretName,
ClientRequestToken = currentVersion,
SecretString = newSecret['SecretString'],
)
print('Secret "{0}" replicated successfully to Secret "{1}"'.format(secretName, NewSecretName))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment