From e484db8025992ad4a91e6d6e51e862a121422767 Mon Sep 17 00:00:00 2001 From: meow Date: Fri, 25 Oct 2019 11:49:04 +0500 Subject: [PATCH] a --- commands/host.py | 31 ++++++++++++++++++------------- commands/image.py | 2 +- commands/user.py | 20 +++++++++++++++++--- commands/vm.py | 10 +++++----- 4 files changed, 41 insertions(+), 22 deletions(-) diff --git a/commands/host.py b/commands/host.py index a46961c..decd773 100755 --- a/commands/host.py +++ b/commands/host.py @@ -12,23 +12,28 @@ def host(): pass -@host.command("add") +@host.command("create") @click.option("--name", envvar="OTP_NAME", required=True) @click.option("--realm", envvar="OTP_REALM", required=True) @click.option("--seed", envvar="OTP_SEED", required=True) -@click.option("--specs", required=True) @click.option("--hostname", required=True) -def add_host(name, realm, seed, specs, hostname): - with open(specs, "r") as specs_f: - specs = json.loads(specs_f.read()) - data = { - **OTPCredentials(name, realm, seed).get_json(), - "specs": specs, - "hostname": hostname, - } - r = requests.post("{}/host/create".format(config('UCLOUD_API_SERVER')), json=data) - print(load_dump_pretty(r.content)) - +@click.option("--cpu", required=True, type=int) +@click.option("--ram", required=True) +@click.option("--os-ssd", required=True) +@click.option("--hdd", default=list(), multiple=True) +def create(name, realm, seed, hostname, cpu, ram, os_ssd, hdd): + data = { + **OTPCredentials(name, realm, seed).get_json(), + "hostname": hostname, + "specs": { + 'cpu': cpu, + 'ram': ram, + 'os-ssd': os_ssd, + 'hdd': hdd + }, + } + r = requests.post("{}/host/create".format(config('UCLOUD_API_SERVER')), json=data) + print(load_dump_pretty(r.content)) @host.command("list") def list_host(): diff --git a/commands/image.py b/commands/image.py index 815a26b..42be2c4 100755 --- a/commands/image.py +++ b/commands/image.py @@ -21,7 +21,7 @@ def _list(public, private): @image.command("create-from-file") @click.option("--name", required=True) @click.option("--uuid", required=True) -@click.option("--image_store_name", required=True) +@click.option("--image-store-name", required=True) def create_from_file(name, uuid, image_store_name): data = {"name": name, "uuid": uuid, "image_store": image_store_name} r = requests.post("{}/image/create".format(config('UCLOUD_API_SERVER')), json=data) diff --git a/commands/user.py b/commands/user.py index c5b7640..abd4266 100755 --- a/commands/user.py +++ b/commands/user.py @@ -33,7 +33,7 @@ def list_vms(name, realm, seed): @click.option("--name", envvar="OTP_NAME", required=True) @click.option("--realm", envvar="OTP_REALM", required=True) @click.option("--seed", envvar="OTP_SEED", required=True) -@click.option("--key_name", required=True) +@click.option("--key-name", required=True) @click.option("--key", required=True) def add_ssh(name, realm, seed, key_name, key): otp = OTPCredentials(name, realm, seed) @@ -42,7 +42,7 @@ def add_ssh(name, realm, seed, key_name, key): "key_name": key_name, "key": key } - r = requests.get("{}/user/add-ssh".format(config('UCLOUD_API_SERVER')), json=data) + r = requests.post("{}/user/add-ssh".format(config('UCLOUD_API_SERVER')), json=data) print(load_dump_pretty(r.content)) @@ -50,7 +50,7 @@ def add_ssh(name, realm, seed, key_name, key): @click.option("--name", envvar="OTP_NAME", required=True) @click.option("--realm", envvar="OTP_REALM", required=True) @click.option("--seed", envvar="OTP_SEED", required=True) -@click.option("--key_name", required=True) +@click.option("--key-name", required=True) def remove_ssh(name, realm, seed, key_name): otp = OTPCredentials(name, realm, seed) data = { @@ -59,3 +59,17 @@ def remove_ssh(name, realm, seed, key_name): } r = requests.get("{}/user/remove-ssh".format(config('UCLOUD_API_SERVER')), json=data) print(load_dump_pretty(r.content)) + +@user.command("get-ssh") +@click.option("--name", envvar="OTP_NAME", required=True) +@click.option("--realm", envvar="OTP_REALM", required=True) +@click.option("--seed", envvar="OTP_SEED", required=True) +@click.option("--key-name", default="") +def add_ssh(name, realm, seed, key_name): + otp = OTPCredentials(name, realm, seed) + data = { + **otp.get_json(), + "key_name": key_name, + } + r = requests.get("{}/user/get-ssh".format(config('UCLOUD_API_SERVER')), json=data) + print(load_dump_pretty(r.content)) \ No newline at end of file diff --git a/commands/vm.py b/commands/vm.py index f9497f2..8ece029 100755 --- a/commands/vm.py +++ b/commands/vm.py @@ -49,7 +49,7 @@ def create(name, realm, seed, vm_name, cpu, ram, os_ssd, hdd, image_uuid): @click.option("--name", envvar="OTP_NAME", required=True) @click.option("--realm", envvar="OTP_REALM", required=True) @click.option("--seed", envvar="OTP_SEED", required=True) -@click.option("--vm_name", required=True) +@click.option("--vm-name", required=True) @click.option("--in_support_of") def start(name, realm, seed, vm_name, in_support_of): r = vm_command("start", OTPCredentials(name, realm, seed), vm_name, in_support_of=in_support_of) @@ -60,7 +60,7 @@ def start(name, realm, seed, vm_name, in_support_of): @click.option("--name", envvar="OTP_NAME", required=True) @click.option("--realm", envvar="OTP_REALM", required=True) @click.option("--seed", envvar="OTP_SEED", required=True) -@click.option("--vm_name", required=True) +@click.option("--vm-name", required=True) @click.option("--in_support_of") def stop(name, realm, seed, vm_name, in_support_of): r = vm_command("stop", OTPCredentials(name, realm, seed), vm_name, in_support_of=in_support_of) @@ -71,7 +71,7 @@ def stop(name, realm, seed, vm_name, in_support_of): @click.option("--name", envvar="OTP_NAME", required=True) @click.option("--realm", envvar="OTP_REALM", required=True) @click.option("--seed", envvar="OTP_SEED", required=True) -@click.option("--vm_name", required=True) +@click.option("--vm-name", required=True) @click.option("--in_support_of") def delete(name, realm, seed, vm_name, in_support_of): r = vm_command("delete", OTPCredentials(name, realm, seed), vm_name, in_support_of=in_support_of) @@ -82,7 +82,7 @@ def delete(name, realm, seed, vm_name, in_support_of): @click.option("--name", envvar="OTP_NAME", required=True) @click.option("--realm", envvar="OTP_REALM", required=True) @click.option("--seed", envvar="OTP_SEED", required=True) -@click.option("--vm_name", required=True) +@click.option("--vm-name", required=True) @click.option("--in_support_of") def status(name, realm, seed, vm_name, in_support_of): otp = OTPCredentials(name, realm, seed) @@ -95,7 +95,7 @@ def status(name, realm, seed, vm_name, in_support_of): @click.option("--name", envvar="OTP_NAME", required=True) @click.option("--realm", envvar="OTP_REALM", required=True) @click.option("--seed", envvar="OTP_SEED", required=True) -@click.option("--vm_name", required=True) +@click.option("--vm-name", required=True) @click.option("--destination", required=True) @click.option("--in_support_of") def vm_migration(name, realm, seed, vm_name, destination, in_support_of):