import boto3 import csv from datetime import datetime client = boto3.client('secretsmanager') def get_secrets(): secrets = [] response = client.list_secrets() secrets.extend(response['SecretList']) while 'NextToken' in response: response = client.list_secrets(NextToken=response['NextToken']) secrets.extend(response['SecretList']) return secrets def get_secrets_info(secrets): secrets_info = [] for each_secret in secrets: app_family_tag = 'None' if 'Tags' in each_secret: tags = each_secret['Tags'] j = 0 while j < len(tags): if 'application_family' in tags[j].values(): app_family_tag = tags[j] j += 1 secrets_info.append({'Name': each_secret['Name'], 'Tag': app_family_tag}) return secrets_info def create_secrets_list(secrets_info): now = datetime.now() dt_string = now.strftime('%d-%m-%Y-%H:%M:%S') secrets_columns = ['Name', 'Tag'] with open('secrets_{date_time}.csv'.format(date_time=dt_string), 'w') as csvfile: writer = csv.DictWriter(csvfile, fieldnames=secrets_columns) writer.writeheader() writer.writerows(secrets_info) def main(): """Start script.""" secrets = get_secrets() secrets_info = get_secrets_info(secrets) create_secrets_list(secrets_info) if __name__ == '__main__': main()