#!/usr/bin/env python

from mixcoatl.admin.account import Account
import argparse
import sys

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('--cloudid', '-c', help="DCM Cloud ID.")
    parser.add_argument('--accountid', '-i', help="DCM Account ID.")
    parser.add_argument('--accountnumber', '-n', help="Cloud credential's account number.")
    parser.add_argument('--accesskey', '-a', help="Cloud credential's access key.")
    parser.add_argument('--secretkey', '-s', help="Cloud credential's secrety key.")

    cmd_args = parser.parse_args()

    if None in [cmd_args.cloudid, cmd_args.accountid, cmd_args.accountnumber,
                cmd_args.accesskey, cmd_args.secretkey]:
        parser.print_help()
        sys.exit(1)

    account = Account(cmd_args.accountid)
    load_result = account.load()

    if load_result is not None:
        print("Account ID %s does not exist." % cmd_args.accountid)
        sys.exit(1)
    
    result = account.assign_cloud(cmd_args.cloudid, cmd_args.accountnumber,
                                  cmd_args.accesskey, cmd_args.secretkey)

    print(result)
