我的团队在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中指定远程状态引用的区域和存储桶,而不是硬编码它们?