resource "aws_acm_certificate" "cert" {
	region            = "us-east-1"
	domain_name       = var.base_domain
	validation_method = "DNS"

	subject_alternative_names = [
		"www.${var.base_domain}",
		"reservation-widget.${var.base_domain}"
	]

	lifecycle {
		create_before_destroy = true
	}
}

resource "aws_route53_record" "cert_validation" {
	for_each = {
		for dvo in aws_acm_certificate.cert.domain_validation_options : dvo.domain_name => {
			name   = dvo.resource_record_name
			record = dvo.resource_record_value
			type   = dvo.resource_record_type
		}
	}

	allow_overwrite = true
	name            = each.value.name
	records         = [each.value.record]
	ttl             = 60
	type            = each.value.type
	zone_id         = data.aws_route53_zone.kadicon.zone_id
}

resource "aws_acm_certificate_validation" "cert" {
	region                  = "us-east-1"
	certificate_arn         = aws_acm_certificate.cert.arn
	validation_record_fqdns = [for record in aws_route53_record.cert_validation : record.fqdn]
}
