diff options
Diffstat (limited to 'openstackclient/network')
| -rw-r--r-- | openstackclient/network/v2/subnet.py | 28 |
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) |
