summaryrefslogtreecommitdiffstats
path: root/cli/cli.py
diff options
context:
space:
mode:
Diffstat (limited to 'cli/cli.py')
-rw-r--r--cli/cli.py204
1 files changed, 103 insertions, 101 deletions
diff --git a/cli/cli.py b/cli/cli.py
index de05f55..1a71e9a 100644
--- a/cli/cli.py
+++ b/cli/cli.py
@@ -16,107 +16,109 @@ import argparse
import requests
import sys
+
class OgREST():
- def __init__(self, ip, port, api_token):
- self.URL = f'http://{ip}:{port}'
- self.HEADERS = {'Authorization' : api_token}
-
- def get(self, path, payload=None):
- try:
- r = requests.get(f'{self.URL}{path}',
- headers=self.HEADERS,
- json=payload)
- if r.status_code != 200:
- sys.exit(f"Cannot connect to ogServer: "
- f"{r.status_code} HTTP status code")
- except IOError as e:
- sys.exit(f"Cannot connect to ogServer: {e}")
- return r
-
- def post(self, path, payload):
- try:
- r = requests.post(f'{self.URL}{path}',
- headers=self.HEADERS,
- json=payload)
- print(r.text)
- if r.status_code not in {200, 202}:
- sys.exit(f"Cannot connect to ogServer: "
- f"{r.status_code} HTTP status code")
- except IOError as e:
- sys.exit(f"Cannot connect to ogServer: {e}")
- return r
+ def __init__(self, ip, port, api_token):
+ self.URL = f'http://{ip}:{port}'
+ self.HEADERS = {'Authorization': api_token}
+
+ def get(self, path, payload=None):
+ try:
+ r = requests.get(f'{self.URL}{path}',
+ headers=self.HEADERS,
+ json=payload)
+ if r.status_code != 200:
+ sys.exit(f"Cannot connect to ogServer: "
+ f"{r.status_code} HTTP status code")
+ except IOError as e:
+ sys.exit(f"Cannot connect to ogServer: {e}")
+ return r
+
+ def post(self, path, payload):
+ try:
+ r = requests.post(f'{self.URL}{path}',
+ headers=self.HEADERS,
+ json=payload)
+ print(r.text)
+ if r.status_code not in {200, 202}:
+ sys.exit(f"Cannot connect to ogServer: "
+ f"{r.status_code} HTTP status code")
+ except IOError as e:
+ sys.exit(f"Cannot connect to ogServer: {e}")
+ return r
+
class OgCLI():
- def __init__(self, cfg):
- self.rest = OgREST(cfg['ip'], cfg['port'], cfg['api_token'])
-
- def list(self, args):
- choices = ['clients', 'scopes', 'modes', 'hardware',
- 'client', 'images', 'disks']
- parser = argparse.ArgumentParser(prog='ogcli list')
- parser.add_argument('item', choices=choices)
- parsed_args = parser.parse_args([args[0]])
-
- if parsed_args.item == 'clients':
- OgClient.list_clients(self.rest)
- elif parsed_args.item == 'client':
- OgClient.get_client_properties(self.rest, args[1:])
- elif parsed_args.item == 'hardware':
- OgClient.list_client_hardware(self.rest, args[1:])
- elif parsed_args.item == 'modes':
- OgModes.list_available_modes(self.rest)
- elif parsed_args.item == 'scopes':
- OgScope.list_scopes(self.rest)
- elif parsed_args.item == 'images':
- OgImage.list_images(self.rest)
- elif parsed_args.item == 'disks':
- OgDisk.list_disks(self.rest, args[1:])
-
- def set(self, args):
- choices = ['modes', 'mode']
- parser = argparse.ArgumentParser(prog='ogcli set')
- parser.add_argument('item', choices=choices)
- parsed_args = parser.parse_args([args[0]])
-
- if parsed_args.item in choices:
- OgModes.set_modes(self.rest, args[1:])
-
- def send(self, args):
- choices = ['wol', 'poweroff', 'refresh']
- parser = argparse.ArgumentParser(prog='ogcli send')
- parser.add_argument('send_obj', choices=choices)
- parsed_args = parser.parse_args([args[0]])
-
- if parsed_args.send_obj == 'wol':
- OgWol.send_wol(self.rest, args[1:])
- elif parsed_args.send_obj == 'poweroff':
- OgPoweroff.send_poweroff(self.rest, args[1:])
- elif parsed_args.send_obj == 'refresh':
- OgClient.send_refresh(self.rest, args[1:])
-
- def restore(self, args):
- choices = ['image']
- parser = argparse.ArgumentParser(prog='ogcli restore')
- parser.add_argument('send_obj', choices=choices)
- parsed_args = parser.parse_args([args[0]])
-
- if parsed_args.send_obj == 'image':
- OgImage.restore_image(self.rest, args[1:])
-
- def create(self, args):
- choices = ['image']
- parser = argparse.ArgumentParser(prog='ogcli create')
- parser.add_argument('create_obj', choices=choices)
- parsed_args = parser.parse_args([args[0]])
-
- if parsed_args.create_obj == 'image':
- OgImage.create_image(self.rest, args[1:])
-
- def setup(self, args):
- choices = ['disk']
- parser = argparse.ArgumentParser(prog='ogcli setup')
- parser.add_argument('setup_obj', choices=choices)
- parsed_args = parser.parse_args([args[0]])
-
- if parsed_args.setup_obj == 'disk':
- OgDisk.setup_disk(self.rest, args[1:])
+ def __init__(self, cfg):
+ self.rest = OgREST(cfg['ip'], cfg['port'], cfg['api_token'])
+
+ def list(self, args):
+ choices = ['clients', 'scopes', 'modes', 'hardware',
+ 'client', 'images', 'disks']
+ parser = argparse.ArgumentParser(prog='ogcli list')
+ parser.add_argument('item', choices=choices)
+ parsed_args = parser.parse_args([args[0]])
+
+ if parsed_args.item == 'clients':
+ OgClient.list_clients(self.rest)
+ elif parsed_args.item == 'client':
+ OgClient.get_client_properties(self.rest, args[1:])
+ elif parsed_args.item == 'hardware':
+ OgClient.list_client_hardware(self.rest, args[1:])
+ elif parsed_args.item == 'modes':
+ OgModes.list_available_modes(self.rest)
+ elif parsed_args.item == 'scopes':
+ OgScope.list_scopes(self.rest)
+ elif parsed_args.item == 'images':
+ OgImage.list_images(self.rest)
+ elif parsed_args.item == 'disks':
+ OgDisk.list_disks(self.rest, args[1:])
+
+ def set(self, args):
+ choices = ['modes', 'mode']
+ parser = argparse.ArgumentParser(prog='ogcli set')
+ parser.add_argument('item', choices=choices)
+ parsed_args = parser.parse_args([args[0]])
+
+ if parsed_args.item in choices:
+ OgModes.set_modes(self.rest, args[1:])
+
+ def send(self, args):
+ choices = ['wol', 'poweroff', 'refresh']
+ parser = argparse.ArgumentParser(prog='ogcli send')
+ parser.add_argument('send_obj', choices=choices)
+ parsed_args = parser.parse_args([args[0]])
+
+ if parsed_args.send_obj == 'wol':
+ OgWol.send_wol(self.rest, args[1:])
+ elif parsed_args.send_obj == 'poweroff':
+ OgPoweroff.send_poweroff(self.rest, args[1:])
+ elif parsed_args.send_obj == 'refresh':
+ OgClient.send_refresh(self.rest, args[1:])
+
+ def restore(self, args):
+ choices = ['image']
+ parser = argparse.ArgumentParser(prog='ogcli restore')
+ parser.add_argument('send_obj', choices=choices)
+ parsed_args = parser.parse_args([args[0]])
+
+ if parsed_args.send_obj == 'image':
+ OgImage.restore_image(self.rest, args[1:])
+
+ def create(self, args):
+ choices = ['image']
+ parser = argparse.ArgumentParser(prog='ogcli create')
+ parser.add_argument('create_obj', choices=choices)
+ parsed_args = parser.parse_args([args[0]])
+
+ if parsed_args.create_obj == 'image':
+ OgImage.create_image(self.rest, args[1:])
+
+ def setup(self, args):
+ choices = ['disk']
+ parser = argparse.ArgumentParser(prog='ogcli setup')
+ parser.add_argument('setup_obj', choices=choices)
+ parsed_args = parser.parse_args([args[0]])
+
+ if parsed_args.setup_obj == 'disk':
+ OgDisk.setup_disk(self.rest, args[1:])