kry*_*our 1 amazon-web-services terraform terraform-provider-aws
我正在尝试使用 Terraform 创建一个网络负载平衡器,重要的是它与防止被破坏的弹性 IP 相关联。
我有如下代码:
resource "aws_lb" "balancer" {
name = "${var.name}-nlb"
internal = "${var.internal}"
load_balancer_type = "network"
subnets = ["${data.aws_subnet_ids.selected.ids}"]
subnet_mapping {
subnet_id = "someid"
allocation_id = "someid"
}
subnet_mapping {
subnet_id = "someid"
allocation_id = "someid"
}
subnet_mapping {
subnet_id = "someid"
allocation_id = "someid"
}
tags = "${merge(var.tags,
map("Terraform", "true"),
map("Environment", var.environment))}"
}
Run Code Online (Sandbox Code Playgroud)
我所追求的是subnet_mapping
动态地制作块,因为这段代码位于一个模块中,我想根据传入的子网数量创建映射数量。要么是,要么是传入预定义的块。
有没有办法做到这一点?对我来说重要的是相关的弹性 IP 需要坚持下去。
为此,您可以使用 Terraform 0.12 中的动态块功能。
resource "aws_lb" "balancer" {
name = "${var.name}-nlb"
load_balancer_type = "network"
dynamic "subnet_mapping" {
for_each = aws_subnet.public.*.id
content {
subnet_id = subnet_mapping.value
allocation_id = aws_eip.lb[subnet_mapping.key].id
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2068 次 |
最近记录: |