Cloudflare DNS 設定 API: Advanced Nameservers は foundation_dns ではなく nameservers.type: "cloudflare.advanced" で扱う
2026-10-26 から 7 日かけて、DNS 設定 API(/zones/{zone_id}/dns_settings と /accounts/{account_id}/dns_settings)の表現が変わる。Terraform や自作スクリプトで DNS 設定を読み書きしている場合、クライアント側の対応が要る。
何が変わるか
- 以前: Advanced Nameservers(Foundation DNS)は真偽値
"foundation_dns": trueで表していた - 以後:
"nameservers": { "type": "cloudflare.advanced" }で表す - ロールアウトがアカウントに届くまでは、Advanced Nameservers でも
nameservers.typeは"cloudflare.standard"が返る - 移行期間中も
PATCHで"cloudflare.advanced"を送れる(権利のあるアカウント)
json
{
"nameservers": { "type": "cloudflare.advanced" },
"foundation_dns": true
}やること
nameservers.typeを決まった値だけの enum として扱っているクライアントは、"cloudflare.advanced"を受け付けるように直す(知らない値で落ちる・既定値に戻すコードが危ない)- 新しく書き込むときは
nameservers.typeを使う PATCHでfoundation_dnsとnameservers.typeを両方送るなら値を一致させる。食い違うと API が拒否するfoundation_dnsは非推奨の互換エイリアスとして当面残るが、将来削除される。移行後は真偽値の処理を消す
注意点
- ロールアウト中は同じアカウントでも返り値が
standard/advancedで揺れうる。差分検出(drift)を見るツールは、この 7 日間は誤検知に注意 - この変更でサブスクリプションや Advanced Nameservers の有効・無効は変わらない。ゾーンの移行も不要