11locals {
22 all_domains = concat ([var . domain_name . domain ], [
3- for v in var . subject_alternative_names : v . domain
3+ for v in var . subject_alternative_names : v . domain
44 ])
55 all_zones = concat ([var . domain_name . zone ], [
6- for v in var . subject_alternative_names : v . zone
7- ])
8- distinct_zones = distinct (local. all_zones )
9- distinct_domains = distinct ([
10- for domain in local . all_domains : replace (domain, " *." , " " )
6+ for v in var . subject_alternative_names : v . zone
117 ])
8+ distinct_zones = distinct (local. all_zones )
129 zone_name_to_id_map = zipmap (local. distinct_zones , data. aws_route53_zone . self [* ]. zone_id )
13- domain_to_zone_map = zipmap (local. all_domains , local. all_zones )
10+ domain_to_zone_map = zipmap (local. all_domains , local. all_zones )
1411
1512 cert_san = reverse (sort ([
16- for v in var . subject_alternative_names : v . domain
13+ for v in var . subject_alternative_names : v . domain
1714 ]))
1815 cert_validation_domains = [
19- for v in aws_acm_certificate . self . domain_validation_options : tomap (v) if contains (local . distinct_domains , replace (v . domain_name , " *. " , " " ) )
16+ for v in aws_acm_certificate . self . domain_validation_options : tomap (v)
2017 ]
2118}
2219
2320data "aws_route53_zone" "self" {
2421 count = length (local. distinct_zones )
2522
26- name = local. distinct_zones [count . index ]
23+ name = local. distinct_zones [count . index ]
2724 private_zone = false
2825}
2926
3027resource "aws_acm_certificate" "self" {
31- domain_name = var. domain_name . domain
28+ domain_name = var. domain_name . domain
3229 subject_alternative_names = local. cert_san
33- validation_method = " DNS"
30+ validation_method = " DNS"
3431
3532 tags = var. tags
3633
@@ -43,8 +40,8 @@ resource "aws_acm_certificate" "self" {
4340}
4441
4542resource "aws_route53_record" "validation" {
46- count = var. validation_set_records ? length (local. distinct_domains ) : 0
47-
43+ count = var. validation_set_records ? length (local. cert_validation_domains ) : 0
44+
4845 zone_id = lookup (local. zone_name_to_id_map , lookup (local. domain_to_zone_map , local. cert_validation_domains [count . index ][" domain_name" ]))
4946 name = local. cert_validation_domains [count . index ][" resource_record_name" ]
5047 type = local. cert_validation_domains [count . index ][" resource_record_type" ]
0 commit comments