From 3c8bb165137ee1f17d99c270896b37fb9d00f07c Mon Sep 17 00:00:00 2001 From: Tang Chen Date: Sat, 13 Feb 2016 10:13:14 +0800 Subject: Subnet Pool: Add "subnet pool show" command Change-Id: I8dda7bbf1e27b0ac773f62a5cd293387da96f8df Closes-Bug: 1544590 Implements: blueprint neutron-client --- openstackclient/network/v2/subnet_pool.py | 36 +++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'openstackclient/network') diff --git a/openstackclient/network/v2/subnet_pool.py b/openstackclient/network/v2/subnet_pool.py index e82b2050..1db1652f 100644 --- a/openstackclient/network/v2/subnet_pool.py +++ b/openstackclient/network/v2/subnet_pool.py @@ -17,6 +17,19 @@ from openstackclient.common import command from openstackclient.common import utils +def _get_columns(item): + columns = item.keys() + if 'tenant_id' in columns: + columns.remove('tenant_id') + columns.append('project_id') + return tuple(sorted(columns)) + + +_formatters = { + 'prefixes': utils.format_list, +} + + class DeleteSubnetPool(command.Command): """Delete subnet pool""" @@ -83,3 +96,26 @@ class ListSubnetPool(command.Lister): s, columns, formatters={}, ) for s in data)) + + +class ShowSubnetPool(command.ShowOne): + """Show subnet pool details""" + + def get_parser(self, prog_name): + parser = super(ShowSubnetPool, self).get_parser(prog_name) + parser.add_argument( + 'subnet_pool', + metavar="", + help=("Subnet pool to show (name or ID)") + ) + return parser + + def take_action(self, parsed_args): + client = self.app.client_manager.network + obj = client.find_subnet_pool( + parsed_args.subnet_pool, + ignore_missing=False + ) + columns = _get_columns(obj) + data = utils.get_item_properties(obj, columns, formatters=_formatters) + return (columns, data) -- cgit v1.2.1