【Terraform】terraformでforeachを使う方法

$ terraform --version
Terraform v0.12.24
albs = {
demo = "vamdemic-development-demo-alb"
dev2 = "vamdemic-development-dev2-alb"
}
for_each
を使うことで、その要素分ループするeach.value
でvariablesで定義した値を使うことができるeach.key
でリソース本体を取得data.aws_lb.lb["${each.key}"].arn
のようにすることで、data型で取得したリソースのarnを呼び出している# Get ALB arn
data "aws_lb" "lb" {
for_each = var.albs
name = each.value
}
# WAFv2 assosiation to ALB
resource "aws_wafv2_web_acl_association" "main" {
for_each = data.aws_lb.lb
resource_arn = data.aws_lb.lb["${each.key}"].arn
web_acl_arn = aws_wafv2_web_acl.example.arn
}