diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index ad3592ca..b84d048d 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.98.1
+ rev: v1.99.4
hooks:
- id: terraform_fmt
- id: terraform_wrapper_module_for_each
diff --git a/README.md b/README.md
index 0fd6e03a..fa5926f4 100644
--- a/README.md
+++ b/README.md
@@ -151,14 +151,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.83 |
+| [terraform](#requirement\_terraform) | >= 1.10 |
+| [aws](#requirement\_aws) | >= 6.0 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.83 |
+| [aws](#provider\_aws) | >= 6.0 |
## Modules
@@ -265,6 +265,7 @@ No modules.
| [owner](#input\_owner) | Bucket owner's display name and ID. Conflicts with `acl` | `map(string)` | `{}` | no |
| [policy](#input\_policy) | (Optional) A valid bucket policy JSON document. Note that if the policy document is not specific enough (but still valid), Terraform may view the policy as constantly changing in a terraform plan. In this case, please make sure you use the verbose/specific version of the policy. For more information about building AWS IAM policy documents with Terraform, see the AWS IAM Policy Document Guide. | `string` | `null` | no |
| [putin\_khuylo](#input\_putin\_khuylo) | Do you agree that Putin doesn't respect Ukrainian sovereignty and territorial integrity? More info: https://en.wikipedia.org/wiki/Putin_khuylo! | `bool` | `true` | no |
+| [region](#input\_region) | Region where the resource(s) will be managed. Defaults to the region set in the provider configuration | `string` | `null` | no |
| [replication\_configuration](#input\_replication\_configuration) | Map containing cross-region replication configuration. | `any` | `{}` | no |
| [request\_payer](#input\_request\_payer) | (Optional) Specifies who should bear the cost of Amazon S3 data transfer. Can be either BucketOwner or Requester. By default, the owner of the S3 bucket would incur the costs of any data transfer. See Requester Pays Buckets developer guide for more information. | `string` | `null` | no |
| [restrict\_public\_buckets](#input\_restrict\_public\_buckets) | Whether Amazon S3 should restrict public bucket policies for this bucket. | `bool` | `true` | no |
diff --git a/examples/account-public-access/README.md b/examples/account-public-access/README.md
index 9dae8331..350725f5 100644
--- a/examples/account-public-access/README.md
+++ b/examples/account-public-access/README.md
@@ -19,8 +19,8 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 5.70 |
+| [terraform](#requirement\_terraform) | >= 1.10 |
+| [aws](#requirement\_aws) | >= 6.0 |
| [random](#requirement\_random) | >= 2.0 |
## Providers
diff --git a/examples/account-public-access/versions.tf b/examples/account-public-access/versions.tf
index 6d9488f3..9af58496 100644
--- a/examples/account-public-access/versions.tf
+++ b/examples/account-public-access/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.10"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.70"
+ version = ">= 6.0"
}
random = {
source = "hashicorp/random"
diff --git a/examples/complete/README.md b/examples/complete/README.md
index 079f346f..7a3bdf68 100644
--- a/examples/complete/README.md
+++ b/examples/complete/README.md
@@ -29,15 +29,15 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 5.83 |
+| [terraform](#requirement\_terraform) | >= 1.10 |
+| [aws](#requirement\_aws) | >= 6.0 |
| [random](#requirement\_random) | >= 2.0 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.83 |
+| [aws](#provider\_aws) | >= 6.0 |
| [random](#provider\_random) | >= 2.0 |
## Modules
diff --git a/examples/complete/versions.tf b/examples/complete/versions.tf
index 9ef2d5d8..9af58496 100644
--- a/examples/complete/versions.tf
+++ b/examples/complete/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.10"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.83"
+ version = ">= 6.0"
}
random = {
source = "hashicorp/random"
diff --git a/examples/directory-bucket/README.md b/examples/directory-bucket/README.md
index 1ce36553..8fa8d849 100644
--- a/examples/directory-bucket/README.md
+++ b/examples/directory-bucket/README.md
@@ -19,15 +19,15 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 5.83 |
+| [terraform](#requirement\_terraform) | >= 1.10 |
+| [aws](#requirement\_aws) | >= 6.0 |
| [random](#requirement\_random) | >= 2.0 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.83 |
+| [aws](#provider\_aws) | >= 6.0 |
| [random](#provider\_random) | >= 2.0 |
## Modules
diff --git a/examples/directory-bucket/versions.tf b/examples/directory-bucket/versions.tf
index 9ef2d5d8..9af58496 100644
--- a/examples/directory-bucket/versions.tf
+++ b/examples/directory-bucket/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.10"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.83"
+ version = ">= 6.0"
}
random = {
source = "hashicorp/random"
diff --git a/examples/notification/README.md b/examples/notification/README.md
index 8c331142..1510530a 100644
--- a/examples/notification/README.md
+++ b/examples/notification/README.md
@@ -19,8 +19,8 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 5.83 |
+| [terraform](#requirement\_terraform) | >= 1.10 |
+| [aws](#requirement\_aws) | >= 6.0 |
| [null](#requirement\_null) | >= 2.0 |
| [random](#requirement\_random) | >= 2.0 |
@@ -28,7 +28,7 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.83 |
+| [aws](#provider\_aws) | >= 6.0 |
| [null](#provider\_null) | >= 2.0 |
| [random](#provider\_random) | >= 2.0 |
diff --git a/examples/notification/versions.tf b/examples/notification/versions.tf
index bd90e261..a387cec5 100644
--- a/examples/notification/versions.tf
+++ b/examples/notification/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.10"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.83"
+ version = ">= 6.0"
}
random = {
source = "hashicorp/random"
diff --git a/examples/object/README.md b/examples/object/README.md
index f694e65d..5c8c6a78 100644
--- a/examples/object/README.md
+++ b/examples/object/README.md
@@ -19,15 +19,15 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 5.83 |
+| [terraform](#requirement\_terraform) | >= 1.10 |
+| [aws](#requirement\_aws) | >= 6.0 |
| [random](#requirement\_random) | >= 2.0 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.83 |
+| [aws](#provider\_aws) | >= 6.0 |
| [random](#provider\_random) | >= 2.0 |
## Modules
diff --git a/examples/object/versions.tf b/examples/object/versions.tf
index 9ef2d5d8..9af58496 100644
--- a/examples/object/versions.tf
+++ b/examples/object/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.10"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.83"
+ version = ">= 6.0"
}
random = {
source = "hashicorp/random"
diff --git a/examples/s3-analytics/README.md b/examples/s3-analytics/README.md
index c2148d9e..295dcb7f 100644
--- a/examples/s3-analytics/README.md
+++ b/examples/s3-analytics/README.md
@@ -9,15 +9,15 @@ Please check [complete example](https://github.com/terraform-aws-modules/terrafo
| Name | Version |
|------|---------|
-| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 5.83 |
+| [terraform](#requirement\_terraform) | >= 1.10 |
+| [aws](#requirement\_aws) | >= 6.0 |
| [random](#requirement\_random) | >= 2.0 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.83 |
+| [aws](#provider\_aws) | >= 6.0 |
| [random](#provider\_random) | >= 2.0 |
## Modules
diff --git a/examples/s3-analytics/versions.tf b/examples/s3-analytics/versions.tf
index 9ef2d5d8..9af58496 100644
--- a/examples/s3-analytics/versions.tf
+++ b/examples/s3-analytics/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.10"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.83"
+ version = ">= 6.0"
}
random = {
source = "hashicorp/random"
diff --git a/examples/s3-inventory/README.md b/examples/s3-inventory/README.md
index fb67fb8d..4b58a1d6 100644
--- a/examples/s3-inventory/README.md
+++ b/examples/s3-inventory/README.md
@@ -9,15 +9,15 @@ Please check [complete example](https://github.com/terraform-aws-modules/terrafo
| Name | Version |
|------|---------|
-| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 5.83 |
+| [terraform](#requirement\_terraform) | >= 1.10 |
+| [aws](#requirement\_aws) | >= 6.0 |
| [random](#requirement\_random) | >= 2.0 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.83 |
+| [aws](#provider\_aws) | >= 6.0 |
| [random](#provider\_random) | >= 2.0 |
## Modules
diff --git a/examples/s3-inventory/versions.tf b/examples/s3-inventory/versions.tf
index 9ef2d5d8..9af58496 100644
--- a/examples/s3-inventory/versions.tf
+++ b/examples/s3-inventory/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.10"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.83"
+ version = ">= 6.0"
}
random = {
source = "hashicorp/random"
diff --git a/examples/s3-replication/README.md b/examples/s3-replication/README.md
index e85b5c03..80662a0d 100644
--- a/examples/s3-replication/README.md
+++ b/examples/s3-replication/README.md
@@ -21,16 +21,16 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 5.83 |
+| [terraform](#requirement\_terraform) | >= 1.10 |
+| [aws](#requirement\_aws) | >= 6.0 |
| [random](#requirement\_random) | >= 2.0 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.83 |
-| [aws.replica](#provider\_aws.replica) | >= 5.83 |
+| [aws](#provider\_aws) | >= 6.0 |
+| [aws.replica](#provider\_aws.replica) | >= 6.0 |
| [random](#provider\_random) | >= 2.0 |
## Modules
diff --git a/examples/s3-replication/versions.tf b/examples/s3-replication/versions.tf
index 9ef2d5d8..9af58496 100644
--- a/examples/s3-replication/versions.tf
+++ b/examples/s3-replication/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.10"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.83"
+ version = ">= 6.0"
}
random = {
source = "hashicorp/random"
diff --git a/examples/table-bucket/README.md b/examples/table-bucket/README.md
index 836464f5..5ab6af70 100644
--- a/examples/table-bucket/README.md
+++ b/examples/table-bucket/README.md
@@ -19,15 +19,15 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 5.98 |
+| [terraform](#requirement\_terraform) | >= 1.10 |
+| [aws](#requirement\_aws) | >= 6.0 |
| [random](#requirement\_random) | >= 2.0 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.98 |
+| [aws](#provider\_aws) | >= 6.0 |
| [random](#provider\_random) | >= 2.0 |
## Modules
diff --git a/examples/table-bucket/main.tf b/examples/table-bucket/main.tf
index c6e51601..4a6a898a 100644
--- a/examples/table-bucket/main.tf
+++ b/examples/table-bucket/main.tf
@@ -152,7 +152,7 @@ module "kms" {
test = "StringLike"
variable = "kms:EncryptionContext:aws:s3:arn"
values = [
- "arn:aws:s3tables:${data.aws_region.this.name}:${data.aws_caller_identity.this.account_id}:bucket/${local.bucket_name}/table/*"
+ "arn:aws:s3tables:${data.aws_region.this.region}:${data.aws_caller_identity.this.account_id}:bucket/${local.bucket_name}/table/*"
]
}
]
diff --git a/examples/table-bucket/versions.tf b/examples/table-bucket/versions.tf
index 6d2b2999..9af58496 100644
--- a/examples/table-bucket/versions.tf
+++ b/examples/table-bucket/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.10"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.98"
+ version = ">= 6.0"
}
random = {
source = "hashicorp/random"
diff --git a/main.tf b/main.tf
index e1c57510..697aef1a 100644
--- a/main.tf
+++ b/main.tf
@@ -25,6 +25,8 @@ locals {
resource "aws_s3_bucket" "this" {
count = local.create_bucket && !var.is_directory_bucket ? 1 : 0
+ region = var.region
+
bucket = var.bucket
bucket_prefix = var.bucket_prefix
@@ -36,6 +38,8 @@ resource "aws_s3_bucket" "this" {
resource "aws_s3_directory_bucket" "this" {
count = local.create_bucket && var.is_directory_bucket ? 1 : 0
+ region = var.region
+
bucket = "${var.bucket}--${var.availability_zone_id}--x-s3"
data_redundancy = var.data_redundancy
force_destroy = var.force_destroy
@@ -50,6 +54,8 @@ resource "aws_s3_directory_bucket" "this" {
resource "aws_s3_bucket_logging" "this" {
count = local.create_bucket && length(keys(var.logging)) > 0 && !var.is_directory_bucket ? 1 : 0
+ region = var.region
+
bucket = aws_s3_bucket.this[0].id
target_bucket = var.logging["target_bucket"]
@@ -79,6 +85,8 @@ resource "aws_s3_bucket_logging" "this" {
resource "aws_s3_bucket_acl" "this" {
count = local.create_bucket && local.create_bucket_acl && !var.is_directory_bucket ? 1 : 0
+ region = var.region
+
bucket = aws_s3_bucket.this[0].id
expected_bucket_owner = var.expected_bucket_owner
@@ -118,6 +126,8 @@ resource "aws_s3_bucket_acl" "this" {
resource "aws_s3_bucket_website_configuration" "this" {
count = local.create_bucket && length(keys(var.website)) > 0 && !var.is_directory_bucket ? 1 : 0
+ region = var.region
+
bucket = aws_s3_bucket.this[0].id
expected_bucket_owner = var.expected_bucket_owner
@@ -173,6 +183,8 @@ resource "aws_s3_bucket_website_configuration" "this" {
resource "aws_s3_bucket_versioning" "this" {
count = local.create_bucket && length(keys(var.versioning)) > 0 && !var.is_directory_bucket ? 1 : 0
+ region = var.region
+
bucket = aws_s3_bucket.this[0].id
expected_bucket_owner = var.expected_bucket_owner
mfa = try(var.versioning["mfa"], null)
@@ -189,6 +201,8 @@ resource "aws_s3_bucket_versioning" "this" {
resource "aws_s3_bucket_server_side_encryption_configuration" "this" {
count = local.create_bucket && length(keys(var.server_side_encryption_configuration)) > 0 ? 1 : 0
+ region = var.region
+
bucket = var.is_directory_bucket ? aws_s3_directory_bucket.this[0].bucket : aws_s3_bucket.this[0].id
expected_bucket_owner = var.expected_bucket_owner
@@ -213,6 +227,8 @@ resource "aws_s3_bucket_server_side_encryption_configuration" "this" {
resource "aws_s3_bucket_accelerate_configuration" "this" {
count = local.create_bucket && var.acceleration_status != null && !var.is_directory_bucket ? 1 : 0
+ region = var.region
+
bucket = aws_s3_bucket.this[0].id
expected_bucket_owner = var.expected_bucket_owner
@@ -223,6 +239,8 @@ resource "aws_s3_bucket_accelerate_configuration" "this" {
resource "aws_s3_bucket_request_payment_configuration" "this" {
count = local.create_bucket && var.request_payer != null && !var.is_directory_bucket ? 1 : 0
+ region = var.region
+
bucket = aws_s3_bucket.this[0].id
expected_bucket_owner = var.expected_bucket_owner
@@ -233,6 +251,8 @@ resource "aws_s3_bucket_request_payment_configuration" "this" {
resource "aws_s3_bucket_cors_configuration" "this" {
count = local.create_bucket && length(local.cors_rules) > 0 && !var.is_directory_bucket ? 1 : 0
+ region = var.region
+
bucket = aws_s3_bucket.this[0].id
expected_bucket_owner = var.expected_bucket_owner
@@ -253,6 +273,8 @@ resource "aws_s3_bucket_cors_configuration" "this" {
resource "aws_s3_bucket_lifecycle_configuration" "this" {
count = local.create_bucket && length(local.lifecycle_rules) > 0 ? 1 : 0
+ region = var.region
+
bucket = var.is_directory_bucket ? aws_s3_directory_bucket.this[0].bucket : aws_s3_bucket.this[0].id
expected_bucket_owner = var.expected_bucket_owner
transition_default_minimum_object_size = var.transition_default_minimum_object_size
@@ -369,6 +391,8 @@ resource "aws_s3_bucket_lifecycle_configuration" "this" {
resource "aws_s3_bucket_object_lock_configuration" "this" {
count = local.create_bucket && var.object_lock_enabled && try(var.object_lock_configuration.rule.default_retention, null) != null ? 1 : 0
+ region = var.region
+
bucket = aws_s3_bucket.this[0].id
expected_bucket_owner = var.expected_bucket_owner
token = try(var.object_lock_configuration.token, null)
@@ -385,6 +409,8 @@ resource "aws_s3_bucket_object_lock_configuration" "this" {
resource "aws_s3_bucket_replication_configuration" "this" {
count = local.create_bucket && length(keys(var.replication_configuration)) > 0 && !var.is_directory_bucket ? 1 : 0
+ region = var.region
+
bucket = aws_s3_bucket.this[0].id
role = var.replication_configuration["role"]
@@ -550,6 +576,8 @@ resource "aws_s3_bucket_replication_configuration" "this" {
resource "aws_s3_bucket_policy" "this" {
count = local.create_bucket && local.attach_policy ? 1 : 0
+ region = var.region
+
# Chain resources (s3_bucket -> s3_bucket_public_access_block -> s3_bucket_policy )
# to prevent "A conflicting conditional operation is currently in progress against this resource."
# Ref: https://github.com/hashicorp/terraform-provider-aws/issues/7628
@@ -620,7 +648,7 @@ data "aws_iam_policy_document" "elb_log_delivery" {
# Policy for AWS Regions created before August 2022 (e.g. US East (N. Virginia), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe (Ireland))
dynamic "statement" {
- for_each = { for k, v in local.elb_service_accounts : k => v if k == data.aws_region.current.name }
+ for_each = { for k, v in local.elb_service_accounts : k => v if k == data.aws_region.current.region }
content {
sid = format("ELBRegion%s", title(statement.key))
@@ -854,7 +882,7 @@ data "aws_iam_policy_document" "waf_log_delivery" {
condition {
test = "ArnLike"
- values = ["arn:aws:logs:${data.aws_region.current.name}:${data.aws_caller_identity.current.id}:*"]
+ values = ["arn:aws:logs:${data.aws_region.current.region}:${data.aws_caller_identity.current.id}:*"]
variable = "aws:SourceArn"
}
}
@@ -885,7 +913,7 @@ data "aws_iam_policy_document" "waf_log_delivery" {
condition {
test = "ArnLike"
- values = ["arn:aws:logs:${data.aws_region.current.name}:${data.aws_caller_identity.current.id}:*"]
+ values = ["arn:aws:logs:${data.aws_region.current.region}:${data.aws_caller_identity.current.id}:*"]
variable = "aws:SourceArn"
}
}
@@ -1108,6 +1136,8 @@ data "aws_iam_policy_document" "deny_ssec_encrypted_object_uploads" {
resource "aws_s3_bucket_public_access_block" "this" {
count = local.create_bucket && var.attach_public_policy && !var.is_directory_bucket ? 1 : 0
+ region = var.region
+
bucket = aws_s3_bucket.this[0].id
block_public_acls = var.block_public_acls
@@ -1119,6 +1149,8 @@ resource "aws_s3_bucket_public_access_block" "this" {
resource "aws_s3_bucket_ownership_controls" "this" {
count = local.create_bucket && var.control_object_ownership && !var.is_directory_bucket ? 1 : 0
+ region = var.region
+
bucket = local.attach_policy ? aws_s3_bucket_policy.this[0].id : aws_s3_bucket.this[0].id
rule {
@@ -1136,6 +1168,8 @@ resource "aws_s3_bucket_ownership_controls" "this" {
resource "aws_s3_bucket_intelligent_tiering_configuration" "this" {
for_each = { for k, v in local.intelligent_tiering : k => v if local.create_bucket && !var.is_directory_bucket }
+ region = var.region
+
name = each.key
bucket = aws_s3_bucket.this[0].id
status = try(tobool(each.value.status) ? "Enabled" : "Disabled", title(lower(each.value.status)), null)
@@ -1164,6 +1198,8 @@ resource "aws_s3_bucket_intelligent_tiering_configuration" "this" {
resource "aws_s3_bucket_metric" "this" {
for_each = { for k, v in local.metric_configuration : k => v if local.create_bucket && !var.is_directory_bucket }
+ region = var.region
+
name = each.value.name
bucket = aws_s3_bucket.this[0].id
@@ -1179,6 +1215,8 @@ resource "aws_s3_bucket_metric" "this" {
resource "aws_s3_bucket_inventory" "this" {
for_each = { for k, v in var.inventory_configuration : k => v if local.create_bucket && !var.is_directory_bucket }
+ region = var.region
+
name = each.key
bucket = try(each.value.bucket, aws_s3_bucket.this[0].id)
included_object_versions = each.value.included_object_versions
@@ -1280,6 +1318,8 @@ data "aws_iam_policy_document" "inventory_and_analytics_destination_policy" {
resource "aws_s3_bucket_analytics_configuration" "this" {
for_each = { for k, v in var.analytics_configuration : k => v if local.create_bucket && !var.is_directory_bucket }
+ region = var.region
+
bucket = aws_s3_bucket.this[0].id
name = each.key
diff --git a/modules/account-public-access/README.md b/modules/account-public-access/README.md
index 4c6fadd5..774133e6 100644
--- a/modules/account-public-access/README.md
+++ b/modules/account-public-access/README.md
@@ -11,14 +11,14 @@ Each AWS account may only have one S3 Public Access Block configuration.
| Name | Version |
|------|---------|
-| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 3.74 |
+| [terraform](#requirement\_terraform) | >= 1.10 |
+| [aws](#requirement\_aws) | >= 6.0 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 3.74 |
+| [aws](#provider\_aws) | >= 6.0 |
## Modules
diff --git a/modules/account-public-access/versions.tf b/modules/account-public-access/versions.tf
index ff97a040..f648e20c 100644
--- a/modules/account-public-access/versions.tf
+++ b/modules/account-public-access/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.10"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 3.74"
+ version = ">= 6.0"
}
}
}
diff --git a/modules/notification/README.md b/modules/notification/README.md
index d2fb883e..e528fb97 100644
--- a/modules/notification/README.md
+++ b/modules/notification/README.md
@@ -7,14 +7,14 @@ Creates S3 bucket notification resource with all supported types of deliveries:
| Name | Version |
|------|---------|
-| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 3.74 |
+| [terraform](#requirement\_terraform) | >= 1.10 |
+| [aws](#requirement\_aws) | >= 6.0 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 3.74 |
+| [aws](#provider\_aws) | >= 6.0 |
## Modules
diff --git a/modules/notification/versions.tf b/modules/notification/versions.tf
index ff97a040..f648e20c 100644
--- a/modules/notification/versions.tf
+++ b/modules/notification/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.10"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 3.74"
+ version = ">= 6.0"
}
}
}
diff --git a/modules/object/README.md b/modules/object/README.md
index ac397c1f..24e8a6dd 100644
--- a/modules/object/README.md
+++ b/modules/object/README.md
@@ -7,14 +7,14 @@ Creates S3 bucket objects with different configurations.
| Name | Version |
|------|---------|
-| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 5.24 |
+| [terraform](#requirement\_terraform) | >= 1.10 |
+| [aws](#requirement\_aws) | >= 6.0 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.24 |
+| [aws](#provider\_aws) | >= 6.0 |
## Modules
diff --git a/modules/object/versions.tf b/modules/object/versions.tf
index a9c2eed5..f648e20c 100644
--- a/modules/object/versions.tf
+++ b/modules/object/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.10"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.24"
+ version = ">= 6.0"
}
}
}
diff --git a/modules/table-bucket/README.md b/modules/table-bucket/README.md
index a4ae6942..8ef7ff99 100644
--- a/modules/table-bucket/README.md
+++ b/modules/table-bucket/README.md
@@ -7,14 +7,14 @@ Creates S3 Table Bucket and Tables with various configurations.
| Name | Version |
|------|---------|
-| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 5.98 |
+| [terraform](#requirement\_terraform) | >= 1.10 |
+| [aws](#requirement\_aws) | >= 6.0 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.98 |
+| [aws](#provider\_aws) | >= 6.0 |
## Modules
diff --git a/modules/table-bucket/versions.tf b/modules/table-bucket/versions.tf
index e1389835..f648e20c 100644
--- a/modules/table-bucket/versions.tf
+++ b/modules/table-bucket/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.10"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.98"
+ version = ">= 6.0"
}
}
}
diff --git a/variables.tf b/variables.tf
index 4652acff..9a97214e 100644
--- a/variables.tf
+++ b/variables.tf
@@ -100,6 +100,12 @@ variable "attach_waf_log_delivery_policy" {
default = false
}
+variable "region" {
+ description = "Region where the resource(s) will be managed. Defaults to the region set in the provider configuration"
+ type = string
+ default = null
+}
+
variable "bucket" {
description = "(Optional, Forces new resource) The name of the bucket. If omitted, Terraform will assign a random, unique name."
type = string
diff --git a/versions.tf b/versions.tf
index e0d68841..f648e20c 100644
--- a/versions.tf
+++ b/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.10"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.83"
+ version = ">= 6.0"
}
}
}
diff --git a/wrappers/account-public-access/versions.tf b/wrappers/account-public-access/versions.tf
index ff97a040..f648e20c 100644
--- a/wrappers/account-public-access/versions.tf
+++ b/wrappers/account-public-access/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.10"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 3.74"
+ version = ">= 6.0"
}
}
}
diff --git a/wrappers/main.tf b/wrappers/main.tf
index e1a39316..def69e27 100644
--- a/wrappers/main.tf
+++ b/wrappers/main.tf
@@ -58,6 +58,7 @@ module "wrapper" {
owner = try(each.value.owner, var.defaults.owner, {})
policy = try(each.value.policy, var.defaults.policy, null)
putin_khuylo = try(each.value.putin_khuylo, var.defaults.putin_khuylo, true)
+ region = try(each.value.region, var.defaults.region, null)
replication_configuration = try(each.value.replication_configuration, var.defaults.replication_configuration, {})
request_payer = try(each.value.request_payer, var.defaults.request_payer, null)
restrict_public_buckets = try(each.value.restrict_public_buckets, var.defaults.restrict_public_buckets, true)
diff --git a/wrappers/notification/versions.tf b/wrappers/notification/versions.tf
index ff97a040..f648e20c 100644
--- a/wrappers/notification/versions.tf
+++ b/wrappers/notification/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.10"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 3.74"
+ version = ">= 6.0"
}
}
}
diff --git a/wrappers/object/versions.tf b/wrappers/object/versions.tf
index a9c2eed5..f648e20c 100644
--- a/wrappers/object/versions.tf
+++ b/wrappers/object/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.10"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.24"
+ version = ">= 6.0"
}
}
}
diff --git a/wrappers/table-bucket/versions.tf b/wrappers/table-bucket/versions.tf
index e1389835..f648e20c 100644
--- a/wrappers/table-bucket/versions.tf
+++ b/wrappers/table-bucket/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.10"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.98"
+ version = ">= 6.0"
}
}
}
diff --git a/wrappers/versions.tf b/wrappers/versions.tf
index e0d68841..f648e20c 100644
--- a/wrappers/versions.tf
+++ b/wrappers/versions.tf
@@ -1,10 +1,10 @@
terraform {
- required_version = ">= 1.0"
+ required_version = ">= 1.10"
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">= 5.83"
+ version = ">= 6.0"
}
}
}