in resources/adhoc_scripts/create_secrets.py [0:0]
def main():
#Create boto3 client for AWS service secretmanager
client = boto3.client('secretsmanager')
#Open the file in read only and loop over each record for creating a secret for each dbname in the server.
with open('./credentials.csv',mode='r') as csvfile :
reader = csv.DictReader(csvfile)
for row in reader:
#Build the secretname using the servername and dbname
SecretName = 'dms_{}_{}_sql_server'.format(row['servername'],row['dbname'])
#create SecretString json with the credentials , ip and port details.
SecretString = {
"username":row['username'],
"password":row['password'],
"engine":row['engine'],
"host":row['ipaddress'],
"port":row['port'],
"dbname":row['dbname']
}
#Invoice boto3 api create_secret for creating the secret in the account.
try:
response = client.create_secret(
Name = SecretName,
Description='Secrets stored for db server:{} and dbname :{}'.format(row['servername'],row['dbname']),
SecretString = json.dumps(SecretString)
)
print(response)
except ClientError as e:
if e.response['Error']['Code'] == 'ResourceExistsException':
print("The requested secret " + SecretName + " already exists")