//创建我的弹性公网my:
resource "aws_eip" "nlb_eips" {
count = length(module.vpc.public_subnets)
}//这需要创建我的NLB并附加弹性公网it:
resource "aws_lb" "data-lake-NLB" {
name = "data-lake-NLB"
internal = false
load_balancer_type = "network"
enable_deletion_protection = true
subnet_mapping {
for_each = {for k,v in => ... ) } ????? # This part I can't figure out.
subnet_id = each.key
allocation_id = each.value
}
}发布于 2021-02-02 10:52:15
您可以使用dynamic blocks
resource "aws_lb" "data-lake-NLB" {
name = "data-lake-NLB"
internal = false
load_balancer_type = "network"
enable_deletion_protection = true
dynamic "subnet_mapping" {
for_each = range(length(var.public_subnets))
content {
subnet_id = module.vpc.public_subnets[ingress.key].id
allocation_id = aws_eip.nlb_eips[ingress.key].id
}
}
}确切的形式取决于module.vpc.public_subnets实际是什么。
发布于 2021-02-03 07:18:47
resource "aws_lb" "data-lake-NLB" {
name = "data-lake-NLB"
internal = false
load_balancer_type = "network"
enable_deletion_protection = true
dynamic "subnet_mapping" {
for_each = local.for_each_map
aws_eip.nlb_eips[*].public_ip)
content {
subnet_id = subnet_mapping.key
allocation_id = subnet_mapping.value
}
}
}
locals {
for_each_map = zipmap(module.vpc.public_subnets, aws_eip.nlb_eips[*].id)
}https://stackoverflow.com/questions/66002836
复制相似问题