Сохранить динамическое расположение файла удаленного состояния terraform в S3

В принципе, у меня есть несколько работающих сред, поэтому, когда я пытаюсь загрузить адрес ключа жесткого кода файла состояния terraform .tfstate, он работает отлично, но я хочу сохранить свой файл .tfstate на основе переменной среды или на основе условия, чтобы я мог различать мой дев-сервер или прод-сервер

моя переменная среды может быть: 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"
}

1 ответ

Вы не можете этого сделать. Вы не можете использовать переменные в backend. Обычный способ определения конфигураций TF для dev, stage, or prodс помощью рабочих пространств .

Другие вопросы по тегам