【发布时间】:2017-08-14 23:26:49
【问题描述】:
我的团队严重依赖 Terraform 中的 S3 远程状态。我们在初始化项目时使用 CLI 的 -backend-config 特性来指定 S3 配置,因此我们实际的 terraform 代码如下所示:
terraform {
backend "s3" {}
}
只要在 CLI 上使用 -backend-config 指定所有 S3 属性,上述方法就可以很好地工作。
我们希望在配置中的其他位置使用类似的策略来引用这些状态。由于后端的参数是动态的并在 CLI 上指定,因此我们希望这样做。
data "terraform_remote_state" "dns" {
backend = "s3"
config {
key = "configurations/production/dns/terraform.tfstate"
}
}
在上面的示例中,我们省略了必需的region 和bucket 参数,这当然会导致计划/应用失败(使用not a valid region:)。
有没有一种方法可以让我们从 CLI 指定远程状态引用的区域和存储桶,而不是对它们进行硬编码?
【问题讨论】:
-
如何为后端配置指定 S3 属性?您是通过帮助脚本调用 Terraform 吗?