Terraform で Cloudflare の DNS 設定を管理していたけど、微妙に詰まったのでメモ。 Terraform の Cloudflare Provider で CAA レコードを追加しようと思って調べてみると、以下のように出てくる。
- Creation of CAA records · Issue #821 · cloudflare/terraform-provider-cloudflare · GitHub
- TerraformでCloudflareにCAAが登録できた話 | C#もぐもぐ
resource "cloudflare_record" "caa" { zone_id = var.zone_id name = var.name type = "CAA" data = { flags = "0" tag = "issue" value = var.authority } }
が、これはアップデート (3.0.0 以降) で動かなくなっている。
今はこれ。
resource "cloudflare_record" "caa" { zone_id = var.zone_id name = var.name type = "CAA" data { flags = "0" tag = var.tag value = var.authority } }
違いは Object や Map ではなく、 Block List になったこと。 覚えておきましょう (ドキュメントにもあるよ)