diff --git a/src/cfnlint/rules/functions/GetAttFormat.py b/src/cfnlint/rules/functions/GetAttFormat.py index 4d1bdb4377..91f5c1808a 100644 --- a/src/cfnlint/rules/functions/GetAttFormat.py +++ b/src/cfnlint/rules/functions/GetAttFormat.py @@ -33,6 +33,8 @@ def __init__(self): "AWS::ServiceCatalog::CloudFormationProvisionedProduct", ] + self._resource_type_attribute_exceptions = [("AWS::SSM::Parameter", "Value")] + def validate( self, validator: Validator, _, instance: Any, schema: Any ) -> ValidationResult: @@ -50,11 +52,15 @@ def validate( t, validator.context.regions ): region = regions[0] - getatt_ptr = validator.context.resources[resource].get_atts(region)[attr] if t in self._resource_type_exceptions: return + if (t, attr) in self._resource_type_attribute_exceptions: + return + + getatt_ptr = validator.context.resources[resource].get_atts(region)[attr] + getatt_schema = resource_schema.resolver.resolve_cfn_pointer(getatt_ptr) getatt_fmt = getatt_schema.get("format") if getatt_fmt != fmt: