s3.tf
terraform {
backend "s3" {
bucket = "some-bucket"
key = "path/to/key"
region = "some-aws-region"
}}
如何将存储桶和区域值从变量.tf 文件传递给此?
你好,这是一个解决方案:
terraform {
backend "s3" {
}
}
像这样传递后端然后:
关于 terraform init 命令:
terraform init \
-backend-config="bucket=${TFSTATE_BUCKET}" \
-backend-config="key=${TFSTATE_KEY}" \
-backend-config="region=${TFSTATE_REGION}"
你应该使用 env 来设置
TFSTATE_BUCKET TFSTATE_KEY and TFSTATE_REGION
这里是文档的链接:有关后端“部分配置”的 Terraform 文档
Montassar的回答相当不错,但我更喜欢文件版本:
dev.conf
文件
bucket="some-bucket"
region="some-aws-region"
main.tf
中的那些属性,
terraform {
backend "s3" {
key = "path/to/key"
}}
terraform init -backend-config=dev.conf
我相信这目前是不可能的,因为如果你在其中添加变量插值,你会得到一个错误
terraform.backend:配置不能包含插值
我发现您正在尝试使用不同的环境并在 S3 配置中指定它们。但我建议你使用
workspaces
。
创建新工作区:
terraform state new <name>