Estoy usando Terraform v0.12.26 y configuré aws_alb_target_group como:
resource "aws_alb_target_group" "my-group" { count = "${length(local.target_groups)}" name = "${var.namespace}-my-group-${ element(local.target_groups, count.index) }" port = 8081 protocol = "HTTP" vpc_id = var.vpc_id health_check { healthy_threshold = var.health_check_healthy_threshold unhealthy_threshold = var.health_check_unhealthy_threshold timeout = var.health_check_timeout interval = var.health_check_interval path = var.path } tags = { Name = var.namespace } lifecycle { create_before_destroy = true } }Los lugareños se parecen a:
locals { target_groups = [ "green", "blue", ] } Cuando ejecuto terraform apply devuelve el siguiente error:
Error: Missing resource instance key on ../../modules/aws_alb/outputs.tf line 3, in output "target_groups_arn": 3: aws_alb_target_group.http.arn, Because aws_alb_target_group.http has "count" set, its attributes must be accessed on specific instances. For example, to correlate with indices of a referring resource, use: aws_alb_target_group.http[count.index]Seguí esta implementación
¿Alguna idea de cómo arreglarlo?
Producción
output "target_groups_arn" { value = [ aws_alb_target_group.http.arn, ] }Dado que aws_alb_target_group.http es un recurso contado, deberá hacer referencia a instancias específicas por índice o todas ellas como una lista con [*] (también conocido como Splat Expressions ) de la siguiente manera:
output "target_groups_arn" { value = aws_alb_target_group.http[*].arn, }La salida target_groups_arn será una lista de los ARN de TG.