aws-cloudformation / cloudformation-coverage-roadmap

The AWS CloudFormation Public Coverage Roadmap
https://aws.amazon.com/cloudformation/
Creative Commons Attribution Share Alike 4.0 International
1.11k stars 54 forks source link

AWS::EC2::TransitGatewayRouteTable - Allow updating tags without replacement #2085

Open pwed opened 2 months ago

pwed commented 2 months ago

Name of the resource

AWS::EC2::TransitGatewayRouteTable

Resource name

No response

Description

The Transit Gateway Route Table is one of the only resources in all of CFN that requires replacement when updating tags.

As far as I can tell, this is not a limitation of the API as I am able to log into the console and update tags on existing Route Tables.

This resource should allow changing modifying tags without causing a replacement as it has the potential to cause large scale network outages when an organisation changes their tagging policy!

Other Details

No response

drem-darios commented 1 month ago

I very much agree with the sentiment of this issue. Tags can be changed using the console without consequence, but any changes to tags using CloudFormation will recreate the entire route table. This removes the current associations, routes, deletes the table, then creates the table with the new tags. Any attachments associated to the table will not be connected to the transit gateway until the new table is created. This makes it so any updates to tags deployed to a table through CloudFormation will cause an outage while the table is being recreated. This is very inconvenient.

Along with this, if you create a TransitGatewayRouteTableAssociation while also updating the TGW route table tags, the CloudFormation template fails to deploy. What ends up happening is the original table is deleted and recreated, but the CloudFormation template fails to do the association. The template will hang until it times out. This seems like a consequence of the table being recreated during the association process.