-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.tf
76 lines (69 loc) · 1.63 KB
/
main.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
required_version = ">= 1.0"
}
resource "aws_route53_record" "mx" {
zone_id = var.zone.id
name = var.zone.name
type = "MX"
ttl = var.ttl
records = [
"${var.mx_priority} mx01.mail.icloud.com.",
"${var.mx_priority} mx02.mail.icloud.com.",
]
}
locals {
txt_apex_records = [
"v=spf1 ${join(" ", [for i in var.spf_includes : "include:${i}"])} ${var.spf_policy}",
"apple-domain=${var.domain_verif_data}",
]
}
resource "aws_route53_record" "txt_apex" {
count = var.manage_txt_apex_records ? 1 : 0
zone_id = var.zone.id
name = var.zone.name
type = "TXT"
ttl = var.ttl
records = concat(local.txt_apex_records, var.additional_txt_apex_records)
}
resource "aws_route53_record" "dkim" {
zone_id = var.zone.id
name = "sig1._domainkey.${var.zone.name}"
type = "CNAME"
ttl = var.ttl
records = [
"sig1.dkim.${var.zone.name}.at.icloudmailadmin.com.",
]
}
resource "aws_route53_record" "dmarc" {
zone_id = var.zone.id
name = "_dmarc.${var.zone.name}"
type = "TXT"
ttl = var.ttl
records = [
"v=DMARC1; p=${var.dmarc_policy};",
]
}
resource "aws_route53_record" "srv_submission" {
zone_id = var.zone.id
name = "_submission._tcp.${var.zone.name}"
type = "SRV"
ttl = var.ttl
records = [
"0 1 587 smtp.mail.me.com.",
]
}
resource "aws_route53_record" "srv_imaps" {
zone_id = var.zone.id
name = "_imaps._tcp.${var.zone.name}"
type = "SRV"
ttl = var.ttl
records = [
"0 1 993 imap.mail.me.com.",
]
}