Enhancement/describe network acls (#3003)
* update describe_network_acls and create unit test * add fail test case * adjustment after feedback * fix result test
This commit is contained in:
parent
4f42ba93d8
commit
97a6e8d9e8
4 changed files with 51 additions and 19 deletions
|
|
@ -4750,23 +4750,7 @@ class NetworkAclBackend(object):
|
|||
)
|
||||
|
||||
def get_all_network_acls(self, network_acl_ids=None, filters=None):
|
||||
network_acls = self.network_acls.values()
|
||||
|
||||
if network_acl_ids:
|
||||
network_acls = [
|
||||
network_acl
|
||||
for network_acl in network_acls
|
||||
if network_acl.id in network_acl_ids
|
||||
]
|
||||
if len(network_acls) != len(network_acl_ids):
|
||||
invalid_id = list(
|
||||
set(network_acl_ids).difference(
|
||||
set([network_acl.id for network_acl in network_acls])
|
||||
)
|
||||
)[0]
|
||||
raise InvalidRouteTableIdError(invalid_id)
|
||||
|
||||
return generic_filter(filters, network_acls)
|
||||
self.describe_network_acls(network_acl_ids, filters)
|
||||
|
||||
def delete_network_acl(self, network_acl_id):
|
||||
deleted = self.network_acls.pop(network_acl_id, None)
|
||||
|
|
@ -4886,6 +4870,25 @@ class NetworkAclBackend(object):
|
|||
self, association_id, subnet_id, acl.id
|
||||
)
|
||||
|
||||
def describe_network_acls(self, network_acl_ids=None, filters=None):
|
||||
network_acls = self.network_acls.values()
|
||||
|
||||
if network_acl_ids:
|
||||
network_acls = [
|
||||
network_acl
|
||||
for network_acl in network_acls
|
||||
if network_acl.id in network_acl_ids
|
||||
]
|
||||
if len(network_acls) != len(network_acl_ids):
|
||||
invalid_id = list(
|
||||
set(network_acl_ids).difference(
|
||||
set([network_acl.id for network_acl in network_acls])
|
||||
)
|
||||
)[0]
|
||||
raise InvalidRouteTableIdError(invalid_id)
|
||||
|
||||
return generic_filter(filters, network_acls)
|
||||
|
||||
|
||||
class NetworkAclAssociation(object):
|
||||
def __init__(self, ec2_backend, new_association_id, subnet_id, network_acl_id):
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ class NetworkACLs(BaseResponse):
|
|||
def describe_network_acls(self):
|
||||
network_acl_ids = self._get_multi_param("NetworkAclId")
|
||||
filters = filters_from_querystring(self.querystring)
|
||||
network_acls = self.ec2_backend.get_all_network_acls(network_acl_ids, filters)
|
||||
network_acls = self.ec2_backend.describe_network_acls(network_acl_ids, filters)
|
||||
template = self.response_template(DESCRIBE_NETWORK_ACL_RESPONSE)
|
||||
return template.render(network_acls=network_acls)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue