Terraform module which creates Route53 resources.
There are independent submodules:
module "zones" {
source = "terraform-aws-modules/route53/aws//modules/zones"
version = "~> 2.0"
zones = {
"terraform-aws-modules-example.com" = {
comment = "terraform-aws-modules-examples.com (production)"
tags = {
env = "production"
}
}
"myapp.com" = {
comment = "myapp.com"
}
}
tags = {
ManagedBy = "Terraform"
}
}
module "records" {
source = "terraform-aws-modules/route53/aws//modules/records"
version = "~> 2.0"
zone_name = keys(module.zones.route53_zone_zone_id)[0]
records = [
{
name = "apigateway1"
type = "A"
alias = {
name = "d-10qxlbvagl.execute-api.eu-west-1.amazonaws.com"
zone_id = "ZLY8HYME6SFAD"
}
},
{
name = ""
type = "A"
ttl = 3600
records = [
"10.10.10.10",
]
},
]
depends_on = [module.zones]
}Note that depends_on in modules is available since Terraform 0.13.
- Complete Route53 zones and records example which shows how to create Route53 records of various types like S3 bucket and CloudFront distribution.
Sometimes you need to have a way to create resources conditionally but Terraform does not allow to use count inside module block, so the solution is to specify argument create.
Module is maintained by Anton Babenko with help from these awesome contributors.
Apache 2 Licensed. See LICENSE for full details.