/ infrastructure / dns.tf
dns.tf
 1  resource "aws_route53_zone" "welkedeelauto" {
 2    name = var.domain
 3  }
 4  
 5  module "acm" {
 6    source  = "terraform-aws-modules/acm/aws"
 7    version = "~> 3.0"
 8  
 9    domain_name               = var.domain
10    zone_id                   = aws_route53_zone.welkedeelauto.zone_id
11    subject_alternative_names = [var.api_domain]
12  
13    wait_for_validation = true
14  
15    tags = {
16      Name = "Cert ${var.domain}"
17    }
18  }
19  
20  module "acm_global" {
21    source  = "terraform-aws-modules/acm/aws"
22    version = "4.3.2"
23  
24    domain_name = var.domain
25    zone_id     = aws_route53_zone.welkedeelauto.zone_id
26  
27    providers = {
28      aws = aws.global
29    }
30  }
31  
32  #resource "aws_route53_record" "next_cloudfront_alias" {
33  #  zone_id = aws_route53_zone.welkedeelauto.zone_id
34  #  name    = var.domain
35  #  type    = "A"
36  #
37  #  allow_overwrite = true
38  #
39  #  alias {
40  #    name                   = module.next_serverless.cloudfront_url
41  #    zone_id                = module.next_serverless.distribution.next_distribution.hosted_zone_id
42  #    evaluate_target_health = false
43  #  }
44  #}
45  
46  resource "aws_route53_record" "api" {
47    zone_id = aws_route53_zone.welkedeelauto.zone_id
48    name    = var.api_domain
49    type    = "A"
50  
51    alias {
52      name                   = module.api_gateway.apigatewayv2_domain_name_configuration[0].target_domain_name
53      zone_id                = module.api_gateway.apigatewayv2_domain_name_configuration[0].hosted_zone_id
54      evaluate_target_health = false
55    }
56  }
57