diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-02-25 21:15:47 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-02-25 21:15:47 +0000 |
| commit | fbc03104f66a80e1d7f3c7880d7db82587a7ab6c (patch) | |
| tree | bb9f9e68cbba28f3fbdc25ba30832542e8b96df1 /openstackclient/network | |
| parent | 6176e802b3a4125e983eba3805f3f90881622bc4 (diff) | |
| parent | f0960f0fef263298e56d7e81acf50597073becc7 (diff) | |
| download | python-openstackclient-fbc03104f66a80e1d7f3c7880d7db82587a7ab6c.tar.gz | |
Merge "Floating IP: Neutron support for "ip floating show" command"
Diffstat (limited to 'openstackclient/network')
| -rw-r--r-- | openstackclient/network/v2/floating_ip.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/openstackclient/network/v2/floating_ip.py b/openstackclient/network/v2/floating_ip.py index 23b83201..e0a65a48 100644 --- a/openstackclient/network/v2/floating_ip.py +++ b/openstackclient/network/v2/floating_ip.py @@ -17,6 +17,14 @@ from openstackclient.common import utils from openstackclient.network import common +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 DeleteFloatingIP(common.NetworkAndComputeCommand): """Delete floating IP""" @@ -89,3 +97,30 @@ class ListFloatingIP(common.NetworkAndComputeLister): s, columns, formatters={}, ) for s in data)) + + +class ShowFloatingIP(common.NetworkAndComputeShowOne): + """Show floating IP details""" + + def update_parser_common(self, parser): + parser.add_argument( + 'floating_ip', + metavar="<floating-ip>", + help=("Floating IP to display (IP address or ID)") + ) + return parser + + def take_action_network(self, client, parsed_args): + obj = client.find_ip(parsed_args.floating_ip, ignore_missing=False) + columns = _get_columns(obj) + data = utils.get_item_properties(obj, columns) + return (columns, data) + + def take_action_compute(self, client, parsed_args): + obj = utils.find_resource( + client.floating_ips, + parsed_args.floating_ip, + ) + columns = _get_columns(obj._info) + data = utils.get_dict_properties(obj._info, columns) + return (columns, data) |
