diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index a6cd369..776bc24 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_docs
diff --git a/README.md b/README.md
index 0c572aa..dd1e178 100644
--- a/README.md
+++ b/README.md
@@ -381,14 +381,14 @@ module "eventbridge" {
| Name | Version |
|------|---------|
-| [terraform](#requirement\_terraform) | >= 1.0 |
-| [aws](#requirement\_aws) | >= 5.98 |
+| [terraform](#requirement\_terraform) | >= 1.5.7 |
+| [aws](#requirement\_aws) | >= 6.0 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.98 |
+| [aws](#provider\_aws) | >= 6.0 |
## Modules
@@ -523,6 +523,7 @@ No modules.
| [policy\_jsons](#input\_policy\_jsons) | List of additional policy documents as JSON to attach to IAM role | `list(string)` | `[]` | no |
| [policy\_path](#input\_policy\_path) | Path of IAM policy to use for EventBridge | `string` | `null` | no |
| [policy\_statements](#input\_policy\_statements) | Map of dynamic policy statements to attach to IAM role | `any` | `{}` | no |
+| [region](#input\_region) | Region where the resource(s) will be managed. Defaults to the region set in the provider configuration | `string` | `null` | no |
| [role\_description](#input\_role\_description) | Description of IAM role to use for EventBridge | `string` | `null` | no |
| [role\_force\_detach\_policies](#input\_role\_force\_detach\_policies) | Specifies to force detaching any policies the IAM role has before destroying it. | `bool` | `true` | no |
| [role\_name](#input\_role\_name) | Name of IAM role to use for EventBridge | `string` | `null` | no |
diff --git a/examples/api-gateway-event-source/README.md b/examples/api-gateway-event-source/README.md
index d44cdd0..0d788a9 100644
--- a/examples/api-gateway-event-source/README.md
+++ b/examples/api-gateway-event-source/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.5.7 |
+| [aws](#requirement\_aws) | >= 6.0 |
| [random](#requirement\_random) | >= 3.0 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.98 |
+| [aws](#provider\_aws) | >= 6.0 |
| [random](#provider\_random) | >= 3.0 |
## Modules
diff --git a/examples/api-gateway-event-source/versions.tf b/examples/api-gateway-event-source/versions.tf
index e184ac5..3fe2eaf 100644
--- a/examples/api-gateway-event-source/versions.tf
+++ b/examples/api-gateway-event-source/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.0"
}
random = {
source = "hashicorp/random"
diff --git a/examples/complete/README.md b/examples/complete/README.md
index b5942dc..5995298 100644
--- a/examples/complete/README.md
+++ b/examples/complete/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.98 |
+| [terraform](#requirement\_terraform) | >= 1.5.7 |
+| [aws](#requirement\_aws) | >= 6.0 |
| [null](#requirement\_null) | >= 2.0 |
| [random](#requirement\_random) | >= 3.0 |
@@ -28,7 +28,7 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.98 |
+| [aws](#provider\_aws) | >= 6.0 |
| [null](#provider\_null) | >= 2.0 |
| [random](#provider\_random) | >= 3.0 |
@@ -36,13 +36,13 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Source | Version |
|------|--------|---------|
-| [bucket](#module\_bucket) | terraform-aws-modules/s3-bucket/aws | ~> 3.0 |
+| [bucket](#module\_bucket) | terraform-aws-modules/s3-bucket/aws | ~> 5.0 |
| [disabled](#module\_disabled) | ../../ | n/a |
| [ecs](#module\_ecs) | terraform-aws-modules/ecs/aws | ~> 3.0 |
| [eventbridge](#module\_eventbridge) | ../../ | n/a |
-| [lambda](#module\_lambda) | terraform-aws-modules/lambda/aws | ~> 6.0 |
+| [lambda](#module\_lambda) | terraform-aws-modules/lambda/aws | ~> 8.0 |
| [sns](#module\_sns) | terraform-aws-modules/sns/aws | ~> 6.0 |
-| [step\_function](#module\_step\_function) | terraform-aws-modules/step-functions/aws | ~> 2.0 |
+| [step\_function](#module\_step\_function) | terraform-aws-modules/step-functions/aws | ~> 5.0 |
## Resources
diff --git a/examples/complete/main.tf b/examples/complete/main.tf
index d88e143..8eff736 100644
--- a/examples/complete/main.tf
+++ b/examples/complete/main.tf
@@ -293,7 +293,7 @@ resource "aws_cloudwatch_log_group" "this" {
module "step_function" {
source = "terraform-aws-modules/step-functions/aws"
- version = "~> 2.0"
+ version = "~> 5.0"
name = random_pet.this.id
@@ -353,11 +353,11 @@ EOF
module "lambda" {
source = "terraform-aws-modules/lambda/aws"
- version = "~> 6.0"
+ version = "~> 8.0"
function_name = "${random_pet.this.id}-lambda"
handler = "index.lambda_handler"
- runtime = "python3.8"
+ runtime = "python3.12"
create_package = false
local_existing_package = local.downloaded
@@ -438,7 +438,7 @@ data "aws_caller_identity" "current" {}
module "bucket" {
source = "terraform-aws-modules/s3-bucket/aws"
- version = "~> 3.0"
+ version = "~> 5.0"
bucket = "${random_pet.this.id}-bucket"
attach_policy = true
@@ -461,7 +461,7 @@ data "aws_iam_policy_document" "bucket_policy" {
]
condition {
test = "StringEquals"
- values = ["arn:aws:cloudtrail:${data.aws_region.current.name}:${data.aws_caller_identity.current.account_id}:trail/${random_pet.this.id}-trail"]
+ values = ["arn:aws:cloudtrail:${data.aws_region.current.region}:${data.aws_caller_identity.current.account_id}:trail/${random_pet.this.id}-trail"]
variable = "aws:SourceArn"
}
}
@@ -483,7 +483,7 @@ data "aws_iam_policy_document" "bucket_policy" {
}
condition {
test = "StringEquals"
- values = ["arn:aws:cloudtrail:${data.aws_region.current.name}:${data.aws_caller_identity.current.account_id}:trail/${random_pet.this.id}-trail"]
+ values = ["arn:aws:cloudtrail:${data.aws_region.current.region}:${data.aws_caller_identity.current.account_id}:trail/${random_pet.this.id}-trail"]
variable = "aws:SourceArn"
}
}
@@ -495,7 +495,7 @@ data "aws_iam_policy_document" "bucket_policy" {
#######
#module "lambda" {
# source = "terraform-aws-modules/lambda/aws"
-# version = "~> 2.0"
+# version = "~> 8.0"
#
# function_name = "dev-cron-job"
# description = "Lambda Serverless Job"
diff --git a/examples/complete/versions.tf b/examples/complete/versions.tf
index 00a2dfa..b54c439 100644
--- a/examples/complete/versions.tf
+++ b/examples/complete/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.0"
}
random = {
source = "hashicorp/random"
diff --git a/examples/default-bus/README.md b/examples/default-bus/README.md
index b13d6a9..aa5dc0c 100644
--- a/examples/default-bus/README.md
+++ b/examples/default-bus/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.5.7 |
+| [aws](#requirement\_aws) | >= 6.0 |
| [random](#requirement\_random) | >= 3.0 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.98 |
+| [aws](#provider\_aws) | >= 6.0 |
| [random](#provider\_random) | >= 3.0 |
## Modules
diff --git a/examples/default-bus/versions.tf b/examples/default-bus/versions.tf
index e184ac5..3fe2eaf 100644
--- a/examples/default-bus/versions.tf
+++ b/examples/default-bus/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.0"
}
random = {
source = "hashicorp/random"
diff --git a/examples/with-api-destination/README.md b/examples/with-api-destination/README.md
index 559193b..28c0a9d 100644
--- a/examples/with-api-destination/README.md
+++ b/examples/with-api-destination/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.5.7 |
+| [aws](#requirement\_aws) | >= 6.0 |
| [random](#requirement\_random) | >= 3.0 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.98 |
+| [aws](#provider\_aws) | >= 6.0 |
| [random](#provider\_random) | >= 3.0 |
## Modules
diff --git a/examples/with-api-destination/versions.tf b/examples/with-api-destination/versions.tf
index e184ac5..3fe2eaf 100644
--- a/examples/with-api-destination/versions.tf
+++ b/examples/with-api-destination/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.0"
}
random = {
source = "hashicorp/random"
diff --git a/examples/with-archive/README.md b/examples/with-archive/README.md
index 3195a67..00840dd 100644
--- a/examples/with-archive/README.md
+++ b/examples/with-archive/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.5.7 |
+| [aws](#requirement\_aws) | >= 6.0 |
| [random](#requirement\_random) | >= 3.0 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.98 |
+| [aws](#provider\_aws) | >= 6.0 |
| [random](#provider\_random) | >= 3.0 |
## Modules
diff --git a/examples/with-archive/versions.tf b/examples/with-archive/versions.tf
index e184ac5..3fe2eaf 100644
--- a/examples/with-archive/versions.tf
+++ b/examples/with-archive/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.0"
}
random = {
source = "hashicorp/random"
diff --git a/examples/with-ecs-scheduling/README.md b/examples/with-ecs-scheduling/README.md
index 636cba1..6bfc101 100644
--- a/examples/with-ecs-scheduling/README.md
+++ b/examples/with-ecs-scheduling/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.5.7 |
+| [aws](#requirement\_aws) | >= 6.0 |
| [random](#requirement\_random) | >= 3.0 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.98 |
+| [aws](#provider\_aws) | >= 6.0 |
| [random](#provider\_random) | >= 3.0 |
## Modules
diff --git a/examples/with-ecs-scheduling/versions.tf b/examples/with-ecs-scheduling/versions.tf
index e184ac5..3fe2eaf 100644
--- a/examples/with-ecs-scheduling/versions.tf
+++ b/examples/with-ecs-scheduling/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.0"
}
random = {
source = "hashicorp/random"
diff --git a/examples/with-lambda-scheduling/README.md b/examples/with-lambda-scheduling/README.md
index 242820b..e1f70e4 100644
--- a/examples/with-lambda-scheduling/README.md
+++ b/examples/with-lambda-scheduling/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.98 |
+| [terraform](#requirement\_terraform) | >= 1.5.7 |
+| [aws](#requirement\_aws) | >= 6.0 |
| [null](#requirement\_null) | >= 2.0 |
| [random](#requirement\_random) | >= 3.0 |
@@ -36,7 +36,7 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Source | Version |
|------|--------|---------|
| [eventbridge](#module\_eventbridge) | ../../ | n/a |
-| [lambda](#module\_lambda) | terraform-aws-modules/lambda/aws | ~> 6.0 |
+| [lambda](#module\_lambda) | terraform-aws-modules/lambda/aws | ~> 8.0 |
## Resources
diff --git a/examples/with-lambda-scheduling/main.tf b/examples/with-lambda-scheduling/main.tf
index 00a8464..e8a911a 100644
--- a/examples/with-lambda-scheduling/main.tf
+++ b/examples/with-lambda-scheduling/main.tf
@@ -44,11 +44,11 @@ resource "random_pet" "this" {
module "lambda" {
source = "terraform-aws-modules/lambda/aws"
- version = "~> 6.0"
+ version = "~> 8.0"
function_name = "${random_pet.this.id}-lambda"
handler = "index.lambda_handler"
- runtime = "python3.8"
+ runtime = "python3.12"
create_package = false
local_existing_package = local.downloaded
diff --git a/examples/with-lambda-scheduling/versions.tf b/examples/with-lambda-scheduling/versions.tf
index 00a2dfa..b54c439 100644
--- a/examples/with-lambda-scheduling/versions.tf
+++ b/examples/with-lambda-scheduling/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.0"
}
random = {
source = "hashicorp/random"
diff --git a/examples/with-permissions/README.md b/examples/with-permissions/README.md
index aa25bd5..3ceb3a0 100644
--- a/examples/with-permissions/README.md
+++ b/examples/with-permissions/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.5.7 |
+| [aws](#requirement\_aws) | >= 6.0 |
| [random](#requirement\_random) | >= 3.0 |
## Providers
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.98 |
+| [aws](#provider\_aws) | >= 6.0 |
| [random](#provider\_random) | >= 3.0 |
## Modules
diff --git a/examples/with-permissions/versions.tf b/examples/with-permissions/versions.tf
index e184ac5..3fe2eaf 100644
--- a/examples/with-permissions/versions.tf
+++ b/examples/with-permissions/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.0"
}
random = {
source = "hashicorp/random"
diff --git a/examples/with-pipes/README.md b/examples/with-pipes/README.md
index cc7d2bb..b8c1b42 100644
--- a/examples/with-pipes/README.md
+++ b/examples/with-pipes/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.98 |
+| [terraform](#requirement\_terraform) | >= 1.5.7 |
+| [aws](#requirement\_aws) | >= 6.0 |
| [null](#requirement\_null) | >= 2.0 |
| [random](#requirement\_random) | >= 3.0 |
@@ -28,7 +28,7 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.98 |
+| [aws](#provider\_aws) | >= 6.0 |
| [null](#provider\_null) | >= 2.0 |
| [random](#provider\_random) | >= 3.0 |
@@ -40,9 +40,9 @@ Note that this example may create resources which cost money. Run `terraform des
| [firehose\_to\_s3](#module\_firehose\_to\_s3) | terraform-aws-modules/iam/aws//modules/iam-assumable-role | ~> 5.0 |
| [firehose\_to\_s3\_policy](#module\_firehose\_to\_s3\_policy) | terraform-aws-modules/iam/aws//modules/iam-policy | ~> 5.0 |
| [kms](#module\_kms) | terraform-aws-modules/kms/aws | ~> 2.0 |
-| [lambda\_target](#module\_lambda\_target) | terraform-aws-modules/lambda/aws | ~> 6.0 |
-| [logs\_bucket](#module\_logs\_bucket) | terraform-aws-modules/s3-bucket/aws | ~> 4.0 |
-| [step\_function\_target](#module\_step\_function\_target) | terraform-aws-modules/step-functions/aws | ~> 2.0 |
+| [lambda\_target](#module\_lambda\_target) | terraform-aws-modules/lambda/aws | ~> 8.0 |
+| [logs\_bucket](#module\_logs\_bucket) | terraform-aws-modules/s3-bucket/aws | ~> 5.0 |
+| [step\_function\_target](#module\_step\_function\_target) | terraform-aws-modules/step-functions/aws | ~> 5.0 |
## Resources
diff --git a/examples/with-pipes/main.tf b/examples/with-pipes/main.tf
index 4c28857..8efd3a2 100644
--- a/examples/with-pipes/main.tf
+++ b/examples/with-pipes/main.tf
@@ -495,11 +495,11 @@ resource "aws_cloudwatch_event_bus" "target" {
module "lambda_target" {
source = "terraform-aws-modules/lambda/aws"
- version = "~> 6.0"
+ version = "~> 8.0"
function_name = "${random_pet.this.id}-lambda"
handler = "index.lambda_handler"
- runtime = "python3.8"
+ runtime = "python3.12"
create_package = false
local_existing_package = local.downloaded
@@ -526,7 +526,7 @@ resource "null_resource" "download_package" {
module "step_function_target" {
source = "terraform-aws-modules/step-functions/aws"
- version = "~> 2.0"
+ version = "~> 5.0"
name = "${random_pet.this.id}-target"
@@ -551,7 +551,7 @@ resource "aws_cloudwatch_log_group" "logs" {
module "logs_bucket" {
source = "terraform-aws-modules/s3-bucket/aws"
- version = "~> 4.0"
+ version = "~> 5.0"
bucket_prefix = "${random_pet.this.id}-logs"
diff --git a/examples/with-pipes/versions.tf b/examples/with-pipes/versions.tf
index 00a2dfa..b54c439 100644
--- a/examples/with-pipes/versions.tf
+++ b/examples/with-pipes/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.0"
}
random = {
source = "hashicorp/random"
diff --git a/examples/with-schedules/README.md b/examples/with-schedules/README.md
index 2d9b747..de1cf6e 100644
--- a/examples/with-schedules/README.md
+++ b/examples/with-schedules/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.98 |
+| [terraform](#requirement\_terraform) | >= 1.5.7 |
+| [aws](#requirement\_aws) | >= 6.0 |
| [null](#requirement\_null) | >= 2.0 |
| [random](#requirement\_random) | >= 3.0 |
@@ -28,7 +28,7 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| [aws](#provider\_aws) | >= 5.98 |
+| [aws](#provider\_aws) | >= 6.0 |
| [null](#provider\_null) | >= 2.0 |
| [random](#provider\_random) | >= 3.0 |
@@ -37,7 +37,7 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Source | Version |
|------|--------|---------|
| [eventbridge](#module\_eventbridge) | ../../ | n/a |
-| [lambda](#module\_lambda) | terraform-aws-modules/lambda/aws | ~> 5.0 |
+| [lambda](#module\_lambda) | terraform-aws-modules/lambda/aws | ~> 8.0 |
## Resources
diff --git a/examples/with-schedules/main.tf b/examples/with-schedules/main.tf
index 1034328..094ae31 100644
--- a/examples/with-schedules/main.tf
+++ b/examples/with-schedules/main.tf
@@ -70,11 +70,11 @@ resource "aws_kinesis_stream" "this" {
module "lambda" {
source = "terraform-aws-modules/lambda/aws"
- version = "~> 5.0"
+ version = "~> 8.0"
function_name = "${random_pet.this.id}-lambda"
handler = "index.lambda_handler"
- runtime = "python3.8"
+ runtime = "python3.12"
create_package = false
local_existing_package = local.downloaded
diff --git a/examples/with-schedules/versions.tf b/examples/with-schedules/versions.tf
index 00a2dfa..b54c439 100644
--- a/examples/with-schedules/versions.tf
+++ b/examples/with-schedules/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.0"
}
random = {
source = "hashicorp/random"
diff --git a/iam_pipes.tf b/iam_pipes.tf
index 984375d..893babd 100644
--- a/iam_pipes.tf
+++ b/iam_pipes.tf
@@ -345,7 +345,7 @@ data "aws_iam_policy_document" "assume_role_pipe" {
condition {
test = "StringEquals"
variable = "aws:SourceArn"
- values = ["arn:aws:pipes:${data.aws_region.current.name}:${data.aws_caller_identity.current.account_id}:pipe/${each.value.Name}"]
+ values = ["arn:aws:pipes:${data.aws_region.current.region}:${data.aws_caller_identity.current.account_id}:pipe/${each.value.Name}"]
}
}
}
diff --git a/main.tf b/main.tf
index 20fae9e..b89644d 100644
--- a/main.tf
+++ b/main.tf
@@ -64,6 +64,8 @@ data "aws_cloudwatch_event_bus" "this" {
resource "aws_cloudwatch_event_bus" "this" {
count = var.create && var.create_bus ? 1 : 0
+ region = var.region
+
name = var.bus_name
description = var.bus_description
event_source_name = var.event_source_name
@@ -82,6 +84,8 @@ resource "aws_cloudwatch_event_bus" "this" {
resource "aws_schemas_discoverer" "this" {
count = var.create && var.create_schemas_discoverer ? 1 : 0
+ region = var.region
+
source_arn = var.create_bus ? aws_cloudwatch_event_bus.this[0].arn : data.aws_cloudwatch_event_bus.this[0].arn
description = var.schemas_discoverer_description
@@ -91,6 +95,8 @@ resource "aws_schemas_discoverer" "this" {
resource "aws_cloudwatch_event_rule" "this" {
for_each = { for k, v in local.eventbridge_rules : v.name => v if var.create && var.create_rules }
+ region = var.region
+
name = each.value.Name
name_prefix = lookup(each.value, "name_prefix", null)
@@ -111,6 +117,8 @@ resource "aws_cloudwatch_event_rule" "this" {
resource "aws_cloudwatch_event_target" "this" {
for_each = { for k, v in local.eventbridge_targets : v.name => v if var.create && var.create_targets }
+ region = var.region
+
event_bus_name = var.create_bus ? aws_cloudwatch_event_bus.this[0].name : var.bus_name
rule = each.value.Name
@@ -274,6 +282,8 @@ resource "aws_cloudwatch_event_target" "this" {
resource "aws_cloudwatch_event_archive" "this" {
for_each = var.create && var.create_archives ? var.archives : {}
+ region = var.region
+
name = lookup(each.value, "name", each.key)
event_source_arn = try(each.value["event_source_arn"], aws_cloudwatch_event_bus.this[0].arn)
@@ -285,6 +295,8 @@ resource "aws_cloudwatch_event_archive" "this" {
resource "aws_cloudwatch_event_permission" "this" {
for_each = var.create && var.create_permissions ? var.permissions : {}
+ region = var.region
+
principal = compact(split(" ", each.key))[0]
statement_id = compact(split(" ", each.key))[1]
@@ -305,6 +317,8 @@ resource "aws_cloudwatch_event_permission" "this" {
resource "aws_cloudwatch_event_connection" "this" {
for_each = { for k, v in local.eventbridge_connections : v.name => v if var.create && var.create_connections }
+ region = var.region
+
name = each.value.Name
description = lookup(each.value, "description", null)
authorization_type = each.value.authorization_type
@@ -448,6 +462,8 @@ resource "aws_cloudwatch_event_connection" "this" {
resource "aws_cloudwatch_event_api_destination" "this" {
for_each = { for k, v in local.eventbridge_api_destinations : v.name => v if var.create && var.create_api_destinations }
+ region = var.region
+
name = each.value.Name
description = lookup(each.value, "description", null)
invocation_endpoint = each.value.invocation_endpoint
@@ -459,6 +475,8 @@ resource "aws_cloudwatch_event_api_destination" "this" {
resource "aws_scheduler_schedule_group" "this" {
for_each = { for k, v in local.eventbridge_schedule_groups : k => v if var.create && var.create_schedule_groups }
+ region = var.region
+
name = lookup(each.value, "name_prefix", null) == null ? try(each.value.name, each.key) : null
name_prefix = lookup(each.value, "name_prefix", null) != null ? each.value.name_prefix : null
@@ -477,6 +495,8 @@ resource "aws_scheduler_schedule_group" "this" {
resource "aws_scheduler_schedule" "this" {
for_each = { for k, v in local.eventbridge_schedules : v.name => v if var.create && var.create_schedules }
+ region = var.region
+
name = each.value.Name
name_prefix = lookup(each.value, "name_prefix", null)
description = lookup(each.value, "description", null)
@@ -638,6 +658,8 @@ resource "aws_scheduler_schedule" "this" {
resource "aws_pipes_pipe" "this" {
for_each = { for k, v in local.eventbridge_pipes : v.name => v if local.create_pipes }
+ region = var.region
+
name = each.value.Name
role_arn = try(each.value.role_arn, aws_iam_role.eventbridge_pipe[each.key].arn)
diff --git a/variables.tf b/variables.tf
index e25aa21..445a993 100644
--- a/variables.tf
+++ b/variables.tf
@@ -120,6 +120,12 @@ variable "create_pipes" {
#######################
+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 "bus_name" {
description = "A unique name for your EventBridge Bus"
type = string
diff --git a/versions.tf b/versions.tf
index e138983..db13b0a 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.0"
}
}
}