data "cloudflare_zone" "sng_to_cloudflare_zone" {
  name       = var.sng_to_cloudflare_zone
  account_id = var.cloudflare_account_id
}

resource "cloudflare_record" "sng_to_apex_record" {
  name    = "@"
  comment = "Apex record to use sng.to as a custom hostname"
  proxied = false
  ttl     = 1
  type    = "A"
  value   = "104.18.100.36"
  zone_id = data.cloudflare_zone.sng_to_cloudflare_zone.id
}

resource "cloudflare_record" "sng_to_wildcard_cname" {
  name    = "*"
  comment = "CNAME record to point *.sng.to to domains.songwhip.com"
  proxied = false
  ttl     = 1
  type    = "CNAME"
  value   = "domains.songwhip.com"
  zone_id = data.cloudflare_zone.sng_to_cloudflare_zone.id
}

resource "cloudflare_record" "custom_hostname_ownership_txt" {
  name    = "_cf-custom-hostname.sng.to"
  comment = "TXT record required to verify the ownership of the sng.to domain"
  type    = "TXT"
  value   = "5a9e9d20-d74f-4a39-8784-73cf0ac3fcb7"
  zone_id = data.cloudflare_zone.sng_to_cloudflare_zone.id
}

resource "cloudflare_record" "_acme-challenge_txt_1" {
  name    = "_acme-challenge.sng.to"
  comment = "TXT record required to validate the *.sng.to cloudflare edge ssl cert"
  type    = "TXT"
  value   = "WheUyBX3lJjXfb1Hz5TA1mqdVAoPgBPERctWi9aeBBc"
  zone_id = data.cloudflare_zone.sng_to_cloudflare_zone.id
}

resource "cloudflare_record" "_acme-challenge_txt_2" {
  name    = "_acme-challenge.sng.to"
  comment = "TXT record required to validate the *.sng.to cloudflare edge ssl cert"
  type    = "TXT"
  value   = "SlrYMb3eAzI-_0ruhlcAFRsys4P1f4n6DTah9DKdekw"
  zone_id = data.cloudflare_zone.sng_to_cloudflare_zone.id
}

resource "cloudflare_record" "staging_sng_to_record" {
  name    = "staging"
  comment = "CNAME record to point staging.sng.to to domains.songwhip.com"
  proxied = false
  ttl     = 1
  type    = "CNAME"
  value   = "domains.songwhip.com"
  zone_id = data.cloudflare_zone.sng_to_cloudflare_zone.id
}

resource "cloudflare_record" "staging_sng_to_wildcard_cname" {
  name    = "*.staging"
  comment = "CNAME record to point *.staging.sng.to to domains.songwhip.com"
  proxied = false
  ttl     = 1
  type    = "CNAME"
  value   = "domains.songwhip.com"
  zone_id = data.cloudflare_zone.sng_to_cloudflare_zone.id
}

resource "cloudflare_record" "staging_sng_to_custom_hostname_ownership_txt" {
  name    = "_cf-custom-hostname.staging.sng.to"
  comment = "TXT record required to verify the ownership of the staging.sng.to domain"
  type    = "TXT"
  value   = cloudflare_custom_hostname.staging_sng_to.ownership_verification.value
  zone_id = data.cloudflare_zone.sng_to_cloudflare_zone.id
}
