首页 文章

Terraform对AWS SecurityGroups使用条件

提问于
浏览
1

是否可以将Terraform条件与AWS安全组一起使用,如下所示:

securitygroup= ["${substr(terraform.workspace) == "PD" ? module1 : module2}"]

我们只想在terraform.workspace以“PD”开头的情况下创建并附加基于module1的安全组,如果不需要,我们不想创建在module2中定义的安全组 .

我们已经尝试过这个问题,如果尚未创建module2的安全组,则Terraform不会分配由module1构建的安全组 . 一旦我们创建了两个资源,它就可以识别并附加module1,但是我们正在复制安全组的数量 .

看起来Terraform需要资源活跃并在其条件中创建?

提前致谢!

1 回答

  • 2

    TF有一个已知的错误,其中插值,它评估条件的两个分支(这就是为什么它只有在你创建了两个安全组时才有效):

    https://github.com/hashicorp/terraform/issues/15605

    我遇到了与不同实现相同的问题 - 目前正尝试使用上面链接中第二条评论的建议作为解决方法:

    这是Terraform的一个已知问题 . 到目前为止,主要的解决方法似乎是找到一些可以在没有错误的情况下运行的分支 . 例如,在你所描述的内容中,你可能会做这样的事情:“$ {truthtest?file(”$ {truthtest?var.file_path:“/ dev / null”}“):”“}或者自文件(” / dev / null“)应该等于”“:file(”$ {truthtest?var.file_path:“/ dev / null”}“)

相关问题