#!/usr/bin/env python

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

""" NOTE: an elevated User account or Customer account is required."""
if __name__ == '__main__':
	""" Create a cloud account. """
	parser = argparse.ArgumentParser()
	parser.add_argument('--account_name', '-a', help='Account Name', required=True)
	parser.add_argument('--cloud_id', '-c', help='Cloud ID', required=True)
	parser.add_argument('--customer', '-C', help='Customer ID')
	parser.add_argument('--account_number', '-n', help='Account Number', required=True)
	parser.add_argument('--api_key', '-k', help='API Key', required=True)
	parser.add_argument('--api_secret', '-s', help='API Secret Key', required=True)
	cmd_args = parser.parse_args()

	if None in [cmd_args.account_name, cmd_args.cloud_id, cmd_args.account_number, cmd_args.api_key, cmd_args.api_secret]:
	    parser.print_help()
	    sys.exit(1)

	a = Account()
	a.account_name = cmd_args.account_name
	a.customer = cmd_args.customer
	a.account_number = cmd_args.account_number.replace('\xc2\xa0', '')
	a.cloud_id = cmd_args.cloud_id
	a.api_key_id = cmd_args.api_key
	a.api_key_secret = cmd_args.api_secret
	result = a.add()
	print result