【发布时间】:2021-06-15 03:10:23
【问题描述】:
我正在尝试为 aws_route_table 创建创建一个 terraform 模块,这是此资源定义的示例:
resource "aws_route_table" "example" {
vpc_id = aws_vpc.example.id
route {
cidr_block = "10.0.1.0/24"
gateway_id = aws_internet_gateway.example.id
}
route {
ipv6_cidr_block = "::/0"
egress_only_gateway_id = aws_egress_only_internet_gateway.example.id
}
tags = {
Name = "example"
}
}
我正在尝试通过使用动态块使其更具动态性。问题是我总是必须在内容块中定义键
resource "aws_route_table" "example" {
...
dynamic "route" {
for_each = var.route
content {
cidr_block = route.value.cidr_block
gateway_id = route.value.gateway_id
}
}
...
}
所以在这种情况下,我需要编写两个动态块,一个用于cidr_block 和gateway_id 的内容,另一个用于ipv6_cidr_block 和egress_only_gateway_id 的内容。
有没有办法在不明确定义键的情况下做到这一点。像这样的:
dynamic "route" {
for_each = var.route
content {
var.route.map
}
}
【问题讨论】:
标签: amazon-web-services dynamic terraform terraform-provider-aws