gpt4 book ai didi

amazon-web-services - 否定 CloudFormation 模板中的条件

转载 作者:行者123 更新时间:2023-12-04 03:00:31 26 4
gpt4 key购买 nike

我有以下条件,根据该条件我创建一些资源,而如果不满足该条件则我创建其他资源。

Conditions:
ISProduction:
"Fn::Equals":
- !Ref Environment
- staging
ISNotProduction:
"Fn::Not":
- !Ref ISProduction

但是,当我尝试使用上面的代码片段评估模板时,出现错误:

Template error: every Fn::Not object requires one boolean parameter

如何否定 Cloud Formation 模板中的条件?或者我如何使用 ISProduction 的否定?

我还在资源创建中尝试了下面的条件,但是模板没有通过验证,因为“每个条件成员必须是字符串”。

Condition:
"Fn::Not":
- !Ref ISProduction

最佳答案

您可以通过在条件逻辑 ID 之前使用条件键来引用其他条件。

Associating a Condition

To conditionally create resources, resource properties, or outputs, you must associate a condition with them. Add the Condition: key and the logical ID of the condition as an attribute to associate a condition, as shown in the following snippet. AWS CloudFormation creates the NewVolume resource only when the CreateProdResources condition evaluates to true.

您的示例应如下所示:

Conditions:
ISProduction:
"Fn::Equals":
- !Ref Environment
- staging
ISNotProduction:
"Fn::Not":
- Condition: ISProduction

您也可以选择将其写成缩写形式:

Conditions:
ISProduction:
!Equals [!Ref Environment, staging]
ISNotProduction:
!Not [Condition: ISProduction]

关于amazon-web-services - 否定 CloudFormation 模板中的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41106216/

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