def main()

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")