微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 并在每个 Stack 中进行声明?

解决方法

或者唯一的方法是使用EnvType并在每个Stack中进行声明?

遗憾的是,这是唯一的方法。但是,如果您真的想取消这一步,您可以为此在 CloudFormation 中开发一个 macro。尽管如此,在每个嵌套堆栈中重新声明 List :: (forall r. r -> (a -> List a -> r) -> r) -> List a 仍然是最具可读性和最容易调试和实现的方式。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。