如何访问元组的值?

How can I access value of tuple?

我想知道如何从以下输出中访问值:

output "backend_tg_arn" {
  value = var.backend_tg_needed ? aws_lb_target_group.backend_tg[*].arn : null
}

生成代码如下:

resource "aws_lb_target_group" "backend_tg" {
  count       = var.backend_tg_needed ? 1 : 0
  name        = "${var.client_code}-${var.environment}-backend-tg"
  port        = var.backend_port
  protocol    = "HTTP"
  target_type = var.backend_target_type
  vpc_id      = aws_vpc.main_vpc.id
}

上面的输出作为变量传递给另一个模块:

   backend_tg_arn = module.network.backend_tg_arn

我正在尝试将其分配给 alb 侦听器的默认操作:

  default_action {
    type             = "forward"
    target_group_arn = var.backend_tg_arn
  }
}

获取错误:

var.backend_tg_arn is tuple with 1 element

Inappropriate value for attribute "target_group_arn": string required.

我正在努力如何访问这个 arn 值...它应该通过某种循环来完成,但无法弄清楚。

您始终将计数设置为 1,这样您就可以只输出创建的第一个元素:

output "backend_tg_arn" {
  value = var.backend_tg_needed ? aws_lb_target_group.backend_tg[0].arn : null
}