summaryrefslogtreecommitdiff
path: root/openstackclient/network/v2
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient/network/v2')
-rw-r--r--openstackclient/network/v2/floating_ip.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/openstackclient/network/v2/floating_ip.py b/openstackclient/network/v2/floating_ip.py
index 91a93380..48895048 100644
--- a/openstackclient/network/v2/floating_ip.py
+++ b/openstackclient/network/v2/floating_ip.py
@@ -38,3 +38,29 @@ class DeleteFloatingIP(common.NetworkAndComputeCommand):
parsed_args.floating_ip,
)
client.floating_ips.delete(obj.id)
+
+
+class ListFloatingIP(common.NetworkAndComputeLister):
+ """List floating IP(s)"""
+
+ columns = ('ID', 'IP', 'Fixed IP', 'Instance ID', 'Pool')
+ column_headers = ('ID', 'Floating IP', 'Fixed IP', 'Server ID', 'Pool')
+
+ def take_action_network(self, client, parsed_args):
+ query = {}
+ data = client.ips(**query)
+
+ return (self.column_headers,
+ (utils.get_item_properties(
+ s, self.columns,
+ formatters={},
+ ) for s in data))
+
+ def take_action_compute(self, client, parsed_args):
+ data = client.floating_ips.list()
+
+ return (self.column_headers,
+ (utils.get_item_properties(
+ s, self.columns,
+ formatters={},
+ ) for s in data))