elb_target_group - prevent a KeyError exception (#45169)

Ensure ports to integers after allowing the key 'Targets' to be available in params
pull/44941/head
Sloane Hertel 6 years ago committed by Ryan Brown
parent 9d1bf32825
commit 038fd0d0f2

@ -0,0 +1,3 @@
---
bugfixes:
- elb_target_group - cast target ports to integers before making API calls after the key 'Targets' is in params.

@ -429,10 +429,6 @@ def create_or_update_target_group(connection, module):
if params['TargetType'] == 'ip': if params['TargetType'] == 'ip':
fail_if_ip_target_type_not_supported(module) fail_if_ip_target_type_not_supported(module)
# Correct type of target ports
for target in params['Targets']:
target['Port'] = int(target.get('Port', module.params.get('port')))
# Get target group # Get target group
tg = get_target_group(connection, module) tg = get_target_group(connection, module)
@ -496,6 +492,10 @@ def create_or_update_target_group(connection, module):
if module.params.get("targets"): if module.params.get("targets"):
params['Targets'] = module.params.get("targets") params['Targets'] = module.params.get("targets")
# Correct type of target ports
for target in params['Targets']:
target['Port'] = int(target.get('Port', module.params.get('port')))
# get list of current target instances. I can't see anything like a describe targets in the doco so # get list of current target instances. I can't see anything like a describe targets in the doco so
# describe_target_health seems to be the only way to get them # describe_target_health seems to be the only way to get them

Loading…
Cancel
Save