Skip to content

Releases: tcarrondo/terraform-cloudflare-zone

v5.0.1

25 Apr 09:32
3d8a847
Compare
Choose a tag to compare

What's Changed

Full Changelog: v5.0.0...v5.0.1

v5.0.0

15 Apr 17:57
e43ded9
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.3.0...v5.0.0

Some help when upgrading from v4.x:

terraform state rm module.domain.cloudflare_record.domain_ipv4
terraform state rm module.domain.cloudflare_record.domain_www
terraform state rm module.domain.cloudflare_record.records
terraform state rm module.domain.cloudflare_zone_settings_override.domain

and:

locals {
  zone_settings = {
    ssl                      = "full"
    always_use_https         = "on"
    automatic_https_rewrites = "on"
    cache_level              = "aggressive"
    development_mode         = "off"
  }
}

data "cloudflare_zone" "main" {
  filter = {
    name = local.domain
  }
}

import {
  for_each = local.zone_settings
  id       = "${data.cloudflare_zone.main.zone_id}/${each.key}"
  to       = module.domain.cloudflare_zone_setting.all[each.key]
}

data "cloudflare_dns_record" "ipv4" {
  zone_id = data.cloudflare_zone.main.zone_id
  filter = {
    name = {
      exact = local.domain
    }
    type = "A"
  }
}

import {
  id = "${data.cloudflare_zone.main.zone_id}/${data.cloudflare_dns_record.ipv4.dns_record_id}"
  to = module.domain.cloudflare_dns_record.domain_ipv4[0]
}

data "cloudflare_dns_record" "www" {
  zone_id = data.cloudflare_zone.main.zone_id
  filter = {
    name = {
      exact = "www.${local.domain}"
    }
    type = "CNAME"
  }
}

import {
  id = "${data.cloudflare_zone.main.zone_id}/${data.cloudflare_dns_record.www.dns_record_id}"
  to = module.domain.cloudflare_dns_record.domain_www[0]
}

locals {
  final_records = { for record in local.dns_records :
    "${record.name}_${record.type}" => record
  }
}

data "cloudflare_dns_record" "records" {
  for_each = local.final_records
  zone_id  = data.cloudflare_zone.main.zone_id
  filter = {
    name = {
      exact = "${each.value.name}.${data.cloudflare_zone.main.name}"
    }
    type = each.value.type
  }
}

import {
  for_each = local.final_records
  id       = "${data.cloudflare_zone.main.zone_id}/${data.cloudflare_dns_record.records[each.key].dns_record_id}"
  to       = module.domain.cloudflare_dns_record.records[each.key]
}

4.3.0

08 Oct 19:46
650e80b
Compare
Choose a tag to compare
  • Improve record management
  • Bump to Cloudflare provider v4

4.1.0

04 Mar 23:14
56e1ffc
Compare
Choose a tag to compare
Merge pull request #20 from tcarrondo/bump-to-cloudflare-v3.32

fix var type

Upgrade to terraform v1.0

14 Nov 11:50
Compare
Choose a tag to compare
  • Upgrade to terraform v1.0
  • Improve extra records management (breaking change)

Upgrade to terraform v0.13

23 Jan 14:51
257751f
Compare
Choose a tag to compare

This version is compatible with terraform v0.13

Zone id output

15 Feb 09:52
4ac002e
Compare
Choose a tag to compare
v2.2

fix output to zone_id

Add NS output

23 Dec 22:57
e70bf3d
Compare
Choose a tag to compare
v2.1

Add NS output.

Upgrade to terraform 0.12

23 Dec 22:55
f19f69c
Compare
Choose a tag to compare

Upgrade to terraform 0.12

The basics

07 Apr 22:27
a3c003a
Compare
Choose a tag to compare

This is the starting point and already does a lot!