1
0

initial commit

This commit is contained in:
xpk
2026-02-13 15:44:24 +08:00
parent 66be8224f4
commit 09ce4c881a
570 changed files with 61807 additions and 0 deletions
@@ -0,0 +1,19 @@
# r53-record-geo sub module
Create route53 geolocation records
## Example
```hcl
module "r53-www" {
source = "../../modules/networking/r53-record-geo"
record_name = "www"
record_type = "A"
record_values = ["192.168.33.10"]
set_identifier = "Global web servers"
record_type_locational = "A"
record_values_locational = ["172.17.16.10"]
set_identifier_locational = "China web servers"
country_code = "CN"
zone_id = aws_route53_zone.zone.zone_id
}
```
+60
View File
@@ -0,0 +1,60 @@
resource "aws_route53_record" "default" {
zone_id = var.zone_id
name = var.record_name
type = var.record_type
ttl = length(var.alias) > 0 ? null : var.record_ttl
records = var.record_values
set_identifier = var.set_identifier
geolocation_routing_policy {
country = "*"
}
dynamic "alias" {
for_each = var.alias
content {
name = alias.value["name"]
zone_id = alias.value["zone_id"]
evaluate_target_health = alias.value["evaluate_target_health"]
}
}
dynamic "weighted_routing_policy" {
for_each = var.weighted_routing_policy
content {
weight = weighted_routing_policy.value["weight"]
}
}
}
resource "aws_route53_record" "locational" {
zone_id = var.zone_id
name = var.record_name
type = var.record_type_locational
ttl = length(var.alias_locational) > 0 ? null : var.record_ttl_locational
records = var.record_values_locational
set_identifier = var.set_identifier_locational
dynamic "alias" {
for_each = var.alias_locational
content {
name = alias.value["name"]
zone_id = alias.value["zone_id"]
evaluate_target_health = alias.value["evaluate_target_health"]
}
}
geolocation_routing_policy {
country = var.country_code
continent = var.continent_code
}
dynamic "alias" {
for_each = var.alias_locational
content {
name = alias.value["name"]
zone_id = alias.value["zone_id"]
evaluate_target_health = alias.value["evaluate_target_health"]
}
}
dynamic "weighted_routing_policy" {
for_each = var.weighted_routing_policy_locational
content {
weight = weighted_routing_policy.value["weight"]
}
}
}
@@ -0,0 +1,62 @@
variable "zone_id" {}
variable "record_name" {}
variable "record_type" {}
variable "record_ttl" {
type = number
default = 900
}
variable "record_values" {
type = list(string)
}
variable "set_identifier" {}
variable "alias" {
type = list(
object({
zone_id = string
name = string
evaluate_target_health = bool
})
)
}
variable "weighted_routing_policy" {
type = list(
object({
weight = number
})
)
default = []
}
variable "record_type_locational" {}
variable "record_ttl_locational" {
type = number
default = 900
}
variable "record_values_locational" {
type = list(string)
}
variable "set_identifier_locational" {}
variable "country_code" {
type = string
default = null
}
variable "continent_code" {
type = string
default = null
}
variable "alias_locational" {
type = list(
object({
zone_id = string
name = string
evaluate_target_health = bool
})
)
}
variable "weighted_routing_policy_locational" {
type = list(
object({
weight = number
})
)
default = []
}