summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cli/cli.py5
-rw-r--r--cli/objects/client.py14
2 files changed, 18 insertions, 1 deletions
diff --git a/cli/cli.py b/cli/cli.py
index 47ede6b..c23564c 100644
--- a/cli/cli.py
+++ b/cli/cli.py
@@ -48,13 +48,16 @@ class OgCLI():
self.rest = OgREST(cfg['ip'], cfg['port'], cfg['api_token'])
def list(self, args):
- choices = ['clients', 'scopes', 'modes', 'hardware']
+ choices = ['clients', 'scopes', 'modes', 'hardware',
+ 'client']
parser = argparse.ArgumentParser()
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':
diff --git a/cli/objects/client.py b/cli/objects/client.py
index 9404635..e7e3d31 100644
--- a/cli/objects/client.py
+++ b/cli/objects/client.py
@@ -28,3 +28,17 @@ class OgClient():
'type': 'computer'}}
r = rest.get('/hardware', payload=payload)
print(r.json())
+
+ @staticmethod
+ def get_client_properties(rest, args):
+ parser = argparse.ArgumentParser()
+ parser.add_argument('--id',
+ nargs=1,
+ required=True,
+ help='ID of the computer scope')
+ parsed_args = parser.parse_args(args)
+
+ payload = {'scope': {'id': int(parsed_args.id[0]),
+ 'type': 'computer'}}
+ r = rest.get('/client/properties', payload=payload)
+ print(r.json())