summaryrefslogtreecommitdiff
path: root/openstackclient/network
diff options
context:
space:
mode:
authorBrad Behle <behle@us.ibm.com>2016-02-04 17:19:37 -0600
committerBrad Behle <behle@us.ibm.com>2016-02-22 13:04:25 -0600
commit112d7b0e0966599aa940de4c0598cea759780785 (patch)
treefab9ae2e815c303d41451fb3f258925bb309e1b0 /openstackclient/network
parentba08683d90277e3cc6f943a2a994ccf08589cb1a (diff)
downloadpython-openstackclient-112d7b0e0966599aa940de4c0598cea759780785.tar.gz
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 <terrylhowe@gmail.com> Partially implements: blueprint neutron-client Closes-Bug: #1542359 Change-Id: Iaf18b9e44af35ca0cd61033b468e0c60cd3b05d6
Diffstat (limited to 'openstackclient/network')
-rw-r--r--openstackclient/network/v2/subnet.py28
1 files changed, 28 insertions, 0 deletions
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="<subnet>",
+ 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)