#!/usr/bin/env python
from mixcoatl.infrastructure.machine_image import MachineImage
import argparse
import sys

if __name__ == '__main__':
    parser = argparse.ArgumentParser(description="Update a machine images's billing code/budget")
    parser.add_argument('--machine_image_id', '-m', type=int, help='Machine Image ID', required=True)
    parser.add_argument('--billing_code', '-b', type=int, help='Billing code, also known as budget ID', required=True)
    cmd_args = parser.parse_args()

    s = MachineImage(cmd_args.machine_image_id)
    results = s.set_billing_code(cmd_args.billing_code)

    if results is True:
        print "Machine Image with ID: %s has changed to Billing Code/Budget ID: %s" % (str(cmd_args.machine_image_id), str(cmd_args.billing_code))
    else:
        print results
