def main(argv=None): parser = make_parser() args = parser.parse_args(argv) setup_logging(verbose=args.verbose) Amazon.set_boto_useragent("iam_syncr", VERSION) try: log.info("Making a connection to amazon") amazon = make_amazon(folder=args.folder, accounts_location=args.accounts_location, dry_run=args.dry_run) log.info("Finding the configuration") found = find_configurations(args.folder, args.filename_match) log.info("Syncing for account %s from %s", amazon.account_id, args.folder) do_sync(amazon, found, args.only_consider) if not amazon.changes: log.info("No changes were made!") except SyncrError as err: print("!" * 80) print("Something went wrong => {0} |:| {1}".format( err.__class__.__name__, err)) sys.exit(1)
def make_amazon(folder, accounts_location=None, dry_run=False): """Find the account we're using and return a setup Amazon object""" if not accounts_location: accounts_location = os.path.join(folder, '..', 'accounts.yaml') accounts = accounts_from(accounts_location) account_name = os.path.basename(folder) if account_name not in accounts: raise SyncrError("Please add this account to accounts.yaml", accounts_yaml_location=accounts_location, account_name=account_name) account_id = accounts[account_name] amazon = Amazon(account_id, account_name, accounts, dry_run=dry_run) amazon.setup() return amazon
def main(argv=None): parser = make_parser() args = parser.parse_args(argv) setup_logging(verbose=args.verbose) Amazon.set_boto_useragent("iam_syncr", VERSION) try: log.info("Making a connection to amazon") amazon = make_amazon(folder=args.folder, accounts_location=args.accounts_location, dry_run=args.dry_run) log.info("Finding the configuration") found = find_configurations(args.folder, args.filename_match) log.info("Syncing for account %s from %s", amazon.account_id, args.folder) do_sync(amazon, found, args.only_consider) if not amazon.changes: log.info("No changes were made!") except SyncrError as err: print("!" * 80) print("Something went wrong => {0} |:| {1}".format(err.__class__.__name__, err)) sys.exit(1)