summaryrefslogtreecommitdiff
path: root/openstackclient/network
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-02-23 00:13:44 +0000
committerGerrit Code Review <review@openstack.org>2016-02-23 00:13:44 +0000
commit7c9bb377c1d9be92af676a06959f7ddc86403491 (patch)
tree535a7c62afcd7fbfdeb744629cf9dd90880e2a9c /openstackclient/network
parentc57fc41c33df58237f6b3ec8a5b2a0ff9573da2e (diff)
parent112d7b0e0966599aa940de4c0598cea759780785 (diff)
downloadpython-openstackclient-7c9bb377c1d9be92af676a06959f7ddc86403491.tar.gz
Merge "Add "os subnet show" command using SDK"
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)