add delete_rule to elbv2
This commit is contained in:
parent
05a2715f4b
commit
3ac10945c1
@ -357,6 +357,18 @@ class ELBv2Backend(BaseBackend):
|
|||||||
def delete_load_balancer(self, arn):
|
def delete_load_balancer(self, arn):
|
||||||
self.load_balancers.pop(arn, None)
|
self.load_balancers.pop(arn, None)
|
||||||
|
|
||||||
|
def delete_rule(self, arn):
|
||||||
|
for load_balancer_arn in self.load_balancers:
|
||||||
|
listeners = self.load_balancers.get(load_balancer_arn).listeners.values()
|
||||||
|
for listener in listeners:
|
||||||
|
for rule in listener.rules:
|
||||||
|
if rule.arn == arn:
|
||||||
|
listener.rules.remove(rule)
|
||||||
|
return
|
||||||
|
|
||||||
|
# should raise RuleNotFound Error according to the AWS API doc
|
||||||
|
# however, boto3 does't raise error even if rule is not found
|
||||||
|
|
||||||
def delete_target_group(self, target_group_arn):
|
def delete_target_group(self, target_group_arn):
|
||||||
target_group = self.target_groups.pop(target_group_arn)
|
target_group = self.target_groups.pop(target_group_arn)
|
||||||
if target_group:
|
if target_group:
|
||||||
|
@ -157,6 +157,12 @@ class ELBV2Response(BaseResponse):
|
|||||||
template = self.response_template(DELETE_LOAD_BALANCER_TEMPLATE)
|
template = self.response_template(DELETE_LOAD_BALANCER_TEMPLATE)
|
||||||
return template.render()
|
return template.render()
|
||||||
|
|
||||||
|
def delete_rule(self):
|
||||||
|
arn = self._get_param('RuleArn')
|
||||||
|
self.elbv2_backend.delete_rule(arn)
|
||||||
|
template = self.response_template(DELETE_RULE_TEMPLATE)
|
||||||
|
return template.render()
|
||||||
|
|
||||||
def delete_target_group(self):
|
def delete_target_group(self):
|
||||||
arn = self._get_param('TargetGroupArn')
|
arn = self._get_param('TargetGroupArn')
|
||||||
self.elbv2_backend.delete_target_group(arn)
|
self.elbv2_backend.delete_target_group(arn)
|
||||||
@ -448,6 +454,13 @@ DELETE_LOAD_BALANCER_TEMPLATE = """<DeleteLoadBalancerResponse xmlns="http://ela
|
|||||||
</ResponseMetadata>
|
</ResponseMetadata>
|
||||||
</DeleteLoadBalancerResponse>"""
|
</DeleteLoadBalancerResponse>"""
|
||||||
|
|
||||||
|
DELETE_RULE_TEMPLATE = """<DeleteRuleResponse xmlns="http://elasticloadbalancing.amazonaws.com/doc/2015-12-01/">
|
||||||
|
<DeleteRuleResult/>
|
||||||
|
<ResponseMetadata>
|
||||||
|
<RequestId>1549581b-12b7-11e3-895e-1334aEXAMPLE</RequestId>
|
||||||
|
</ResponseMetadata>
|
||||||
|
</DeleteRuleResponse>"""
|
||||||
|
|
||||||
DELETE_TARGET_GROUP_TEMPLATE = """<DeleteTargetGroupResponse xmlns="http://elasticloadbalancing.amazonaws.com/doc/2015-12-01/">
|
DELETE_TARGET_GROUP_TEMPLATE = """<DeleteTargetGroupResponse xmlns="http://elasticloadbalancing.amazonaws.com/doc/2015-12-01/">
|
||||||
<DeleteTargetGroupResult/>
|
<DeleteTargetGroupResult/>
|
||||||
<ResponseMetadata>
|
<ResponseMetadata>
|
||||||
|
@ -614,6 +614,10 @@ def test_create_listener_rules():
|
|||||||
priorities = [rule['Priority'] for rule in rules['Rules']]
|
priorities = [rule['Priority'] for rule in rules['Rules']]
|
||||||
priorities.should.equal(['50', '100', 'default'])
|
priorities.should.equal(['50', '100', 'default'])
|
||||||
|
|
||||||
|
arn = rules['Rules'][0]['RuleArn']
|
||||||
|
conn.delete_rule(RuleArn=arn)
|
||||||
|
# TODO: describe rule and ensure rule is removed
|
||||||
|
|
||||||
# test for invalid action type
|
# test for invalid action type
|
||||||
safe_priority = 2
|
safe_priority = 2
|
||||||
with assert_raises(ClientError):
|
with assert_raises(ClientError):
|
||||||
|
Loading…
Reference in New Issue
Block a user