小编Kev*_*xis的帖子

如何在子模块中使用远程状态数据源

我正在尝试从远程状态调用数据以引用网络 acl 的 vpc_id。当我运行计划/应用时,我收到错误“此对象没有参数、嵌套块或名为“vpc_id”的导出属性。

我试过使用“data.terraform_remote_state.*.vpc_id”以及“${}”语法。我尝试在子模块和父模块的 variables.tf 中定义 data.remote 信息。

我最终需要能够为不同的 VPC/子网动态调用这个模块。

相关的 VPC 已经存在,并且所有模块都已初始化。

s3 存储桶阶段/网络/vpc/terraform.tfstate:

"outputs": {
    "vpc_id": {
      "value": "vpc-1234567890",
      "type": "string"
    }
  },

enter code here
Run Code Online (Sandbox Code Playgroud)

模块/网络/acl/main.tf:

data "terraform_remote_state" "stage-network" {
  backend = "s3"

  config = {
    bucket          = "bucket"
    key             = "stage/network/vpc/terraform.tfstate"
  }
}

resource "aws_network_acl" "main" {
  vpc_id        = data.terraform_remote_state.stage-network.vpc_id
# acl variables here
Run Code Online (Sandbox Code Playgroud)

阶段/网络/acl/main.tf:

data "terraform_remote_state" "stage-network" {
  backend = "s3"

  config = {
    bucket          = "bucket"
    key             = "stage/network/vpc/terraform.tfstate"
  }
}

module "create_acl" …
Run Code Online (Sandbox Code Playgroud)

terraform terraform-provider-aws

1
推荐指数
1
解决办法
2546
查看次数

标签 统计

terraform ×1

terraform-provider-aws ×1