Skip to content

Latest commit

 

History

History
112 lines (80 loc) · 5.75 KB

File metadata and controls

112 lines (80 loc) · 5.75 KB

Fixit Cloud ☁️ Module: AWS Route53

Terraform module for defining AWS Route53 resources.

Table of Contents


⚙️ Module Usage

Usage Examples

Requirements

Name Version
terraform 1.3.2
aws ~> 4.34.0

Providers

Name Version
aws ~> 4.34.0

Modules

No modules.

Resources

Name Type
aws_route53_delegation_set.map resource
aws_route53_record.map resource
aws_route53_zone.map resource

Inputs

Name Description Type Default Required
delegation_sets (Optional) List of delegation set names. list(string) [] no
hosted_zones Map of domain names to Route53 hosted zone config objects. To create
a private hosted zone, you must provide one of either "vpc_association"
or "delegation_set". Unless "should_setup_ns_records" is set to false,
each hosted zones name servers will be setup as NS record resources.
map(
# map keys: domain names
object({
description = optional(string, "Managed by Terraform")
delegation_set_id = optional(string)
vpc_association = optional(object({
vpc_id = string
vpc_region = optional(string)
}))
should_force_destroy = optional(bool, false)
should_setup_ns_records = optional(bool, true)
tags = optional(map(string))
})
)
n/a yes
records (Optional) List of DNS resource record config objects. "hosted_zone_domain"
values must be present as keys in the var.hosted_zones input object. "type"
must be one of A, AAAA, CAA, CNAME, DS, MX, NAPTR, NS, PTR, SOA, SPF, SRV or
TXT. One of either "non_alias_records" or "alias_record" must be provided.
Only 1 type of routing policy may be provided.
list(
object({
hosted_zone_domain = string # must be a key in var.hosted_zones
name = string # e.g., "foo.example.com"
type = string
allow_overwrite = optional(bool, true)
set_identifier = optional(string)
health_check_id = optional(string)
non_alias_records = optional(object({
ttl = number
values = list(string)
}))
alias_record = optional(object({
dns_domain_name = string
zone_id = string
evaluate_target_health = optional(bool, true)
}))
failover_routing_policy = optional(object({
type = string # PRIMARY or SECONDARY
}))
geolocation_routing_policy = optional(object({
continent = optional(string)
country = optional(string)
subdivision = optional(string)
}))
latency_routing_policy = optional(object({
aws_region = string
}))
weighted_routing_policy = optional(object({
weight = number
}))
multivalue_routing_policy = optional(bool, false)
})
)
[] no

Outputs

Name Description
DelegationSets Map of Route53 delegation set resource objects.
HostedZones Map of Route53 hosted zone resource objects.
Records Map of Route53 record resource objects.

📝 License

All scripts and source code contained herein are for commercial use only by Nerdware, LLC.

See LICENSE for more information.

💬 Contact

Trevor Anderson - @TeeRevTweets - Trevor@Nerdware.cloud

     

Dare Mighty Things.