バージョン
$ terraform --version
Terraform v0.12.24
変数
- map型で作成
tfvars.tf
albs = {
demo = "vamdemic-development-demo-alb"
dev2 = "vamdemic-development-dev2-alb"
}
foreachで取り扱うソース
- リソース内に
for_each
を使うことで、その要素分ループする -
each.value
でvariablesで定義した値を使うことができる -
each.key
でリソース本体を取得 -
data.aws_lb.lb["${each.key}"].arn
のようにすることで、data型で取得したリソースのarnを呼び出している
wafv2.tf
# 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
}