From 839c5f7a84b48cecbc80606e894b7906fa01d66b Mon Sep 17 00:00:00 2001 From: songminglong Date: Sun, 13 Nov 2016 10:11:03 +0800 Subject: Add '--network' and other options to floating ip list The patch adds filtering '--network', '--port', '--fixed-ip-address' options to floating ip list command Partial-Bug: #1614379 Change-Id: I82319d0985d9e864431097c90264a20bf88167cc --- openstackclient/network/v2/floating_ip.py | 36 +++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'openstackclient/network') diff --git a/openstackclient/network/v2/floating_ip.py b/openstackclient/network/v2/floating_ip.py index 7ae5d448..2aac8e7b 100644 --- a/openstackclient/network/v2/floating_ip.py +++ b/openstackclient/network/v2/floating_ip.py @@ -205,7 +205,31 @@ class DeleteIPFloating(DeleteFloatingIP): class ListFloatingIP(common.NetworkAndComputeLister): """List floating IP(s)""" + def update_parser_network(self, parser): + parser.add_argument( + '--network', + metavar='', + help=_("List floating IP(s) according to " + "given network (name or ID)") + ) + parser.add_argument( + '--port', + metavar='', + help=_("List floating IP(s) according to " + "given port (name or ID)") + ) + parser.add_argument( + '--fixed-ip-address', + metavar='', + help=_("List floating IP(s) according to " + "given fixed IP address") + ) + + return parser + def take_action_network(self, client, parsed_args): + network_client = self.app.client_manager.network + columns = ( 'id', 'floating_ip_address', @@ -224,6 +248,18 @@ class ListFloatingIP(common.NetworkAndComputeLister): ) query = {} + + if parsed_args.network is not None: + network = network_client.find_network(parsed_args.network, + ignore_missing=False) + query['floating_network_id'] = network.id + if parsed_args.port is not None: + port = network_client.find_port(parsed_args.port, + ignore_missing=False) + query['port_id'] = port.id + if parsed_args.fixed_ip_address is not None: + query['fixed_ip_address'] = parsed_args.fixed_ip_address + data = client.ips(**query) return (headers, -- cgit v1.2.1