-
Notifications
You must be signed in to change notification settings - Fork 577
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Errant E1029 for AWS::Serverless::StateMachine DefinitionSubstitutions, and cannot ignore #1602
Comments
This one is blocked on the Serverless transform passing along The Linter actually runs the Serverless transform before evaluating this rule:
so this is actually a problem with might need to exclude that property from being evaluated in: |
Similarly if we define a resource without a Definition Substitution String and Attempt to use an Intrinsic Function such as !Sub or !GetAtt a similar error will occur as SAM creates Definition Substitutions for those resources. Example
Transformed to
Instead of adding a blanket exception on the DefinitionString Field, an exception can be added for anything inside a ${} within a DefinitionString field that matches a top level key within DefinitionSubstitutions |
This issue should be resolved with the the recent pull request |
cfn-lint version: (
cfn-lint --version
)Description of Issue
When using the
AWS::Serverless::StateMachine.DefinitionSubstitutions
property, cfn-lint believes that a substitution is required within theDefinition
s property structure despite the intent for the SAM transform to handle this.Additionally, a resource-level ignore does not avoid the issue but a template-level ignore does which I believe is related to aws/serverless-application-model#450
The raw output is:
Example Template
Expected Behavior
One-or-multiple of:
E1029
error can be ignored at the resource level'${MyFunctionArn}'
is in theDefinitionSubstitutions
structureThe text was updated successfully, but these errors were encountered: