From 8fcd7d45b3b7f52a7f3de7fcb64a8d0b14fa384a Mon Sep 17 00:00:00 2001 From: Fei Long Wang Date: Mon, 23 Nov 2015 15:39:07 +1300 Subject: [PATCH] Add cli support for flavor show v1 Change-Id: I252bee16cbacbf9396453151cdb2841c9b859e23 --- setup.cfg | 1 + zaqarclient/queues/v1/cli.py | 23 +++++++++++++++++++++++ zaqarclient/queues/v1/flavor.py | 4 ++++ 3 files changed, 28 insertions(+) diff --git a/setup.cfg b/setup.cfg index 62748e54..e9b02a7b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -63,6 +63,7 @@ openstack.messaging.v1 = pool_list = zaqarclient.queues.v1.cli:ListPools messaging_flavor_delete = zaqarclient.queues.v1.cli:DeleteFlavor messaging_flavor_update = zaqarclient.queues.v1.cli:UpdateFlavor + messaging_flavor_show = zaqarclient.queues.v1.cli:ShowFlavor openstack.cli.extension = messaging = zaqarclient.queues.cli diff --git a/zaqarclient/queues/v1/cli.py b/zaqarclient/queues/v1/cli.py index 5162a0f0..d7e66f3a 100644 --- a/zaqarclient/queues/v1/cli.py +++ b/zaqarclient/queues/v1/cli.py @@ -456,3 +456,26 @@ class DeleteFlavor(command.Command): client = _get_client(self, parsed_args) flavor_name = parsed_args.flavor_name client.flavor(flavor_name).delete() + + +class ShowFlavor(show.ShowOne): + """Display flavor details""" + + log = logging.getLogger(__name__ + ".ShowFlavor") + + def get_parser(self, prog_name): + parser = super(ShowFlavor, self).get_parser(prog_name) + parser.add_argument( + "flavor_name", + metavar="", + help="Flavor to display (name)", + ) + return parser + + def take_action(self, parsed_args): + self.log.debug("take_action(%s)", parsed_args) + client = self.app.client_manager.messaging + flavor_data = client.flavor(parsed_args.flavor_name, + auto_create=False).get() + columns = ('Name', 'Pool', 'Capabilities') + return columns, utils.get_dict_properties(flavor_data, columns) diff --git a/zaqarclient/queues/v1/flavor.py b/zaqarclient/queues/v1/flavor.py index 2644d54f..9a1e3b74 100644 --- a/zaqarclient/queues/v1/flavor.py +++ b/zaqarclient/queues/v1/flavor.py @@ -63,6 +63,10 @@ class Flavor(object): req, trans = self.client._request_and_transport() core.flavor_delete(trans, req, self.name) + def get(self): + req, trans = self.client._request_and_transport() + return core.flavor_get(trans, req, self.name, callback=None) + def create_object(parent): return lambda args: Flavor(parent, args["name"], auto_create=False)