From 6c4646a49ef6559e1dbd3d3523de058e917c7f0c Mon Sep 17 00:00:00 2001 From: Chris Buckley Date: Wed, 29 Jan 2025 20:38:54 +0000 Subject: [PATCH] Cloudflare provider update to 5.0.0 Version 5.0.0 is a major rewrite of the provider. Migration guide here: https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/guides/version-5-upgrade --- modules/cloudflare/dns/dns.tf | 24 +++++++++++++----------- modules/cloudflare/dns/locals.tf | 2 +- modules/cloudflare/dns/versions.tf | 2 +- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/modules/cloudflare/dns/dns.tf b/modules/cloudflare/dns/dns.tf index 3ed4d6a..f0b75b0 100644 --- a/modules/cloudflare/dns/dns.tf +++ b/modules/cloudflare/dns/dns.tf @@ -1,19 +1,20 @@ data "cloudflare_zones" "lookup" { for_each = toset(var.create_zone ? [] : [var.domain]) - - filter { - name = each.value - account_id = var.account_id + name = each.value + account = { + id = var.account_id } } resource "cloudflare_zone" "dns" { - for_each = toset(var.create_zone ? [var.domain] : []) - zone = each.value - account_id = var.account_id + for_each = toset(var.create_zone ? [var.domain] : []) + name = each.value + account = { + id = var.account_id + } } -resource "cloudflare_record" "dns" { +resource "cloudflare_dns_record" "dns" { for_each = var.records zone_id = local.zone_id @@ -25,7 +26,7 @@ resource "cloudflare_record" "dns" { proxied = each.value.proxied } -resource "cloudflare_record" "apex_txt" { +resource "cloudflare_dns_record" "apex_txt" { for_each = toset(concat(var.apex_txt, [ format("security_contact=mailto:%s", local.security_contact), replace("v=spf1 ${join(" ", var.spf)} -all", " ", " ") @@ -39,13 +40,14 @@ resource "cloudflare_record" "apex_txt" { proxied = false } -resource "cloudflare_record" "caa" { +resource "cloudflare_dns_record" "caa" { for_each = toset(var.caa_issuers) zone_id = local.zone_id name = "@" + ttl = var.default_ttl type = "CAA" - data { + data = { flags = "0" tag = "issue" value = each.value diff --git a/modules/cloudflare/dns/locals.tf b/modules/cloudflare/dns/locals.tf index 26b6569..689141e 100644 --- a/modules/cloudflare/dns/locals.tf +++ b/modules/cloudflare/dns/locals.tf @@ -1,5 +1,5 @@ locals { - zone_id = var.create_zone ? cloudflare_zone.dns[var.domain].id : data.cloudflare_zones.lookup[var.domain].zones[0].id + zone_id = var.create_zone ? cloudflare_zone.dns[var.domain].id : data.cloudflare_zones.lookup[var.domain].result[0].id security_contact = var.security_contact != null ? var.security_contact : format("security@%s", var.domain) } diff --git a/modules/cloudflare/dns/versions.tf b/modules/cloudflare/dns/versions.tf index 72af8bc..ba966e0 100644 --- a/modules/cloudflare/dns/versions.tf +++ b/modules/cloudflare/dns/versions.tf @@ -4,7 +4,7 @@ terraform { required_providers { cloudflare = { source = "cloudflare/cloudflare" - version = ">= 4.39.0, < 5.0.0" + version = ">= 5.0.0" } } }