💡

Terraform Tips

2022/08/31に公開

Terraformで役立った情報をメモしていく予定です。

for_eachでmapのlistを使う

設定は全く同じだけど、bucketとtagsのNameだけ違うふたつのS3を作りたいことがあったのですが、mapのlistを使うことで実現できました。

s3.tf
locals{
  buckets = [
    { bucket = "bucket_a", name = "aaa" },
    { bucket = "bucket_b", name = "bbb" }
  ]
}
resource "aws_s3_bucket" "a" {
  for_each = {for i in local.buckets : i.bucket => i }
  
  bucket = each.value.bucket
  tags = {
    Name = each.value.name 
  }
  ...
}

こちらの記事が神でした。
Terraformのfor_eachにmapのlistを渡してループしたい

Discussion