错误 aws_alb_target_group 已设置 "count",必须在特定实例上访问其属性
Error aws_alb_target_group has "count" set, its attributes must be accessed on specific instances
我正在使用 Terraform v0.12.26
并将 aws_alb_target_group
设置为:
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
}
}
当地人长这样:
locals {
target_groups = [
"green",
"blue",
]
}
当我运行terraform apply
它returns出现如下错误:
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]
知道如何解决吗?
输出
output "target_groups_arn" {
value = [
aws_alb_target_group.http.arn,
]
}
由于 aws_alb_target_group.http 是一个计数资源,您需要按索引引用特定实例或将所有实例作为列表引用 [*]
(又名Splat Expressions) 如下:
output "target_groups_arn" {
value = aws_alb_target_group.http[*].arn,
}
target_groups_arn 输出将是 TG ARN 列表。
我正在使用 Terraform v0.12.26
并将 aws_alb_target_group
设置为:
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
}
}
当地人长这样:
locals {
target_groups = [
"green",
"blue",
]
}
当我运行terraform apply
它returns出现如下错误:
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]
知道如何解决吗?
输出
output "target_groups_arn" {
value = [
aws_alb_target_group.http.arn,
]
}
由于 aws_alb_target_group.http 是一个计数资源,您需要按索引引用特定实例或将所有实例作为列表引用 [*]
(又名Splat Expressions) 如下:
output "target_groups_arn" {
value = aws_alb_target_group.http[*].arn,
}
target_groups_arn 输出将是 TG ARN 列表。