import boto3 import sys from utils import get_secret, print_pgpass_lines def main(args): apollo_dev_secrets_list = [ 'apollo/dev/user_data/pg/reader', 'apollo/dev/user_data/pg/user', 'maintenance/common/apollo/dev/user_data_owner', 'maintenance/root/apollo/dev/user_data_admin', ] apollo_prod_secrets_list = [ 'apollo/prod/user_data/pg/reader', 'apollo/prod/user_data/pg/user', 'maintenance/common/apollo/prod/user_data_owner', 'maintenance/root/apollo/prod/user_data_admin', ] delphi_dev_secrets_list = [ 'delphi/dev/api/pg/data-health-user', 'delphi/dev/api/pg/reader', 'delphi/dev/api/pg/user', # 'delphi/dev/master_data/pg/reader', # 'delphi/dev/master_data/pg/user', # 'delphi/dev/pd_apidb/pg/reader', # 'delphi/dev/pd_apidb/pg/user', 'delphi/dev/pd_etldb/pg/reader', 'delphi/dev/pd_etldb/pg/user', 'delphi/dev/workflowdb/pg/reader', 'delphi/dev/workflowdb/pg/user', 'delphi/qa/api/pg/data-health-user', 'delphi/qa/api/pg/reader', 'delphi/qa/api/pg/user', # 'delphi/qa/master_data/pg/reader', # 'delphi/qa/master_data/pg/user', # 'delphi/qa/pd_apidb/pg/reader', # 'delphi/qa/pd_apidb/pg/user', 'delphi/qa/pd_etldb/pg/reader', 'delphi/qa/pd_etldb/pg/user', 'delphi/qa/workflowdb/pg/reader', 'delphi/qa/workflowdb/pg/user', 'delphi/stage/api/pg/data-health-user', 'delphi/stage/api/pg/reader', 'delphi/stage/api/pg/user', # 'delphi/stage/master_data/pg/reader', # 'delphi/stage/master_data/pg/user', # 'delphi/stage/pd_apidb/pg/reader', # 'delphi/stage/pd_apidb/pg/user', 'delphi/stage/pd_etldb/pg/reader', 'delphi/stage/pd_etldb/pg/user', 'delphi/stage/workflowdb/pg/reader', 'delphi/stage/workflowdb/pg/user', 'maintenance/common/delphi/dev/chartmetric_owner', 'maintenance/common/delphi/dev/main_owner', # 'maintenance/common/delphi/dev/master_data_owner', # 'maintenance/common/delphi/dev/pd_apidb_owner', 'maintenance/common/delphi/dev/pd_etldb_owner', 'maintenance/common/delphi/dev/slz_owner', 'maintenance/common/delphi/dev/slz_owner2', 'maintenance/common/delphi/dev/workflowdb_owner', 'maintenance/common/delphi/qa/chartmetric_owner', 'maintenance/common/delphi/qa/main_owner', # 'maintenance/common/delphi/qa/master_data_owner', # 'maintenance/common/delphi/qa/pd_apidb_owner', 'maintenance/common/delphi/qa/pd_etldb_owner', 'maintenance/common/delphi/qa/slz_owner', 'maintenance/common/delphi/qa/slz_owner2', 'maintenance/common/delphi/qa/workflowdb_owner', # 'maintenance/common/delphi/stage/autoscaler_owner', 'maintenance/common/delphi/stage/chartmetric_owner', 'maintenance/common/delphi/stage/main_owner', # 'maintenance/common/delphi/stage/master_data_owner', # 'maintenance/common/delphi/stage/pd_apidb_owner', 'maintenance/common/delphi/stage/pd_etldb_owner', 'maintenance/common/delphi/stage/slz_owner', 'maintenance/common/delphi/stage/slz_owner2', 'maintenance/common/delphi/stage/workflowdb_owner', 'maintenance/root/delphi/dev/main_admin', # 'maintenance/root/delphi/dev/master_data_admin', 'maintenance/root/delphi/dev/slz_admin', 'maintenance/root/delphi/dev/workflowdb_admin', 'maintenance/root/delphi/qa/main_admin', # 'maintenance/root/delphi/qa/master_data_admin', 'maintenance/root/delphi/qa/slz_admin', 'maintenance/root/delphi/qa/workflowdb_admin', 'maintenance/root/delphi/stage/main_admin', # 'maintenance/root/delphi/stage/master_data_admin', # 'maintenance/root/delphi/stage/pd_apidb_admin', 'maintenance/root/delphi/stage/pd_etldb_admin', 'maintenance/root/delphi/stage/slz_admin', 'maintenance/root/delphi/stage/workflowdb_admin', ] delphi_prod_secrets_list = [ 'delphi/prod/api/pg/data-health-user', 'delphi/prod/api/pg/reader', 'delphi/prod/api/pg/user', # 'delphi/prod/pd_apidb/pg/reader', # 'delphi/prod/pd_apidb/pg/user', 'delphi/prod/pd_etldb/pg/reader', 'delphi/prod/pd_etldb/pg/user', 'delphi/prod/workflowdb/pg/reader', 'delphi/prod/workflowdb/pg/user', # 'maintenance/common/delphi/prod/autoscaler_owner', 'maintenance/common/delphi/prod/chartmetric_owner', 'maintenance/common/delphi/prod/main_owner', # 'maintenance/common/delphi/prod/pd_apidb_owner', 'maintenance/common/delphi/prod/pd_etldb_owner', 'maintenance/common/delphi/prod/slz_owner', 'maintenance/common/delphi/prod/slz_owner2', 'maintenance/common/delphi/prod/workflowdb_owner', 'maintenance/root/delphi/prod/main_admin', # 'maintenance/root/delphi/prod/pd_apidb_admin', 'maintenance/root/delphi/prod/pd_etldb_admin', 'maintenance/root/delphi/prod/slz_admin', 'maintenance/root/delphi/prod/workflowdb_admin', ] core_dev_secrets_list = [ "core/dev/images/pg/reader", "core/dev/images/pg/user", "core/dev/notifications/pg/reader", "core/dev/notifications/pg/user", "core/dev/um/pg/reader", "core/dev/um/pg/user", "core/qa/images/pg/reader", "core/qa/images/pg/user", "core/qa/notifications/pg/reader", "core/qa/notifications/pg/user", "core/qa/um/pg/reader", "core/qa/um/pg/user", "maintenance/common/core/dev/images_owner", "maintenance/common/core/dev/notifications_owner", "maintenance/common/core/dev/um_owner", "maintenance/common/core/qa/images_owner", "maintenance/common/core/qa/notifications_owner", "maintenance/common/core/qa/um_owner", "maintenance/root/core/dev/images_admin", "maintenance/root/core/dev/notifications_admin", "maintenance/root/core/dev/um_admin", "maintenance/root/core/qa/images_admin", "maintenance/root/core/qa/notifications_admin", "maintenance/root/core/qa/um_admin", ] core_prod_secrets_list = [ "core/prod/notifications/pg/reader", "core/prod/notifications/pg/user", "core/prod/um/pg/reader", "core/prod/um/pg/user", "core/uat/notifications/pg/reader", "core/uat/notifications/pg/user", "core/uat/um/pg/reader", "core/uat/um/pg/user", "maintenance/common/core/prod/notifications_owner", "maintenance/common/core/prod/um_owner", "maintenance/common/core/uat/notifications_owner", "maintenance/common/core/uat/um_owner", "maintenance/root/core/prod/notifications_admin", "maintenance/root/core/prod/um_admin", "maintenance/root/core/uat/notifications_admin", "maintenance/root/core/uat/um_admin", ] profiles = [ 'gdb-apollo-dev', 'gdb-apollo-prod', 'gdb-atlas-dev', 'gdb-atlas-prod', 'gdb-delphi-dev', 'gdb-delphi-prod', ] sessions = {} for profile in profiles: sessions[profile] = ( boto3.session.Session( profile_name=profile, region_name='us-east-1' ) ) clients = {} for profile, session in sessions.items(): clients[profile] = (session.client('secretsmanager')) print('# Apollo development') print_pgpass_lines(clients['gdb-apollo-dev'], apollo_dev_secrets_list) print('# Apollo production') print_pgpass_lines(clients['gdb-apollo-prod'], apollo_prod_secrets_list) print('# Delphi development') print_pgpass_lines(clients['gdb-delphi-dev'], delphi_dev_secrets_list) print('# Delphi production') print_pgpass_lines(clients['gdb-delphi-prod'], delphi_prod_secrets_list) print('# Core development') print_pgpass_lines(clients['gdb-atlas-dev'], core_dev_secrets_list) print('# Core production') print_pgpass_lines(clients['gdb-atlas-prod'], core_prod_secrets_list) if __name__ == '__main__': sys.exit(main(sys.argv[1:]))