なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

Terraform の Cloudflare Provider で CAA レコードを作成したい

Terraform で Cloudflare の DNS 設定を管理していたけど、微妙に詰まったのでメモ。 Terraform の Cloudflare Provider で CAA レコードを追加しようと思って調べてみると、以下のように出てくる。

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 になったこと。 覚えておきましょう (ドキュメントにもあるよ)