是否可以在CloudFormation中跨嵌套堆栈共享条件定义?



假设我想声明几个条件,这些条件实际上可以跨嵌套资源(在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仍然是最易读、最容易调试和实现的方法。

最新更新