Terraform 将地形输出从一个文件传递到另一个文件

Terraform 将地形输出从一个文件传递到另一个文件,terraform,terraform0.12+,Terraform,Terraform0.12+,我的结构如下: modules |_ test1 | |_vpc.tf |_test2 |_subnet.tf 我已经在test1/vpc.tf中创建了一个vpc resource "aws_vpc" "main" { cidr_block = "10.0.0.0/16" } 我在输出中获得vpc id,如: output "vpc_id" { value = aws_vpc.ma

我的结构如下:

modules
 |_ test1
 |    |_vpc.tf
 |_test2
      |_subnet.tf
我已经在test1/vpc.tf中创建了一个vpc

resource "aws_vpc" "main" {
  cidr_block = "10.0.0.0/16"
}
我在输出中获得vpc id,如:

output "vpc_id" {
  value = aws_vpc.main.id
}

如何将此id传递到test2/subnet.tf文件?我正在网上搜索,似乎找不到答案。

在subnet.tf中创建一个变量:

variable "vpc_id" {
  type = string
}
然后,在您使用这两个模块的主地形文件中,您将获取vpc模块的输出并将其传递给子网模块的输入:

module "vpc" {
  source = "modules/test1"
}

module "subnet" {
  source = "modules/test2"
  vpc_id = module.vpc.vpc_id
}

在subnet.tf中创建一个变量:

variable "vpc_id" {
  type = string
}
然后,在您使用这两个模块的主地形文件中,您将获取vpc模块的输出并将其传递给子网模块的输入:

module "vpc" {
  source = "modules/test1"
}

module "subnet" {
  source = "modules/test2"
  vpc_id = module.vpc.vpc_id
}