部署本地存储的地形文件



我希望部署一个编写为地形模块的基础设施。该模块如下:

module "my-module" {
count = var.env == "prod" ? 1 : 0
source = "s3::https://s3-us-east-1.amazonaws.com/my-bucket/my-directory/"
env = var.env
deployment = var.deployment
}

现在这是在my-module.tf file中,我通过运行通常的terraform init,planapply命令(并传入相关变量)来部署它。

然而,对于我的特定需求,我希望能够仅通过运行terraform init,planapply命令(并传入相关变量)来部署它,而不必将模块存储在我自己机器上的文件中。我宁愿模块文件被远程存储(例如s3桶),这样其他团队/用户就不需要在他们自己的机器上有文件。是否有任何方法可以部署这个terraform,使模块文件可以远程存储,例如,可以在运行terraformplanapply命令时作为一个选项传递?

可以在运行地形规划和应用命令时作为选项传递?

这不可能。如TF文档中所述,source必须是字面值字符串. 这意味着它不能是任何动态变量。

您必须围绕TF开发自己的包装器,它将在使用terraform之前用实际正确的值简单地查找并替换source占位符。

相关内容

最新更新