From ef61006a5adf4c92f77731843a72d80c85bc2536 Mon Sep 17 00:00:00 2001 From: Jay Lau Date: Mon, 22 Dec 2014 22:22:48 -0500 Subject: [PATCH] Implement client for service operations Change-Id: I81a85321887a4cd099a0aa721c9d3b87ff46daec --- magnumclient/api/shell.py | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/magnumclient/api/shell.py b/magnumclient/api/shell.py index 73e43d30..ed2000f5 100644 --- a/magnumclient/api/shell.py +++ b/magnumclient/api/shell.py @@ -46,6 +46,10 @@ def _show_pod(pod): utils.print_dict(pod._info) +def _show_service(service): + utils.print_dict(service._info) + + def do_bay_list(cs, args): """Print a list of available bays.""" bays = cs.bays.list() @@ -215,19 +219,42 @@ def do_pod_show(cs, args): def do_service_list(cs, args): - pass + """Print a list of services.""" + services = cs.services.list() + columns = ('uuid', 'name', 'bay_uuid') + utils.print_list(services, columns, + {'versions': _print_list_field('versions')}) +@utils.arg('--name', + metavar='', + help='Name of service to create.') +@utils.arg('--service-file', + metavar='', + help='Name of the serivce file to use for creating services.') def do_service_create(cs, args): - pass + """Create a service.""" + opts = {} + opts['name'] = args.name + opts['service_data'] = open(args.service_file).read() + service = cs.services.create(**opts) + _show_service(service) +@utils.arg('--id', + metavar='', + help='ID of the service to delete.') def do_service_delete(cs, args): - pass + """Delete a service.""" + cs.services.delete(args.id) +@utils.arg('--id', + metavar='', + help='ID of the service to show.') def do_service_show(cs, args): - pass + service = cs.services.get(args.id) + _show_service(service) #