bsmsapp/terraform/modules/acm/main.tf

41 lines
1.2 KiB
HCL

# ---------------------------------------------------------------------------
# Amazon ACM
# ---------------------------------------------------------------------------
data "aws_route53_zone" "this" {
name = var.domain_name
}
resource "aws_acm_certificate" "this" {
domain_name = var.domain_name
subject_alternative_names = var.subject_alternative_names
validation_method = var.validation_method
tags = var.tags
lifecycle {
create_before_destroy = true
}
}
resource "aws_route53_record" "this" {
allow_overwrite = var.validation_allow_overwrite_records
name = tolist(aws_acm_certificate.this.domain_validation_options)[0].resource_record_name
records = [tolist(aws_acm_certificate.this.domain_validation_options)[0].resource_record_value]
type = tolist(aws_acm_certificate.this.domain_validation_options)[0].resource_record_type
zone_id = data.aws_route53_zone.this.zone_id
ttl = var.dns_ttl
depends_on = [aws_acm_certificate.this]
}
resource "aws_acm_certificate_validation" "this" {
certificate_arn = aws_acm_certificate.this.arn
validation_record_fqdns = [aws_route53_record.this.fqdn]
timeouts {
create = var.validation_timeout
}
}