gpt4 book ai didi

terraform - 如何使用 Terraform 仅根据环境加载某些文件?

转载 作者:行者123 更新时间:2023-12-02 00:37:54 25 4
gpt4 key购买 nike

要运行我的 terraform 脚本,我执行 terraform apply -var 'ENV=dev' -var-file="dev.tfvars"

dev.tfvars 中,我想加载其他具有仅用于开发环境的变量的文件。

我应该能够对 staging.tfvars 等做同样的事情

有什么想法吗?

最佳答案

在我看来,您有 2 个选择:

  • 使用 TF 工作区,您可以在环境之间设置细微差异。如 docs 中所述,您将需要更改资源以使用插值序列 terraform.workspace。我发现这更难维护。
  • 创建一个 TF 包装器

包装器将接收环境和 TF 命令,将链接依赖于环境的 .tf 文件并调用 terraform 加载 .tfvars 文件.例如,您可以有一个包含以下文件的 env/ 目录:

env/
| dev.tf
| staging.tf
| prod.tf

并且您的包装器将在项目根目录中链接正确的文件,如下所示:

env.tf -> env/dev.tf

然后它将调用 terraform $2 -var-file="$1.tfvars"-var 'ENV=$1'

这样,terraform 将读取 env.tf 文件内容,并加载您的其他 .tf 文件。

关于terraform - 如何使用 Terraform 仅根据环境加载某些文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48622681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com