summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
authorTodd Willey <todd@ansolabs.com>2011-06-11 16:42:58 -0400
committerTodd Willey <todd@ansolabs.com>2011-06-11 16:42:58 -0400
commitd1b6ebb4009e13ac2cf2309275a66a634e4f9171 (patch)
treec044a0ab48ddb0b47c8610929491d2425125077c /nova/api
parent27fb2cf245ae87282f3aefdf2ae4740866529101 (diff)
Add ability to list ip blocks.
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/ec2/admin.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/nova/api/ec2/admin.py b/nova/api/ec2/admin.py
index fcf7f674c..37ae2e648 100644
--- a/nova/api/ec2/admin.py
+++ b/nova/api/ec2/admin.py
@@ -369,3 +369,11 @@ class AdminController(object):
raise exception.ApiError(_('Duplicate rule'))
self.compute_api.trigger_provider_fw_rules_refresh(context)
return {'status': 'OK', 'message': 'Added %s rules' % rules_added}
+
+ def describe_external_address_blocks(self, context):
+ blocks = db.provider_fw_rule_get_all(context)
+ # NOTE(todd): use a set since we have icmp/udp/tcp rules with same cidr
+ blocks = set([b.cidr for b in blocks])
+ blocks = [{'cidr': b} for b in blocks]
+ return {'externalIpBlockInfo':
+ list(sorted(blocks, key=lambda k: k['cidr']))}