mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-04-26 20:31:27 -07:00
elb_application_lb: fix issue with boto parameter validation on Rules (#27333)
This commit is contained in:
parent
cfc6d9f904
commit
282e743eb0
2 changed files with 163 additions and 4 deletions
|
@ -685,8 +685,8 @@ def compare_rules(connection, module, current_listeners, listener):
|
|||
if modified_rule:
|
||||
modified_rule['Priority'] = int(current_rule['Priority'])
|
||||
modified_rule['RuleArn'] = current_rule['RuleArn']
|
||||
modified_rule['Actions'] = current_rule['Actions']
|
||||
modified_rule['Conditions'] = current_rule['Conditions']
|
||||
modified_rule['Actions'] = new_rule['Actions']
|
||||
modified_rule['Conditions'] = new_rule['Conditions']
|
||||
rules_to_modify.append(modified_rule)
|
||||
break
|
||||
|
||||
|
@ -716,7 +716,11 @@ def create_or_update_elb_listeners(connection, module, elb):
|
|||
for listener_to_add in listeners_to_add:
|
||||
try:
|
||||
listener_to_add['LoadBalancerArn'] = elb['LoadBalancerArn']
|
||||
connection.create_listener(**listener_to_add)
|
||||
# Rules is not a valid parameter for create_listener
|
||||
listener_to_add.pop('Rules')
|
||||
response = connection.create_listener(**listener_to_add)
|
||||
# Add the new listener
|
||||
current_listeners.append(response['Listeners'][0])
|
||||
listener_changed = True
|
||||
except ClientError as e:
|
||||
module.fail_json(msg=e.message, exception=traceback.format_exc(), **camel_dict_to_snake_dict(e.response))
|
||||
|
@ -724,6 +728,8 @@ def create_or_update_elb_listeners(connection, module, elb):
|
|||
# Modify listeners
|
||||
for listener_to_modify in listeners_to_modify:
|
||||
try:
|
||||
# Rules is not a valid parameter for modify_listener
|
||||
listener_to_modify.pop('Rules')
|
||||
connection.modify_listener(**listener_to_modify)
|
||||
listener_changed = True
|
||||
except ClientError as e:
|
||||
|
@ -738,7 +744,7 @@ def create_or_update_elb_listeners(connection, module, elb):
|
|||
module.fail_json(msg=e.message, exception=traceback.format_exc(), **camel_dict_to_snake_dict(e.response))
|
||||
|
||||
# For each listener, check rules
|
||||
for listener in listeners:
|
||||
for listener in deepcopy(listeners):
|
||||
if 'Rules' in listener:
|
||||
# Ensure rules are using Target Group ARN not name
|
||||
listener['Rules'] = ensure_rules_action_has_arn(connection, module, listener['Rules'])
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue