gpt4 book ai didi

amazon-web-services - AWS CloudFormation YAML !或函数

转载 作者:行者123 更新时间:2023-12-05 01:19:26 25 4
gpt4 key购买 nike

错误:“模板验证错误:模板格式错误:条件只能是对参数和其他条件的 bool 运算”

工作 JSON 条件 block :

"Conditions" : {
"CreateBetaResources" : {"Fn::Or" : [ {"Fn::Equals" : [{"Ref" : "Environment"}, "beta"]}, {"Fn::Equals" : [{"Ref" : "Environment"}, "eubeta"]} ]},
"CreateStagingResources" : {"Fn::Equals" : [{"Ref" : "Environment"}, "staging"]},
"CreateProdResources" : { "Fn::Or": [ {"Fn::Equals" : [{"Ref" : "Environment"}, "prod"]}, {"Fn::Equals" : [{"Ref" : "Environment"}, "euprod"]} ] }
},

YAML block 不起作用:

Conditions:
CreateBetaResources:
!Or [!Equals [!Ref "Environment", beta], !Equals [!Ref "Environment", eubeta]]
CreateStagingResources:
- !Equals [!Ref "Environment", staging]
CreateProdResources:
!Or [!Equals [!Ref "Environment", prod], !Equals [!Ref "Environment", euprod]]

为什么会出现这个错误?我已经搜索了有关“Fn::Or”和条件的文档...语法似乎是正确的。我还尝试了很多很多其他格式,但这是最接近文档示例的一种。

最佳答案

使用 YAML 在条件 block 内实例化 !Or/!Equals 的正确方法如下:

Conditions:
CreateBetaResources: !Or [!Equals [!Ref "Environment", beta], !Equals [!Ref "Environment", eubeta]]
CreateStagingResources: !Equals [!Ref "Environment", staging]
CreateProdResources: !Or [!Equals [!Ref "Environment", prod], !Equals [!Ref "Environment", euprod]]

在调用 !Equals 函数 (-) 之前不要包含列表标识符。

关于amazon-web-services - AWS CloudFormation YAML !或函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39878445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com