diff --git a/modules/cloudflare/dns/README.md b/modules/cloudflare/dns/README.md
index ec2f1d5..e06f27e 100644
--- a/modules/cloudflare/dns/README.md
+++ b/modules/cloudflare/dns/README.md
@@ -9,21 +9,21 @@ The module also simplifies a few boilerplate records at the apex for security pu
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | ~> 1.3 |
-| [cloudflare](#requirement\_cloudflare) | >= 4.39.0, < 5.0.0 |
+| [cloudflare](#requirement\_cloudflare) | >= 5.1.0 |
## Providers
| Name | Version |
|------|---------|
-| [cloudflare](#provider\_cloudflare) | >= 4.39.0, < 5.0.0 |
+| [cloudflare](#provider\_cloudflare) | >= 5.1.0 |
## Resources
| Name | Type |
|------|------|
-| [cloudflare_record.apex_txt](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/record) | resource |
-| [cloudflare_record.caa](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/record) | resource |
-| [cloudflare_record.dns](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/record) | resource |
+| [cloudflare_dns_record.apex_txt](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/dns_record) | resource |
+| [cloudflare_dns_record.caa](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/dns_record) | resource |
+| [cloudflare_dns_record.dns](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/dns_record) | resource |
| [cloudflare_zone.dns](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/zone) | resource |
| [cloudflare_zones.lookup](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/data-sources/zones) | data source |
diff --git a/modules/cloudflare/dns/dns.tf b/modules/cloudflare/dns/dns.tf
index 3ed4d6a..efad576 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,14 +40,15 @@ 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 {
- flags = "0"
+ 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..664681b 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.1.0"
}
}
}