Files
terraform-cloudflare-email/moved.tf
Jim Myhrberg 45840610ba feat!: upgrade to Cloudflare provider v5
The Cloudflare Terraform provider v5 is a ground-up rewrite with renamed
resources, changed attributes, and a new worker deployment model. This is
a breaking change requiring provider v5.x.

Resource migrations:
- cloudflare_record → cloudflare_dns_record (all 8 DNS records)
- value → content on all DNS records
- cloudflare_worker_script → cloudflare_worker + cloudflare_worker_version
  + cloudflare_workers_deployment (new 3-resource pattern)
- cloudflare_worker_route → cloudflare_workers_route, script_name → script
- cloudflare_workers_kv key → key_name
- data.cloudflare_zone: dropped account_id (no longer top-level in v5)
- smtp_tls record: added required ttl attribute
- mta-sts.js: converted from Service Worker to ES module format

State migration:
- moved blocks handle DNS record and route renames automatically
- Worker script (1→3 resources) requires manual state rm of the old
  cloudflare_worker_script resource

BREAKING CHANGE: Requires Cloudflare provider >= 5.0, < 6.0

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 17:37:38 +00:00

55 lines
1.0 KiB
HCL

# State migration helpers for Cloudflare provider v4 → v5 upgrade.
# These allow existing users to upgrade without manual state manipulation
# for renamed resources. Can be removed in a future major release.
# MX
moved {
from = cloudflare_record.mx
to = cloudflare_dns_record.mx
}
# SPF
moved {
from = cloudflare_record.spf
to = cloudflare_dns_record.spf
}
# TLS SMTP
moved {
from = cloudflare_record.smtp_tls
to = cloudflare_dns_record.smtp_tls
}
# MTA-STS
moved {
from = cloudflare_record.mta-sts-a
to = cloudflare_dns_record.mta-sts-a
}
moved {
from = cloudflare_record.mta-sts-aaaa
to = cloudflare_dns_record.mta-sts-aaaa
}
moved {
from = cloudflare_record.mta_sts
to = cloudflare_dns_record.mta_sts
}
moved {
from = cloudflare_worker_route.mta_sts_route
to = cloudflare_workers_route.mta_sts_route
}
# DMARC
moved {
from = cloudflare_record.dmarc
to = cloudflare_dns_record.dmarc
}
# Domain Keys (DKIM)
moved {
from = cloudflare_record.domainkeys
to = cloudflare_dns_record.domainkeys
}