Файл состояния перезаписи Terraform на удаленном сервере - PullRequest
0 голосов
/ 05 июля 2018

Скорее всего, я делаю что-то не так или здесь что-то упускаю.

Вот так выглядит мой шаблон terraform:

locals {
      credentials_file_path    = "~/gcp-auth/account.json"
    }

terraform {
  backend "gcs" {
    bucket  = "somebucket-tf-state"
    prefix  = "terraform/state/"
    credentials = "~/gcp-auth/account.json"
  }
}

provider "google" {
 region = "${var.region}"
 credentials = "${file(local.credentials_file_path)}"
}

module "project" {
  source = "../modules/gcp-project/"
  project_name      = "${var.project_name}"
  billing_account = "${var.billing_account}"
  org_id          = "${var.org_id}"
}

Когда я запускаю это несколько раз с разными параметрами, он перезаписывает предыдущий файл состояния.

Вот что я вижу в ведре:

Buckets/somebucket-tf-state/terraform/state/default.tfstate

Есть ли способ создания разных файлов состояния для проекта, для которого я запускаю шаблон?

1 Ответ

0 голосов
/ 06 июля 2018

Если я понимаю, что вы пытаетесь сделать правильно, то звучит так, как будто вам нужно рабочее пространство .

Просто сделай:

# Select per-project workspace or create new workspace
terraform workspace select $GCE_PROJECT || terraform workspace new $GCE_PROJECT
$ Plan and apply as usual.
terraform plan -out .terraform/.terraform.plan && terraform apply .terraform/.terraform.plan
# Revert to default workspace
terraform workspace select default
...