#!/usr/bin/env python
# Creates a volume.
# Returns Job ID.

from mixcoatl.infrastructure.volume import Volume
import argparse
import sys

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('--budgetid', '-b', type=int, help='Budget ID.')
    parser.add_argument('--datacenter', '-d', type=int, help='Data Center ID in which to create the volume.')
    parser.add_argument('--description', '-D', help='The description of the volume.')
    parser.add_argument('--name', '-n', help='The name of the volume.')
    parser.add_argument('--size', '-s', type=int, help="The size of the volume in GB.")

    cmd_args = parser.parse_args()

    if None in [cmd_args.budgetid, cmd_args.datacenter, cmd_args.description, cmd_args.name, cmd_args.size]:
        parser.print_help()
        sys.exit(1)

    new_volume = Volume()

    new_volume.data_center = cmd_args.datacenter
    new_volume.description = cmd_args.description
    new_volume.name = cmd_args.name
    new_volume.size_in_gb = cmd_args.size
    new_volume.budget = cmd_args.budgetid

    result = new_volume.create()

    print(result.job_id)
