def amazon_accounts(): """ Pre-populates standard AWS owned accounts """ import os import json from security_monkey.datastore import Account, AccountType data_file = os.path.join(os.path.dirname(__file__), "data", "aws_accounts.json") data = json.load(open(data_file, 'r')) app.logger.info('Adding / updating Amazon owned accounts') try: account_type_result = AccountType.query.filter( AccountType.name == 'AWS').first() if not account_type_result: account_type_result = AccountType(name='AWS') db.session.add(account_type_result) db.session.commit() db.session.refresh(account_type_result) for group, info in data.items(): for aws_account in info['accounts']: acct_name = "{group} ({region})".format( group=group, region=aws_account['region']) account = Account.query.filter( Account.number == aws_account['account_id']).first() if not account: app.logger.debug( ' Adding account {0}'.format(acct_name)) account = Account() else: app.logger.debug( ' Updating account {0}'.format(acct_name)) account.number = aws_account['account_id'] account.identifier = aws_account['account_id'] account.account_type_id = account_type_result.id account.active = False account.third_party = True account.name = acct_name account.notes = info['url'] db.session.add(account) db.session.commit() app.logger.info('Finished adding Amazon owned accounts') except Exception as e: app.logger.exception("An error occured while adding accounts") store_exception("manager-amazon-accounts", None, e)
def amazon_accounts(): """ Pre-populates standard AWS owned accounts """ import json from security_monkey.datastore import Account, AccountType data = json.load(open("data/aws_accounts.json", 'r')) app.logger.info('Adding / updating Amazon owned accounts') try: account_type_result = AccountType.query.filter(AccountType.name == 'AWS').first() if not account_type_result: account_type_result = AccountType(name='AWS') db.session.add(account_type_result) db.session.commit() db.session.refresh(account_type_result) for group, info in data.items(): for aws_account in info['accounts']: acct_name = "{group} ({region})".format(group=group, region=aws_account['region']) account = Account.query.filter(Account.identifier == aws_account['account_id']).first() if not account: app.logger.debug(' Adding account {0}'.format(acct_name)) account = Account() else: app.logger.debug(' Updating account {0}'.format(acct_name)) account.identifier = aws_account['account_id'] account.account_type_id = account_type_result.id account.active = False account.third_party = True account.name = acct_name account.notes = info['url'] db.session.add(account) db.session.commit() app.logger.info('Finished adding Amazon owned accounts') except Exception as e: app.logger.exception("An error occured while adding accounts") store_exception("manager-amazon-accounts", None, e)