terraformでネストしたfor_eachみたいなことをする
terraform v0.12からfor_eachが使えるようになった。ネストしたくなったときはflattenするよう。
code:sample.tf
locals {
ec2_fleet_overrides = flatten([
for subnet_id in var.subnet_ids: [
for instance_type in var.ecs_instance_types: {
subnet_id = subnet_id
instance_type = instance_type
}
]
])
}
resource "aws_ec2_fleet" "rooms" {
launch_template_config {
launch_template_specification {
launch_template_id = aws_launch_template.app.id
version = aws_launch_template.app.latest_version
}
dynamic "override" {
for_each = local.ec2_fleet_overrides
content {
instance_type = override.value.instance_type
subnet_id = override.value.subnet_id
}
}
}
}
参考