基本上,我有多个运行环境所以当我尝试上传terraform。tfstate状态文件的硬编码密钥地址时效果很好但我希望根据环境变量或条件来存储。tfstate文件以便区分dev-server或prod-server
我的环境变量可以是:dev, stage或prod
下面的代码只是一个示例,所以要知道我想做什么
variable "ENV" {
default = "dev" # dev OR prod
}
provider "aws" {
region = "us-west-2"
}
terraform {
backend "s3" {
bucket = "my-bucket-12345"
key = "proj/${var.ENV}/terraform.tfstate"
region = "us-west-2"
}
}
resource "aws_instance" "example" {
ami = "ami-0d729a60"
instance_type = "t2.micro"
}
你不能这么做。不能使用变量在backend
。为dev, stage, or prod
定义TF配置的正常方法是使用工作区。