terraform_remote_state 数据块语法
terraform_remote_state data block syntax
我正在使用 Terraform 进行 AWS 多账户设置。我有一个创建多个子账户的主账户,在子账户中我引用主账户的远程状态来检索输出值。
测试中此配置的 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.
从 the documentation 可以看出,这应该有效……我做错了什么?
➜ test terraform -v
Terraform v0.12.2
+ provider.aws v2.14.0
似乎 related document 在升级到 0 后没有更新。12.x
作为错误提示,在config
后添加=
data "terraform_remote_state" "common" {
backend = "s3"
config = {
bucket = "anotherbucket"
key = "master.tfstate"
}
}
如果问题解决了,建议提个PR来更新文档,这样其他人就可以避免同样的问题了。
我正在使用 Terraform 进行 AWS 多账户设置。我有一个创建多个子账户的主账户,在子账户中我引用主账户的远程状态来检索输出值。
测试中此配置的 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.
从 the documentation 可以看出,这应该有效……我做错了什么?
➜ test terraform -v
Terraform v0.12.2
+ provider.aws v2.14.0
似乎 related document 在升级到 0 后没有更新。12.x
作为错误提示,在config
=
data "terraform_remote_state" "common" {
backend = "s3"
config = {
bucket = "anotherbucket"
key = "master.tfstate"
}
}
如果问题解决了,建议提个PR来更新文档,这样其他人就可以避免同样的问题了。