fix(core): stack tags should not allow tokens #30022
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue # (if applicable)
Closes #29424.
Reason for this change
Stack tags get applied to every resource they contain. Tokens must be resolved by CloudFormation itself and the CDK CLI has to apply stack tags to the stack before the deployment starts. This results in the string representation of the token (eg
Token[AWS.AccountId.6]
) making its way into the stack tags. CFN applies these tags automatically to every resource, but this string value contains characters that many resource handlers do not allow in tags. This causes a deployment error.Description of changes
Move this error to synthesis time by checking for tokens before adding the tags.
Description of how you validated changes
Unit tests.
Checklist
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license