diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 7e4e7da..b84d048 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1,6 +1,6 @@
repos:
- repo: https://github.com/antonbabenko/pre-commit-terraform
- rev: v1.96.1
+ rev: v1.99.4
hooks:
- id: terraform_fmt
- id: terraform_wrapper_module_for_each
diff --git a/README.md b/README.md
index 14bcb71..96162eb 100644
--- a/README.md
+++ b/README.md
@@ -67,14 +67,14 @@ Users of Terragrunt can achieve similar results by using modules provided in the
| Name | Version |
|------|---------|
-| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 5.98 |
+| [terraform](#requirement\_terraform) | >= 1.5.7 |
+| [aws](#requirement\_aws) | >= 6.3 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.98 |
+| [aws](#provider\_aws) | >= 6.3 |
## Modules
@@ -121,6 +121,7 @@ No modules.
| [point\_in\_time\_recovery\_period\_in\_days](#input\_point\_in\_time\_recovery\_period\_in\_days) | Number of preceding days for which continuous backups are taken and maintained. Default 35 | `number` | `null` | no |
| [range\_key](#input\_range\_key) | The attribute to use as the range (sort) key. Must also be defined as an attribute | `string` | `null` | no |
| [read\_capacity](#input\_read\_capacity) | The number of read units for this table. If the billing\_mode is PROVISIONED, this field should be greater than 0 | `number` | `null` | no |
+| [region](#input\_region) | Region where this resource will be managed. Defaults to the Region set in the provider configuration | `string` | `null` | no |
| [replica\_regions](#input\_replica\_regions) | Region names for creating replicas for a global DynamoDB table. | `any` | `[]` | no |
| [resource\_policy](#input\_resource\_policy) | The JSON definition of the resource-based policy. | `string` | `null` | no |
| [restore\_date\_time](#input\_restore\_date\_time) | Time of the point-in-time recovery point to restore. | `string` | `null` | no |
diff --git a/examples/autoscaling/README.md b/examples/autoscaling/README.md
index 2a7d2a0..1659cbc 100644
--- a/examples/autoscaling/README.md
+++ b/examples/autoscaling/README.md
@@ -19,8 +19,8 @@ Note that this example may create resources which can cost money (AWS Elastic IP
| Name | Version |
|------|---------|
-| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 5.98 |
+| [terraform](#requirement\_terraform) | >= 1.5.7 |
+| [aws](#requirement\_aws) | >= 6.3 |
| [random](#requirement\_random) | >= 2.0 |
## Providers
diff --git a/examples/autoscaling/versions.tf b/examples/autoscaling/versions.tf
index 6d2b299..4a8ec3e 100644
--- a/examples/autoscaling/versions.tf
+++ b/examples/autoscaling/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.5.7"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.98"
+ version = ">= 6.3"
}
random = {
source = "hashicorp/random"
diff --git a/examples/basic/README.md b/examples/basic/README.md
index 21f55c1..8d5e31f 100644
--- a/examples/basic/README.md
+++ b/examples/basic/README.md
@@ -19,8 +19,8 @@ Note that this example may create resources which can cost money (AWS Elastic IP
| Name | Version |
|------|---------|
-| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 5.98 |
+| [terraform](#requirement\_terraform) | >= 1.5.7 |
+| [aws](#requirement\_aws) | >= 6.3 |
| [random](#requirement\_random) | >= 2.0 |
## Providers
diff --git a/examples/basic/versions.tf b/examples/basic/versions.tf
index 6d2b299..4a8ec3e 100644
--- a/examples/basic/versions.tf
+++ b/examples/basic/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.5.7"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.98"
+ version = ">= 6.3"
}
random = {
source = "hashicorp/random"
diff --git a/examples/global-tables/README.md b/examples/global-tables/README.md
index d346a14..30d6b36 100644
--- a/examples/global-tables/README.md
+++ b/examples/global-tables/README.md
@@ -19,16 +19,16 @@ Note that this example may create resources which can cost money (AWS Elastic IP
| Name | Version |
|------|---------|
-| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 5.98 |
+| [terraform](#requirement\_terraform) | >= 1.5.7 |
+| [aws](#requirement\_aws) | >= 6.3 |
| [random](#requirement\_random) | >= 2.0 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.98 |
-| [aws.euwest2](#provider\_aws.euwest2) | >= 5.98 |
+| [aws](#provider\_aws) | >= 6.3 |
+| [aws.euwest2](#provider\_aws.euwest2) | >= 6.3 |
| [random](#provider\_random) | >= 2.0 |
## Modules
diff --git a/examples/global-tables/versions.tf b/examples/global-tables/versions.tf
index 6d2b299..4a8ec3e 100644
--- a/examples/global-tables/versions.tf
+++ b/examples/global-tables/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.5.7"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.98"
+ version = ">= 6.3"
}
random = {
source = "hashicorp/random"
diff --git a/examples/s3-import/README.md b/examples/s3-import/README.md
index 63bf58b..bd318d8 100644
--- a/examples/s3-import/README.md
+++ b/examples/s3-import/README.md
@@ -19,8 +19,8 @@ Note that this example may create resources which can cost money (AWS Elastic IP
| Name | Version |
|------|---------|
-| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 5.98 |
+| [terraform](#requirement\_terraform) | >= 1.5.7 |
+| [aws](#requirement\_aws) | >= 6.3 |
| [random](#requirement\_random) | >= 2.0 |
## Providers
diff --git a/examples/s3-import/versions.tf b/examples/s3-import/versions.tf
index 6d2b299..4a8ec3e 100644
--- a/examples/s3-import/versions.tf
+++ b/examples/s3-import/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.5.7"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.98"
+ version = ">= 6.3"
}
random = {
source = "hashicorp/random"
diff --git a/main.tf b/main.tf
index 91a2589..25b3064 100644
--- a/main.tf
+++ b/main.tf
@@ -15,6 +15,7 @@ resource "aws_dynamodb_table" "this" {
stream_view_type = var.stream_view_type
table_class = var.table_class
deletion_protection_enabled = var.deletion_protection_enabled
+ region = var.region
restore_date_time = var.restore_date_time
restore_source_name = var.restore_source_name
restore_source_table_arn = var.restore_source_table_arn
@@ -81,6 +82,7 @@ resource "aws_dynamodb_table" "this" {
kms_key_arn = lookup(replica.value, "kms_key_arn", null)
propagate_tags = lookup(replica.value, "propagate_tags", null)
point_in_time_recovery = lookup(replica.value, "point_in_time_recovery", null)
+ consistency_mode = try(replica.value.consistency_mode, null)
}
}
@@ -156,6 +158,7 @@ resource "aws_dynamodb_table" "autoscaled" {
stream_view_type = var.stream_view_type
table_class = var.table_class
deletion_protection_enabled = var.deletion_protection_enabled
+ region = var.region
restore_date_time = var.restore_date_time
restore_source_name = var.restore_source_name
restore_source_table_arn = var.restore_source_table_arn
@@ -222,6 +225,7 @@ resource "aws_dynamodb_table" "autoscaled" {
kms_key_arn = lookup(replica.value, "kms_key_arn", null)
propagate_tags = lookup(replica.value, "propagate_tags", null)
point_in_time_recovery = lookup(replica.value, "point_in_time_recovery", null)
+ consistency_mode = try(replica.value.consistency_mode, null)
}
}
@@ -301,6 +305,7 @@ resource "aws_dynamodb_table" "autoscaled_gsi_ignore" {
stream_view_type = var.stream_view_type
table_class = var.table_class
deletion_protection_enabled = var.deletion_protection_enabled
+ region = var.region
restore_date_time = var.restore_date_time
restore_source_name = var.restore_source_name
restore_source_table_arn = var.restore_source_table_arn
@@ -358,6 +363,7 @@ resource "aws_dynamodb_table" "autoscaled_gsi_ignore" {
kms_key_arn = lookup(replica.value, "kms_key_arn", null)
propagate_tags = lookup(replica.value, "propagate_tags", null)
point_in_time_recovery = lookup(replica.value, "point_in_time_recovery", null)
+ consistency_mode = try(replica.value.consistency_mode, null)
}
}
@@ -387,6 +393,7 @@ resource "aws_dynamodb_table" "autoscaled_gsi_ignore" {
resource "aws_dynamodb_resource_policy" "this" {
count = var.create_table && var.resource_policy != null ? 1 : 0
+ region = var.region
resource_arn = local.dynamodb_table_arn
policy = replace(var.resource_policy, "__DYNAMODB_TABLE_ARN__", local.dynamodb_table_arn)
}
diff --git a/variables.tf b/variables.tf
index e5d42f4..942e28e 100644
--- a/variables.tf
+++ b/variables.tf
@@ -221,3 +221,9 @@ variable "resource_policy" {
type = string
default = null
}
+
+variable "region" {
+ description = "Region where this resource will be managed. Defaults to the Region set in the provider configuration"
+ type = string
+ default = null
+}
diff --git a/versions.tf b/versions.tf
index e138983..fd053a1 100644
--- a/versions.tf
+++ b/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.5.7"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.98"
+ version = ">= 6.3"
}
}
}
diff --git a/wrappers/main.tf b/wrappers/main.tf
index c24c994..9bfd996 100644
--- a/wrappers/main.tf
+++ b/wrappers/main.tf
@@ -27,6 +27,7 @@ module "wrapper" {
point_in_time_recovery_period_in_days = try(each.value.point_in_time_recovery_period_in_days, var.defaults.point_in_time_recovery_period_in_days, null)
range_key = try(each.value.range_key, var.defaults.range_key, null)
read_capacity = try(each.value.read_capacity, var.defaults.read_capacity, null)
+ region = try(each.value.region, var.defaults.region, null)
replica_regions = try(each.value.replica_regions, var.defaults.replica_regions, [])
resource_policy = try(each.value.resource_policy, var.defaults.resource_policy, null)
restore_date_time = try(each.value.restore_date_time, var.defaults.restore_date_time, null)
diff --git a/wrappers/versions.tf b/wrappers/versions.tf
index e138983..fd053a1 100644
--- a/wrappers/versions.tf
+++ b/wrappers/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.5.7"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.98"
+ version = ">= 6.3"
}
}
}