如何在terraform中为s3后端声明变量



s3.tf

terraform {
backend "s3" {
bucket = "some-bucket"
key = "path/to/key"
region = "some-aws-region" 
}}

如何从variables.tf文件中将bucket和region值传递给它?

你好,这里有一个解决方案:

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

这里有一个文档链接:;部分配置";的后端

Montassar的回答很好,但我更喜欢文件版本:

  1. 创建dev.conf文件
    bucket="some-bucket"
    region="some-aws-region"
    
  2. 删除CCD_ 3中的那些属性,
    terraform {
     backend "s3" {
      key = "path/to/key"
    }}
    
  3. 运行init:
    terraform init -backend-config=dev.conf
    

地形源

我认为这目前是不可能的,因为如果你在其中添加变量插值,你会得到一个错误

terraform.backend:配置不能包含插值

最新更新