Terraform 如何将一种资源的输出值作为输入分配给另一种资源?

Terraform 如何将一种资源的输出值作为输入分配给另一种资源?,terraform,terraform-provider-aws,Terraform,Terraform Provider Aws,我的根模块中有两个.tf文件: 第一个称为api网关.tf,它在AWS中提供一个api网关: resource "aws_apigatewayv2_api" "apiGateway" { name = "some_Name" protocol_type = "HTTP" } output "api_gateway_endpoint" { value = "${aws_apigatewayv2_api.apiGateway.api_endpoint}" } output

我的根模块中有两个
.tf
文件:

第一个称为
api网关.tf
,它在AWS中提供一个api网关:

resource "aws_apigatewayv2_api" "apiGateway" {
  name          = "some_Name"
  protocol_type = "HTTP"
}

output "api_gateway_endpoint" {
value = "${aws_apigatewayv2_api.apiGateway.api_endpoint}"
}
output "api_gateway_endpoint_id" {
value = "${aws_apigatewayv2_api.apiGateway.id}"
}
我有另一个名为
route53.tf
.tf
文件,它创建了一个
route53
记录:

resource "aws_route53_record" "www" {
  zone_id = "xxxxx"
  name    = "someurl.com"
  type    = "A"
  alias {
    name                   = "${output.api_gateway_endpoint}"
    zone_id                = "${output.api_gateway_endpoint_id}"
    evaluate_target_health = false
  }
}
我需要将apigateway的
api_端点
id
传递到route53,但我不知道如何传递

我尝试使用
输出返回这两个值,并在route53资源中引用它,但是它不起作用。它给我一个
未声明的资源错误


如何将一个资源的输出值作为输入分配给另一个资源?

假设同时处理两个TF文件,则需要使用输出变量,这只是一个参考

zone\u id=“${aws\u apigatewayv2\u api.apiGateway.regional\u zone\u id}”


例如,我的api网关块(在我的api_gateway.tf中)是

而我的route53区块(在我的route53.tf中)看起来是这样的

resource "aws_route53_record" "devapi" 
 {
  name    = "${aws_api_gateway_domain_name.devapi.domain_name}"
  type    = "A"
  zone_id = "${data.aws_route53_zone.mts.id}"

  alias {
    evaluate_target_health = true
    name                   = "${aws_api_gateway_domain_name.devapi.regional_domain_name}"
    zone_id                = "${aws_api_gateway_domain_name.devapi.regional_zone_id}"
  }
}
resource "aws_route53_record" "devapi" 
 {
  name    = "${aws_api_gateway_domain_name.devapi.domain_name}"
  type    = "A"
  zone_id = "${data.aws_route53_zone.mts.id}"

  alias {
    evaluate_target_health = true
    name                   = "${aws_api_gateway_domain_name.devapi.regional_domain_name}"
    zone_id                = "${aws_api_gateway_domain_name.devapi.regional_zone_id}"
  }
}