From 112d7b0e0966599aa940de4c0598cea759780785 Mon Sep 17 00:00:00 2001 From: Brad Behle Date: Thu, 4 Feb 2016 17:19:37 -0600 Subject: Add "os subnet show" command using SDK Implement the openstack client subnet show command using SDK calls. This shows the details of a specific subnet. Co-Authored-By: Terry Howe Partially implements: blueprint neutron-client Closes-Bug: #1542359 Change-Id: Iaf18b9e44af35ca0cd61033b468e0c60cd3b05d6 --- openstackclient/network/v2/subnet.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'openstackclient/network') diff --git a/openstackclient/network/v2/subnet.py b/openstackclient/network/v2/subnet.py index b948c656..7ed02a3a 100644 --- a/openstackclient/network/v2/subnet.py +++ b/openstackclient/network/v2/subnet.py @@ -30,6 +30,14 @@ _formatters = { } +def _get_columns(item): + columns = item.keys() + if 'tenant_id' in columns: + columns.remove('tenant_id') + columns.append('project_id') + return tuple(sorted(columns)) + + class ListSubnet(command.Lister): """List subnets""" @@ -61,3 +69,23 @@ class ListSubnet(command.Lister): s, columns, formatters=_formatters, ) for s in data)) + + +class ShowSubnet(command.ShowOne): + """Show subnet details""" + + def get_parser(self, prog_name): + parser = super(ShowSubnet, self).get_parser(prog_name) + parser.add_argument( + 'subnet', + metavar="", + help="Subnet to show (name or ID)" + ) + return parser + + def take_action(self, parsed_args): + obj = self.app.client_manager.network.find_subnet(parsed_args.subnet, + ignore_missing=False) + columns = _get_columns(obj) + data = utils.get_item_properties(obj, columns, formatters=_formatters) + return (columns, data) -- cgit v1.2.1