provider "aws" {
  region = var.aws_region
}

# Terraform backends cannot contain interpolations
terraform {
  backend "s3" {
    bucket  = "networking-orcd-terraform-state"
    key     = "networking/domains/terraform.tfstate"
    region  = "us-east-1"
    encrypt = "true"
  }
}

module "pdestorage" {
  #  checkov:skip=CKV2_AWS_38:Decision on query logging is pending
  #  checkov:skip=CKV2_AWS_39:Decision on query logging is pending
  source = "git@github.com:theorchard/terraform-route53.git//?ref=1.0.2"

  zone_type = "public"
  name      = "pdestorage.com"
}

resource "aws_route53_record" "a_records" {
  for_each = var.a_records
  zone_id  = module.pdestorage.public_zone_id
  name     = each.key
  type     = "A"
  ttl      = 300
  records  = each.value.records
}

resource "aws_route53_record" "cname_records" {
  for_each = var.cname_records
  zone_id  = module.pdestorage.public_zone_id
  name     = each.key
  type     = "CNAME"
  ttl      = 300
  records  = each.value.records
}

resource "aws_route53_record" "txt_records" {
  for_each = var.txt_records
  name    = each.key
  type    = "TXT"
  zone_id = module.pdestorage.public_zone_id
  ttl     = 300
  records = each.value.records
}

resource "aws_route53_record" "acm_dns_validation_record" {
  for_each        = var.acm_dns_validation_records
  allow_overwrite = false
  name            = each.key
  records         = each.value.records
  ttl             = 60
  type            = "CNAME"
  zone_id         = module.pdestorage.public_zone_id
}
