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" } } }