Skip to content

Commit 461eef2

Browse files
feat!: Add support for geoproximity routing policy. Upgraded TF version to 1.3.2 (#105)
Co-authored-by: Anton Babenko <[email protected]>
1 parent 385af6e commit 461eef2

File tree

14 files changed

+63
-20
lines changed

14 files changed

+63
-20
lines changed

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
repos:
22
- repo: https://github.com/antonbabenko/pre-commit-terraform
3-
rev: v1.88.0
3+
rev: v1.91.0
44
hooks:
55
- id: terraform_fmt
66
- id: terraform_docs
@@ -24,7 +24,7 @@ repos:
2424
- '--args=--only=terraform_unused_required_providers'
2525
- id: terraform_validate
2626
- repo: https://github.com/pre-commit/pre-commit-hooks
27-
rev: v4.5.0
27+
rev: v4.6.0
2828
hooks:
2929
- id: check-merge-conflict
3030
- id: end-of-file-fixer

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ There are independent submodules:
1818
```hcl
1919
module "zones" {
2020
source = "terraform-aws-modules/route53/aws//modules/zones"
21-
version = "~> 2.0"
21+
version = "~> 3.0"
2222
2323
zones = {
2424
"terraform-aws-modules-example.com" = {
@@ -40,7 +40,7 @@ module "zones" {
4040
4141
module "records" {
4242
source = "terraform-aws-modules/route53/aws//modules/records"
43-
version = "~> 2.0"
43+
version = "~> 3.0"
4444
4545
zone_name = keys(module.zones.route53_zone_zone_id)[0]
4646

examples/complete/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@ Note that this example may create resources which cost money. Run `terraform des
2121

2222
| Name | Version |
2323
|------|---------|
24-
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.0 |
25-
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 2.49 |
24+
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
25+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.37 |
2626

2727
## Providers
2828

2929
| Name | Version |
3030
|------|---------|
31-
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 2.49 |
31+
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.37 |
3232

3333
## Modules
3434

examples/complete/main.tf

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,30 @@ module "records" {
8383
continent = "EU"
8484
}
8585
},
86+
{
87+
name = "geoproximity-aws-region"
88+
type = "CNAME"
89+
ttl = 5
90+
records = ["us-east-1.test.example.com."]
91+
set_identifier = "us-east-1-region"
92+
geoproximity_routing_policy = {
93+
aws_region = "us-east-1"
94+
bias = 0
95+
}
96+
},
97+
{
98+
name = "geoproximity-coordinates"
99+
type = "CNAME"
100+
ttl = 5
101+
records = ["nyc.test.example.com."]
102+
set_identifier = "nyc"
103+
geoproximity_routing_policy = {
104+
coordinates = {
105+
latitude = "40.71"
106+
longitude = "-74.01"
107+
}
108+
}
109+
},
86110
{
87111
name = "cloudfront"
88112
type = "A"

examples/complete/versions.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
terraform {
2-
required_version = ">= 1.0"
2+
required_version = ">= 1.3.2"
33

44
required_providers {
55
aws = {
66
source = "hashicorp/aws"
7-
version = ">= 2.49"
7+
version = ">= 5.37"
88
}
99
}
1010
}

modules/delegation-sets/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ module "zones" {
4747

4848
| Name | Version |
4949
|------|---------|
50-
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 0.13.1 |
50+
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
5151
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 3.56 |
5252

5353
## Providers

modules/delegation-sets/versions.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
terraform {
2-
required_version = ">= 0.13.1"
2+
required_version = ">= 1.3.2"
33

44
required_providers {
55
aws = {

modules/records/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,14 @@ records_jsonencoded = jsonencode([
3131

3232
| Name | Version |
3333
|------|---------|
34-
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 0.13.1 |
35-
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 2.49 |
34+
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
35+
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.37 |
3636

3737
## Providers
3838

3939
| Name | Version |
4040
|------|---------|
41-
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 2.49 |
41+
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.37 |
4242

4343
## Modules
4444

modules/records/main.tf

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,4 +72,23 @@ resource "aws_route53_record" "this" {
7272
subdivision = lookup(each.value.geolocation_routing_policy, "subdivision", null)
7373
}
7474
}
75+
76+
dynamic "geoproximity_routing_policy" {
77+
for_each = length(keys(lookup(each.value, "geoproximity_routing_policy", {}))) == 0 ? [] : [true]
78+
79+
content {
80+
aws_region = lookup(each.value.geoproximity_routing_policy, "aws_region", null)
81+
bias = lookup(each.value.geoproximity_routing_policy, "bias", null)
82+
local_zone_group = lookup(each.value.geoproximity_routing_policy, "local_zone_group", null)
83+
84+
dynamic "coordinates" {
85+
for_each = lookup(each.value.geoproximity_routing_policy, "coordinates", null) == null ? [] : [lookup(each.value.geoproximity_routing_policy, "coordinates", null)]
86+
87+
content {
88+
latitude = coordinates.value.latitude
89+
longitude = coordinates.value.longitude
90+
}
91+
}
92+
}
93+
}
7594
}

modules/records/versions.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
terraform {
2-
required_version = ">= 0.13.1"
2+
required_version = ">= 1.3.2"
33

44
required_providers {
55
aws = {
66
source = "hashicorp/aws"
7-
version = ">= 2.49"
7+
version = ">= 5.37"
88
}
99
}
1010
}

modules/resolver-rule-associations/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ module "resolver_rule_associations" {
3131

3232
| Name | Version |
3333
|------|---------|
34-
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 0.13.1 |
34+
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
3535
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 3.56 |
3636

3737
## Providers

modules/resolver-rule-associations/versions.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
terraform {
2-
required_version = ">= 0.13.1"
2+
required_version = ">= 1.3.2"
33

44
required_providers {
55
aws = {

modules/zones/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ This module creates Route53 zones.
77

88
| Name | Version |
99
|------|---------|
10-
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 0.13.1 |
10+
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3.2 |
1111
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 2.49 |
1212

1313
## Providers

modules/zones/versions.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
terraform {
2-
required_version = ">= 0.13.1"
2+
required_version = ">= 1.3.2"
33

44
required_providers {
55
aws = {

0 commit comments

Comments
 (0)