generated from DNXLabs/terraform-aws-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathses.tf
76 lines (67 loc) · 2.74 KB
/
ses.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
resource "aws_ses_domain_identity" "ses_domain" {
for_each = { for domain in var.domain_identities : domain.domain => domain }
domain = each.key
}
resource "aws_ses_email_identity" "default" {
for_each = toset(var.email_identities)
email = each.key
}
resource "aws_ses_domain_mail_from" "ses_domain_mail_from" {
for_each = {
for domain in var.domain_identities : domain.domain => domain
if domain.create_domain_mail_from && domain.is_route53
}
domain = aws_ses_domain_identity.ses_domain[each.key].domain
mail_from_domain = "mail.${aws_ses_domain_identity.ses_domain[each.key].domain}"
}
resource "aws_ses_domain_dkim" "ses_domain_dkim" {
for_each = { for domain in var.domain_identities : domain.domain => domain }
domain = aws_ses_domain_identity.ses_domain[each.key].domain
}
resource "aws_route53_record" "verification_record" {
for_each = {
for domain in var.domain_identities : domain.domain => domain
if domain.create_verification_record && domain.is_route53
}
zone_id = data.aws_route53_zone.main[each.key].zone_id
name = "_amazonses.${each.key}"
type = "TXT"
ttl = "600"
records = [aws_ses_domain_identity.ses_domain[each.key].verification_token]
}
resource "aws_route53_record" "amazonses_dkim_record" {
for_each = { for token in flatten([
for domain in var.domain_identities : [
{ name : domain.domain, index : 0 },
{ name : domain.domain, index : 1 },
{ name : domain.domain, index : 2 },
]
]) : "${token.name}-${token.index}" => token }
zone_id = data.aws_route53_zone.main[each.value.name].zone_id
name = "${aws_ses_domain_dkim.ses_domain_dkim[each.value.name].dkim_tokens[each.value.index]}._domainkey"
type = "CNAME"
ttl = "600"
records = ["${aws_ses_domain_dkim.ses_domain_dkim[each.value.name].dkim_tokens[each.value.index]}.dkim.amazonses.com"]
}
resource "aws_route53_record" "ses_domain_mail_from_mx" {
for_each = {
for domain in var.domain_identities : domain.domain => domain
if domain.create_domain_mail_from_mx && domain.is_route53
}
zone_id = data.aws_route53_zone.main[each.key].zone_id
name = aws_ses_domain_mail_from.ses_domain_mail_from[each.key].mail_from_domain
type = "MX"
ttl = "600"
records = ["10 feedback-smtp.${data.aws_region.current.name}.amazonses.com"]
}
resource "aws_route53_record" "ses_domain_mail_from_txt" {
for_each = {
for domain in var.domain_identities : domain.domain => domain
if domain.create_domain_mail_from_txt && domain.is_route53
}
zone_id = data.aws_route53_zone.main[each.key].zone_id
name = aws_ses_domain_mail_from.ses_domain_mail_from[each.key].mail_from_domain
type = "TXT"
ttl = "600"
records = ["v=spf1 include:amazonses.com ~all"]
}