假设我想声明几个条件,这些条件实际上可以跨嵌套资源(在CloudFormation中)使用。下面是一个非常简单的例子:
Parameters:
EnvType:
Type: String
Description: Environment type.
Default: test
AllowedValues: [test, dev]
ConstraintDescription : Must specify test or dev.
Conditions:
CreateTestEnvResources: !Equals [!Ref EnvType, test]
CreateDevEnvResources: !Equals [!Ref EnvType, dev]
是否有可能以某种方式通过此声明跨嵌套堆栈资源(AWS::CloudFormation::Stack
)?或者唯一的方法是使用EnvType
并在每个堆栈中声明?
或者唯一的方法是使用EnvType并在每个堆栈中声明?
可悲的是,这是唯一的方法。但是,如果您真的想要消除这个步骤,您可以为此在CloudFormation中开发一个宏。然而,在每个嵌套堆栈中重新声明EnvType
仍然是最易读、最容易调试和实现的方法。