Skip to content

oozou/terraform-aws-ses

Repository files navigation

terraform-aws-ses

Terraform module use to create AWS SES.

Usage

  • Domain verification
module "ses" {
  source = "git::ssh://[email protected]:oozou/terraform-aws-ses.git?ref=main"
  ses_mode = "domain"
  ses_domain = {
    domain            = "<domain>"
    is_verify_dkim    = true
    is_verify_domain  = true
    route53_zone_name = "<route53-zone-name>"
  }
}
  • Email verification
module "ses" {
  source = "git::ssh://[email protected]:oozou/terraform-aws-ses.git?ref=main"
  ses_mode = "email"
  ses_email = {
    email = "<email>"
  }
}

Requirements

Name Version
terraform >= 1.0.0
aws >= 4.0

Providers

Name Version
aws 4.33.0

Modules

No modules.

Resources

Name Type
aws_iam_policy.consumers_send resource
aws_route53_record.this_dkim_verification resource
aws_route53_record.this_domain_verification resource
aws_ses_domain_dkim.this resource
aws_ses_domain_identity.this resource
aws_ses_email_identity.this resource
aws_caller_identity.main data source
aws_iam_policy_document.consumers_send data source
aws_region.active data source
aws_route53_zone.selected data source

Inputs

Name Description Type Default Required
environment To manage a resources with tags string n/a yes
prefix The prefix name of customer to be displayed in AWS console and resource string n/a yes
is_create_consumer_policy Whether to create consumer readonly policy bool false no
ses_domain Domain that will be use as SES identity.
object({
domain = string
route53_zone_name = string
is_verify_domain = bool
is_verify_dkim = bool
})
{
"domain": null,
"is_verify_dkim": false,
"is_verify_domain": false,
"route53_zone_name": null
}
no
ses_email Email that will be use as SES identity.
object({
email = string
})
{
"email": null
}
no
ses_mode Mode defines which method to verify identity for SES, which are email and domain. string "domain" no
tags Custom tags which can be passed on to the AWS resources. They should be key value pairs having distinct keys. map(string) {} no

Outputs

Name Description
cosumer_policy_arn ARN of Consumer Policy
ses_dkim_tokens A list of DKIM Tokens which, when added to the DNS Domain as CNAME records, allows for receivers to verify that emails were indeed authorized by the domain owner.
ses_domain_identity_arn The ARN of the SES domain identity
ses_domain_identity_verification_token A code which when added to the domain as a TXT record will signal to SES that the owner of the domain has authorised SES to act on their behalf. The domain identity will be in state 'verification pending' until this is done. See below for an example of how this might be achieved when the domain is hosted in Route 53 and managed by Terraform. Find out more about verifying domains in Amazon SES in the AWS SES docs.
ses_email_identity_arn The ARN of the SES email identity