clo*_*her 10 cloud amazon-web-services aws-cloudformation
我有以下条件,因此我创建了一些资源,而如果不满足那个条件,那么我创建其他资源.
Conditions:
ISProduction:
"Fn::Equals":
- !Ref Environment
- staging
ISNotProduction:
"Fn::Not":
- !Ref ISProduction
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用上面的代码段评估模板时,我收到错误:
模板错误:每个Fn :: Not对象都需要一个布尔参数
如何否定云形成模板中的条件?或者我如何使用ISProduction的否定?
我也在资源创建中尝试了下面的条件,但是我但模板没有通过验证,因为"每个条件成员必须是一个字符串".
Condition:
"Fn::Not":
- !Ref ISProduction
Run Code Online (Sandbox Code Playgroud)
Geo*_*ker 18
您可以在条件逻辑ID之前使用Condition键来引用其他条件.
要有条件地创建资源,资源属性或输出,必须将条件与它们相关联.添加Condition:键和条件的逻辑ID作为关联条件的属性,如下面的代码段所示.仅当CreateProdResources条件的计算结果为true时,AWS CloudFormation才会创建NewVolume资源.
您的示例应如下所示:
Conditions:
ISProduction:
"Fn::Equals":
- !Ref Environment
- staging
ISNotProduction:
"Fn::Not":
- Condition: ISProduction
Run Code Online (Sandbox Code Playgroud)
您可以选择以简短形式编写它:
Conditions:
ISProduction:
!Equals [!Ref Environment, staging]
ISNotProduction:
!Not [Condition: ISProduction]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7489 次 |
| 最近记录: |