Using Troposphere and Python I have created an AWS NLB. It works fine, I am just trying to add a new property to it. The property I am trying to add is "deregistration_delay.connection_termination.enabled". But when I try and update my stanza It does not like my syntax.
Here is my code block with the TargetGroupAttribute that I am trying to add.
my_target_group = t.add_resource(elb.TargetGroup(
"MyTargetGroup",
Name = 'MyTGName',
Port = os.getenv('PORT'),
Protocol = os.getenv('PROTOCOL'),
VpcId = MyVPCid.id,
HealthCheckIntervalSeconds = os.getenv('HEALTH_CHECK_INTERVAL_SECONDS'),
HealthCheckPort = os.getenv('PORT'),
HealthCheckProtocol = os.getenv('HEALTH_CHECK_PROTOCOL'),
HealthyThresholdCount = os.getenv('HEALTHY_THRESHOLD_COUNT'),
UnhealthyThresholdCount = os.getenv('UNHEALTHY_THRESHOLD_COUNT'),
TargetGroupAttribute = [
elb.TargetGroupAttribute(
Key='deregistration_delay.connection_termination.enabled',
Value='true'
)
],
Targets = build_tg_desc_lst(list_of_instances, os.getenv('PORT'))
))
It does not like the "TargetGroupAttribute" section of the code block I shared. I get the error "TargetGroup object does not support attribute TargetGroupAttribute".
The AWS documentation is here that I used to add the property.
Any advice or help would be greatly appreciated. Thanks!
I was able to resolve the issue. I'm not sure why this was the case but I was able to successfully deploy the NLB with the Deregistration attribute enabled by the following.
Orginal Code
New Code
By adding an 's' at the end of the variable resolved the issue.