示例#1
0
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)
示例#2
0
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
示例#3
0
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
示例#4
0
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)