синтаксис блока данных terraform_remote_state - PullRequest
0 голосов
/ 14 июня 2019

Я работаю над настройкой нескольких учетных записей AWS с помощью Terraform.У меня есть основная учетная запись, которая создает несколько дополнительных учетных записей, и в дополнительных учетных записях я ссылаюсь на удаленное состояние главного устройства для получения выходных значений.

Команда terraform plan не выполняется для этой конфигурации в тесте main.tf:

terraform {
  required_version = ">= 0.12.0"

  backend "s3" {
    bucket = "bucketname"
    key    = "statekey.tfstate"
    region = "us-east-1"
  }
}

provider "aws" {
  region  = "us-east-1"
  version = "~> 2.7"
}

data "aws_region" "current" {}

data "terraform_remote_state" "common" {
  backend = "s3"
  config {
        bucket = "anotherbucket"
        key    = "master.tfstate"
  }
}

Со следующей ошибкой:

➜  test terraform plan

Error: Unsupported block type

  on main.tf line 20, in data "terraform_remote_state" "common":
  20:   config {

Blocks of type "config" are not expected here. Did you mean to define argument
"config"? If so, use the equals sign to assign it a value.

Из того, что я могускажите документацию , это должно работать ... что я делаю не так?

➜  test terraform -v  
Terraform v0.12.2
+ provider.aws v2.14.0

1 Ответ

1 голос
/ 14 июня 2019

Похоже, связанный документ не обновляется после обновления до 0.12.x

. В качестве сообщения об ошибке добавьте = после config


data "terraform_remote_state" "common" {
  backend = "s3"
  config = {
        bucket = "anotherbucket"
        key    = "master.tfstate"
  }
}

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

...