AWS Cloudformation Fn::If 错误验证错误

AWS Cloudformation Fn::If wrong validation error

我遇到了 AWS Cloudformation 的问题。 这是我的模板的一部分

       "CreationPolicy": {
            "ResourceSignal": {
                "Fn::If": [
                    "UseCreationPolicy",
                    {
                        "Count": 1,
                        "Timeout": "PT150M"
                    },
                    {
                        "Ref": "AWS::NoValue"
                    }
                ]
            }
        },

使用 aws cloudformation validate-template --template-body file:////...

在本地验证时没有错误

但是在 Cloudformation 中,我在创建 Stack 时遇到验证错误: Template error: Fn::If requires a list argument with three elements

有人有类似的东西吗?

关于我在 AWS 论坛上只发现一个问题(未回答):https://forums.aws.amazon.com/thread.jspa?threadID=202297

我猜问题出在为 ResourceSignal 返回的 AWS:NoValue 上。我认为您应该尝试为 CreationPolicy 而不是 ResourceSignal 返回 AWS:NoValue,这样当条件 UseCreationPolicy 为 false 时,应该放弃整个 CreationPolicy。