diff --git a/.chglog/config.yml b/.chglog/config.yml
index 4f6bab9..7c2a5c5 100644
--- a/.chglog/config.yml
+++ b/.chglog/config.yml
@@ -3,7 +3,7 @@ style: github
template: CHANGELOG.tpl.md
info:
title: CHANGELOG
- repository_url: https://github.com/svenlito/terraform-aws-eventbridge
+ repository_url: https://github.com/terraform-aws-modules/terraform-aws-eventbridge
options:
header:
pattern: "^(.*)$"
diff --git a/README.md b/README.md
index 96bdc2b..106bf25 100644
--- a/README.md
+++ b/README.md
@@ -24,7 +24,7 @@ The following resources are currently supported:
```hcl
module "eventbridge" {
- source = ""
+ source = "terraform-aws-modules/eventbridge/aws"
bus_name = "my-bus"
@@ -38,7 +38,7 @@ module "eventbridge" {
```hcl
module "eventbridge" {
- source = ""
+ source = "terraform-aws-modules/eventbridge/aws"
bus_name = "my-bus"
@@ -61,7 +61,7 @@ module "eventbridge" {
```hcl
module "eventbridge" {
- source = ""
+ source = "terraform-aws-modules/eventbridge/aws"
bus_name = "my-bus"
@@ -95,7 +95,7 @@ module "eventbridge" {
```hcl
module "eventbridge_with_archive" {
- source = ""
+ source = "terraform-aws-modules/eventbridge/aws"
bus_name = "my-bus"
@@ -125,7 +125,7 @@ module "eventbridge_with_archive" {
```hcl
module "eventbridge_with_permissions" {
- source = ""
+ source = "terraform-aws-modules/eventbridge/aws"
bus_name = "my-bus"
@@ -162,7 +162,7 @@ Sometimes you need to have a way to create resources conditionally but Terraform
```hcl
module "eventbridge" {
- source = ""
+ source = "terraform-aws-modules/eventbridge/aws"
create = false # to disable all resources
@@ -204,99 +204,128 @@ module "eventbridge" {
| Name | Version |
|------|---------|
-| terraform | >= 0.12.26 |
-| aws | >= 3.19 |
+| [terraform](#requirement\_terraform) | >= 0.12.26 |
+| [aws](#requirement\_aws) | >= 3.19 |
## Providers
| Name | Version |
|------|---------|
-| aws | >= 3.19 |
+| [aws](#provider\_aws) | >= 3.19 |
## Modules
-No Modules.
+No modules.
## Resources
-| Name |
-|------|
-| [aws_cloudwatch_event_archive](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_archive) |
-| [aws_cloudwatch_event_bus](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_bus) |
-| [aws_cloudwatch_event_permission](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_permission) |
-| [aws_cloudwatch_event_rule](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_rule) |
-| [aws_cloudwatch_event_target](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_target) |
-| [aws_iam_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy) |
-| [aws_iam_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) |
-| [aws_iam_policy_attachment](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy_attachment) |
-| [aws_iam_policy_document](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) |
-| [aws_iam_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) |
-| [aws_iam_role_policy_attachment](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) |
+| Name | Type |
+|------|------|
+| [aws_cloudwatch_event_archive.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_archive) | resource |
+| [aws_cloudwatch_event_bus.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_bus) | resource |
+| [aws_cloudwatch_event_permission.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_permission) | resource |
+| [aws_cloudwatch_event_rule.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_rule) | resource |
+| [aws_cloudwatch_event_target.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_target) | resource |
+| [aws_iam_policy.additional_inline](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
+| [aws_iam_policy.additional_json](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
+| [aws_iam_policy.additional_jsons](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
+| [aws_iam_policy.cloudwatch](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
+| [aws_iam_policy.ecs](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
+| [aws_iam_policy.kinesis](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
+| [aws_iam_policy.kinesis_firehose](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
+| [aws_iam_policy.lambda](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
+| [aws_iam_policy.sfn](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
+| [aws_iam_policy.sqs](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
+| [aws_iam_policy.tracing](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
+| [aws_iam_policy_attachment.additional_inline](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy_attachment) | resource |
+| [aws_iam_policy_attachment.additional_json](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy_attachment) | resource |
+| [aws_iam_policy_attachment.additional_jsons](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy_attachment) | resource |
+| [aws_iam_policy_attachment.cloudwatch](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy_attachment) | resource |
+| [aws_iam_policy_attachment.ecs](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy_attachment) | resource |
+| [aws_iam_policy_attachment.kinesis](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy_attachment) | resource |
+| [aws_iam_policy_attachment.kinesis_firehose](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy_attachment) | resource |
+| [aws_iam_policy_attachment.lambda](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy_attachment) | resource |
+| [aws_iam_policy_attachment.sfn](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy_attachment) | resource |
+| [aws_iam_policy_attachment.sqs](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy_attachment) | resource |
+| [aws_iam_policy_attachment.tracing](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy_attachment) | resource |
+| [aws_iam_role.eventbridge](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |
+| [aws_iam_role_policy_attachment.additional_many](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
+| [aws_iam_role_policy_attachment.additional_one](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
+| [aws_iam_policy.tracing](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy) | data source |
+| [aws_iam_policy_document.additional_inline](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
+| [aws_iam_policy_document.assume_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
+| [aws_iam_policy_document.cloudwatch](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
+| [aws_iam_policy_document.ecs](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
+| [aws_iam_policy_document.kinesis](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
+| [aws_iam_policy_document.kinesis_firehose](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
+| [aws_iam_policy_document.lambda](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
+| [aws_iam_policy_document.sfn](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
+| [aws_iam_policy_document.sqs](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
-| archive\_config | A list of objects with the EventBridge Archive definitions. | `list(any)` | `[]` | no |
-| attach\_cloudwatch\_policy | Controls whether the Cloudwatch policy should be added to IAM role for EventBridge Target | `bool` | `false` | no |
-| attach\_ecs\_policy | Controls whether the ECS policy should be added to IAM role for EventBridge Target | `bool` | `false` | no |
-| attach\_kinesis\_firehose\_policy | Controls whether the Kinesis Firehose policy should be added to IAM role for EventBridge Target | `bool` | `false` | no |
-| attach\_kinesis\_policy | Controls whether the Kinesis policy should be added to IAM role for EventBridge Target | `bool` | `false` | no |
-| attach\_lambda\_policy | Controls whether the Lambda Function policy should be added to IAM role for EventBridge Target | `bool` | `false` | no |
-| attach\_policies | Controls whether list of policies should be added to IAM role | `bool` | `false` | no |
-| attach\_policy | Controls whether policy should be added to IAM role | `bool` | `false` | no |
-| attach\_policy\_json | Controls whether policy\_json should be added to IAM role | `bool` | `false` | no |
-| attach\_policy\_jsons | Controls whether policy\_jsons should be added to IAM role | `bool` | `false` | no |
-| attach\_policy\_statements | Controls whether policy\_statements should be added to IAM role | `bool` | `false` | no |
-| attach\_sfn\_policy | Controls whether the StepFunction policy should be added to IAM role for EventBridge Target | `bool` | `false` | no |
-| attach\_sqs\_policy | Controls whether the SQS policy should be added to IAM role for EventBridge Target | `bool` | `false` | no |
-| attach\_tracing\_policy | Controls whether X-Ray tracing policy should be added to IAM role for EventBridge | `bool` | `false` | no |
-| bus\_name | A unique name for your EventBridge Bus | `string` | `""` | no |
-| cloudwatch\_target\_arns | The Amazon Resource Name (ARN) of the Cloudwatch Log Streams you want to use as EventBridge targets | `list(string)` | `[]` | no |
-| create | Controls whether resources should be created | `bool` | `true` | no |
-| create\_archives | Controls whether EventBridge Archive resources should be created | `bool` | `false` | no |
-| create\_bus | Controls whether EventBridge Bus resource should be created | `bool` | `true` | no |
-| create\_permissions | Controls whether EventBridge Permission resources should be created | `bool` | `true` | no |
-| create\_role | Controls whether IAM role for Lambda Function should be created | `bool` | `true` | no |
-| create\_rules | Controls whether EventBridge Rule resources should be created | `bool` | `true` | no |
-| create\_targets | Controls whether EventBridge Target resources should be created | `bool` | `true` | no |
-| ecs\_target\_arns | The Amazon Resource Name (ARN) of the AWS ECS Tasks you want to use as EventBridge targets | `list(string)` | `[]` | no |
-| kinesis\_firehose\_target\_arns | The Amazon Resource Name (ARN) of the Kinesis Firehose Delivery Streams you want to use as EventBridge targets | `list(string)` | `[]` | no |
-| kinesis\_target\_arns | The Amazon Resource Name (ARN) of the Kinesis Streams you want to use as EventBridge targets | `list(string)` | `[]` | no |
-| lambda\_target\_arns | The Amazon Resource Name (ARN) of the Lambda Functions you want to use as EventBridge targets | `list(string)` | `[]` | no |
-| number\_of\_policies | Number of policies to attach to IAM role | `number` | `0` | no |
-| number\_of\_policy\_jsons | Number of policies JSON to attach to IAM role | `number` | `0` | no |
-| permission\_config | A list of objects with EventBridge Permission definitions. | `list(any)` | `[]` | no |
-| policies | List of policy statements ARN to attach to IAM role | `list(string)` | `[]` | no |
-| policy | An additional policy document ARN to attach to IAM role | `string` | `null` | no |
-| policy\_json | An additional policy document as JSON to attach to IAM role | `string` | `null` | no |
-| policy\_jsons | List of additional policy documents as JSON to attach to IAM role | `list(string)` | `[]` | no |
-| policy\_statements | Map of dynamic policy statements to attach to IAM role | `any` | `{}` | no |
-| role\_description | Description of IAM role to use for Lambda Function | `string` | `null` | no |
-| role\_force\_detach\_policies | Specifies to force detaching any policies the IAM role has before destroying it. | `bool` | `true` | no |
-| role\_name | Name of IAM role to use for Lambda Function | `string` | `null` | no |
-| role\_path | Path of IAM role to use for Lambda Function | `string` | `null` | no |
-| role\_permissions\_boundary | The ARN of the policy that is used to set the permissions boundary for the IAM role used by Lambda Function | `string` | `null` | no |
-| role\_tags | A map of tags to assign to IAM role | `map(string)` | `{}` | no |
-| rules | A map of objects with EventBridge Rule definitions. | `map(any)` | `{}` | no |
-| sfn\_target\_arns | The Amazon Resource Name (ARN) of the StepFunctions you want to use as EventBridge targets | `list(string)` | `[]` | no |
-| sqs\_target\_arns | The Amazon Resource Name (ARN) of the AWS SQS Queues you want to use as EventBridge targets | `list(string)` | `[]` | no |
-| tags | A map of tags to assign to resources. | `map(string)` | `{}` | no |
-| targets | A Map of objects with EventBridge Target definitions. | `any` | `{}` | no |
-| trusted\_entities | Step Function additional trusted entities for assuming roles (trust relationship) | `list(string)` | `[]` | no |
+| [archive\_config](#input\_archive\_config) | A list of objects with the EventBridge Archive definitions. | `list(any)` | `[]` | no |
+| [attach\_cloudwatch\_policy](#input\_attach\_cloudwatch\_policy) | Controls whether the Cloudwatch policy should be added to IAM role for EventBridge Target | `bool` | `false` | no |
+| [attach\_ecs\_policy](#input\_attach\_ecs\_policy) | Controls whether the ECS policy should be added to IAM role for EventBridge Target | `bool` | `false` | no |
+| [attach\_kinesis\_firehose\_policy](#input\_attach\_kinesis\_firehose\_policy) | Controls whether the Kinesis Firehose policy should be added to IAM role for EventBridge Target | `bool` | `false` | no |
+| [attach\_kinesis\_policy](#input\_attach\_kinesis\_policy) | Controls whether the Kinesis policy should be added to IAM role for EventBridge Target | `bool` | `false` | no |
+| [attach\_lambda\_policy](#input\_attach\_lambda\_policy) | Controls whether the Lambda Function policy should be added to IAM role for EventBridge Target | `bool` | `false` | no |
+| [attach\_policies](#input\_attach\_policies) | Controls whether list of policies should be added to IAM role | `bool` | `false` | no |
+| [attach\_policy](#input\_attach\_policy) | Controls whether policy should be added to IAM role | `bool` | `false` | no |
+| [attach\_policy\_json](#input\_attach\_policy\_json) | Controls whether policy\_json should be added to IAM role | `bool` | `false` | no |
+| [attach\_policy\_jsons](#input\_attach\_policy\_jsons) | Controls whether policy\_jsons should be added to IAM role | `bool` | `false` | no |
+| [attach\_policy\_statements](#input\_attach\_policy\_statements) | Controls whether policy\_statements should be added to IAM role | `bool` | `false` | no |
+| [attach\_sfn\_policy](#input\_attach\_sfn\_policy) | Controls whether the StepFunction policy should be added to IAM role for EventBridge Target | `bool` | `false` | no |
+| [attach\_sqs\_policy](#input\_attach\_sqs\_policy) | Controls whether the SQS policy should be added to IAM role for EventBridge Target | `bool` | `false` | no |
+| [attach\_tracing\_policy](#input\_attach\_tracing\_policy) | Controls whether X-Ray tracing policy should be added to IAM role for EventBridge | `bool` | `false` | no |
+| [bus\_name](#input\_bus\_name) | A unique name for your EventBridge Bus | `string` | `""` | no |
+| [cloudwatch\_target\_arns](#input\_cloudwatch\_target\_arns) | The Amazon Resource Name (ARN) of the Cloudwatch Log Streams you want to use as EventBridge targets | `list(string)` | `[]` | no |
+| [create](#input\_create) | Controls whether resources should be created | `bool` | `true` | no |
+| [create\_archives](#input\_create\_archives) | Controls whether EventBridge Archive resources should be created | `bool` | `false` | no |
+| [create\_bus](#input\_create\_bus) | Controls whether EventBridge Bus resource should be created | `bool` | `true` | no |
+| [create\_permissions](#input\_create\_permissions) | Controls whether EventBridge Permission resources should be created | `bool` | `true` | no |
+| [create\_role](#input\_create\_role) | Controls whether IAM role for Lambda Function should be created | `bool` | `true` | no |
+| [create\_rules](#input\_create\_rules) | Controls whether EventBridge Rule resources should be created | `bool` | `true` | no |
+| [create\_targets](#input\_create\_targets) | Controls whether EventBridge Target resources should be created | `bool` | `true` | no |
+| [ecs\_target\_arns](#input\_ecs\_target\_arns) | The Amazon Resource Name (ARN) of the AWS ECS Tasks you want to use as EventBridge targets | `list(string)` | `[]` | no |
+| [kinesis\_firehose\_target\_arns](#input\_kinesis\_firehose\_target\_arns) | The Amazon Resource Name (ARN) of the Kinesis Firehose Delivery Streams you want to use as EventBridge targets | `list(string)` | `[]` | no |
+| [kinesis\_target\_arns](#input\_kinesis\_target\_arns) | The Amazon Resource Name (ARN) of the Kinesis Streams you want to use as EventBridge targets | `list(string)` | `[]` | no |
+| [lambda\_target\_arns](#input\_lambda\_target\_arns) | The Amazon Resource Name (ARN) of the Lambda Functions you want to use as EventBridge targets | `list(string)` | `[]` | no |
+| [number\_of\_policies](#input\_number\_of\_policies) | Number of policies to attach to IAM role | `number` | `0` | no |
+| [number\_of\_policy\_jsons](#input\_number\_of\_policy\_jsons) | Number of policies JSON to attach to IAM role | `number` | `0` | no |
+| [permission\_config](#input\_permission\_config) | A list of objects with EventBridge Permission definitions. | `list(any)` | `[]` | no |
+| [policies](#input\_policies) | List of policy statements ARN to attach to IAM role | `list(string)` | `[]` | no |
+| [policy](#input\_policy) | An additional policy document ARN to attach to IAM role | `string` | `null` | no |
+| [policy\_json](#input\_policy\_json) | An additional policy document as JSON to attach to IAM role | `string` | `null` | no |
+| [policy\_jsons](#input\_policy\_jsons) | List of additional policy documents as JSON to attach to IAM role | `list(string)` | `[]` | no |
+| [policy\_statements](#input\_policy\_statements) | Map of dynamic policy statements to attach to IAM role | `any` | `{}` | no |
+| [role\_description](#input\_role\_description) | Description of IAM role to use for Lambda Function | `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 Lambda Function | `string` | `null` | no |
+| [role\_path](#input\_role\_path) | Path of IAM role to use for Lambda Function | `string` | `null` | no |
+| [role\_permissions\_boundary](#input\_role\_permissions\_boundary) | The ARN of the policy that is used to set the permissions boundary for the IAM role used by Lambda Function | `string` | `null` | no |
+| [role\_tags](#input\_role\_tags) | A map of tags to assign to IAM role | `map(string)` | `{}` | no |
+| [rules](#input\_rules) | A map of objects with EventBridge Rule definitions. | `map(any)` | `{}` | no |
+| [sfn\_target\_arns](#input\_sfn\_target\_arns) | The Amazon Resource Name (ARN) of the StepFunctions you want to use as EventBridge targets | `list(string)` | `[]` | no |
+| [sqs\_target\_arns](#input\_sqs\_target\_arns) | The Amazon Resource Name (ARN) of the AWS SQS Queues you want to use as EventBridge targets | `list(string)` | `[]` | no |
+| [tags](#input\_tags) | A map of tags to assign to resources. | `map(string)` | `{}` | no |
+| [targets](#input\_targets) | A Map of objects with EventBridge Target definitions. | `any` | `{}` | no |
+| [trusted\_entities](#input\_trusted\_entities) | Step Function additional trusted entities for assuming roles (trust relationship) | `list(string)` | `[]` | no |
## Outputs
| Name | Description |
|------|-------------|
-| eventbridge\_role\_arn | The ARN of the IAM role created for EventBridge |
-| eventbridge\_role\_name | The name of the IAM role created for EventBridge |
-| this\_eventbridge\_archive\_arns | The EventBridge Archive Arns created |
-| this\_eventbridge\_bus\_arn | The EventBridge Bus Arn |
-| this\_eventbridge\_bus\_name | The EventBridge Bus Name |
-| this\_eventbridge\_permission\_ids | The EventBridge Permission Arns created |
-| this\_eventbridge\_rule\_arns | The EventBridge Rule ARNs created |
-| this\_eventbridge\_rule\_ids | The EventBridge Rule IDs created |
+| [eventbridge\_role\_arn](#output\_eventbridge\_role\_arn) | The ARN of the IAM role created for EventBridge |
+| [eventbridge\_role\_name](#output\_eventbridge\_role\_name) | The name of the IAM role created for EventBridge |
+| [this\_eventbridge\_archive\_arns](#output\_this\_eventbridge\_archive\_arns) | The EventBridge Archive Arns created |
+| [this\_eventbridge\_bus\_arn](#output\_this\_eventbridge\_bus\_arn) | The EventBridge Bus Arn |
+| [this\_eventbridge\_bus\_name](#output\_this\_eventbridge\_bus\_name) | The EventBridge Bus Name |
+| [this\_eventbridge\_permission\_ids](#output\_this\_eventbridge\_permission\_ids) | The EventBridge Permission Arns created |
+| [this\_eventbridge\_rule\_arns](#output\_this\_eventbridge\_rule\_arns) | The EventBridge Rule ARNs created |
+| [this\_eventbridge\_rule\_ids](#output\_this\_eventbridge\_rule\_ids) | The EventBridge Rule IDs created |
## Authors
diff --git a/examples/api-gateway-event-source/README.md b/examples/api-gateway-event-source/README.md
index d945dd0..5ce1768 100644
--- a/examples/api-gateway-event-source/README.md
+++ b/examples/api-gateway-event-source/README.md
@@ -19,47 +19,49 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| terraform | >= 0.14.0 |
-| aws | >= 3.19 |
-| random | >= 0 |
+| [terraform](#requirement\_terraform) | >= 0.14.0 |
+| [aws](#requirement\_aws) | >= 3.19 |
+| [random](#requirement\_random) | >= 0 |
## Providers
| Name | Version |
|------|---------|
-| aws | >= 3.19 |
-| random | >= 0 |
+| [aws](#provider\_aws) | >= 3.19 |
+| [random](#provider\_random) | >= 0 |
## Modules
| Name | Source | Version |
|------|--------|---------|
-| api_gateway | terraform-aws-modules/apigateway-v2/aws | 0.14.0 |
-| apigateway_put_events_to_eventbridge_policy | terraform-aws-modules/iam/aws//modules/iam-policy | 3.13.0 |
-| apigateway_put_events_to_eventbridge_role | terraform-aws-modules/iam/aws//modules/iam-assumable-role | 3.13.0 |
-| eventbridge | ../../ | |
+| [api\_gateway](#module\_api\_gateway) | terraform-aws-modules/apigateway-v2/aws | 0.14.0 |
+| [apigateway\_put\_events\_to\_eventbridge\_policy](#module\_apigateway\_put\_events\_to\_eventbridge\_policy) | terraform-aws-modules/iam/aws//modules/iam-policy | 3.13.0 |
+| [apigateway\_put\_events\_to\_eventbridge\_role](#module\_apigateway\_put\_events\_to\_eventbridge\_role) | terraform-aws-modules/iam/aws//modules/iam-assumable-role | 3.13.0 |
+| [eventbridge](#module\_eventbridge) | ../../ | |
## Resources
-| Name |
-|------|
-| [aws_iam_policy_document](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) |
-| [aws_sqs_queue](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) |
-| [aws_sqs_queue_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue_policy) |
-| [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) |
+| Name | Type |
+|------|------|
+| [aws_sqs_queue.dlq](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) | resource |
+| [aws_sqs_queue.queue](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) | resource |
+| [aws_sqs_queue_policy.queue](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue_policy) | resource |
+| [random_pet.this](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) | resource |
+| [aws_iam_policy_document.apigateway_put_events_to_eventbridge_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
+| [aws_iam_policy_document.queue](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
## Inputs
-No input.
+No inputs.
## Outputs
| Name | Description |
|------|-------------|
-| eventbridge\_role\_arn | The ARN of the IAM role created for EventBridge |
-| eventbridge\_role\_name | The name of the IAM role created for EventBridge |
-| this\_eventbridge\_bus\_arn | The EventBridge Bus Arn |
-| this\_eventbridge\_bus\_name | The EventBridge Bus Name |
-| this\_eventbridge\_rule\_arns | The EventBridge Rule ARNs created |
-| this\_eventbridge\_rule\_ids | The EventBridge Rule IDs created |
+| [eventbridge\_role\_arn](#output\_eventbridge\_role\_arn) | The ARN of the IAM role created for EventBridge |
+| [eventbridge\_role\_name](#output\_eventbridge\_role\_name) | The name of the IAM role created for EventBridge |
+| [this\_eventbridge\_bus\_arn](#output\_this\_eventbridge\_bus\_arn) | The EventBridge Bus Arn |
+| [this\_eventbridge\_bus\_name](#output\_this\_eventbridge\_bus\_name) | The EventBridge Bus Name |
+| [this\_eventbridge\_rule\_arns](#output\_this\_eventbridge\_rule\_arns) | The EventBridge Rule ARNs created |
+| [this\_eventbridge\_rule\_ids](#output\_this\_eventbridge\_rule\_ids) | The EventBridge Rule IDs created |
diff --git a/examples/cloudwatch-target/README.md b/examples/cloudwatch-target/README.md
index 5810563..d997e3a 100644
--- a/examples/cloudwatch-target/README.md
+++ b/examples/cloudwatch-target/README.md
@@ -19,37 +19,37 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| terraform | >= 0.14.0 |
-| aws | >= 3.19 |
-| random | >= 0 |
+| [terraform](#requirement\_terraform) | >= 0.14.0 |
+| [aws](#requirement\_aws) | >= 3.19 |
+| [random](#requirement\_random) | >= 0 |
## Providers
| Name | Version |
|------|---------|
-| aws | >= 3.19 |
-| random | >= 0 |
+| [aws](#provider\_aws) | >= 3.19 |
+| [random](#provider\_random) | >= 0 |
## Modules
| Name | Source | Version |
|------|--------|---------|
-| eventbridge | ../../ | |
+| [eventbridge](#module\_eventbridge) | ../../ | |
## Resources
-| Name |
-|------|
-| [aws_cloudwatch_log_group](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_log_group) |
-| [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) |
+| Name | Type |
+|------|------|
+| [aws_cloudwatch_log_group.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_log_group) | resource |
+| [random_pet.this](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) | resource |
## Inputs
-No input.
+No inputs.
## Outputs
| Name | Description |
|------|-------------|
-| eventbridge\_bus\_arn | The EventBridge Bus ARN |
+| [eventbridge\_bus\_arn](#output\_eventbridge\_bus\_arn) | The EventBridge Bus ARN |
diff --git a/examples/complete/README.md b/examples/complete/README.md
index 7bd5d0b..d5ad6b2 100644
--- a/examples/complete/README.md
+++ b/examples/complete/README.md
@@ -19,43 +19,44 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| terraform | >= 0.14.0 |
-| aws | >= 3.19 |
-| random | >= 0 |
+| [terraform](#requirement\_terraform) | >= 0.14.0 |
+| [aws](#requirement\_aws) | >= 3.19 |
+| [random](#requirement\_random) | >= 0 |
## Providers
| Name | Version |
|------|---------|
-| aws | >= 3.19 |
-| random | >= 0 |
+| [aws](#provider\_aws) | >= 3.19 |
+| [random](#provider\_random) | >= 0 |
## Modules
| Name | Source | Version |
|------|--------|---------|
-| eventbridge | ../../ | |
+| [eventbridge](#module\_eventbridge) | ../../ | |
## Resources
-| Name |
-|------|
-| [aws_cloudwatch_log_group](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_log_group) |
-| [aws_iam_policy_document](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) |
-| [aws_kinesis_stream](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kinesis_stream) |
-| [aws_sqs_queue](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) |
-| [aws_sqs_queue_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue_policy) |
-| [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) |
+| Name | Type |
+|------|------|
+| [aws_cloudwatch_log_group.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_log_group) | resource |
+| [aws_kinesis_stream.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kinesis_stream) | resource |
+| [aws_sqs_queue.dlq](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) | resource |
+| [aws_sqs_queue.queue](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) | resource |
+| [aws_sqs_queue_policy.queue](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue_policy) | resource |
+| [random_pet.this](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) | resource |
+| [aws_iam_policy_document.queue](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
## Inputs
-No input.
+No inputs.
## Outputs
| Name | Description |
|------|-------------|
-| eventbridge\_bus\_arn | The EventBridge Bus ARN |
-| eventbridge\_rule\_arns | The EventBridge Rule ARNs |
-| eventbridge\_rule\_ids | The EventBridge Rule IDs |
+| [eventbridge\_bus\_arn](#output\_eventbridge\_bus\_arn) | The EventBridge Bus ARN |
+| [eventbridge\_rule\_arns](#output\_eventbridge\_rule\_arns) | The EventBridge Rule ARNs |
+| [eventbridge\_rule\_ids](#output\_eventbridge\_rule\_ids) | The EventBridge Rule IDs |
diff --git a/examples/simple/README.md b/examples/simple/README.md
index ed54e6b..418c54d 100644
--- a/examples/simple/README.md
+++ b/examples/simple/README.md
@@ -19,35 +19,35 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| terraform | >= 0.14.0 |
-| aws | >= 3.19 |
-| random | >= 0 |
+| [terraform](#requirement\_terraform) | >= 0.14.0 |
+| [aws](#requirement\_aws) | >= 3.19 |
+| [random](#requirement\_random) | >= 0 |
## Providers
| Name | Version |
|------|---------|
-| random | >= 0 |
+| [random](#provider\_random) | >= 0 |
## Modules
| Name | Source | Version |
|------|--------|---------|
-| eventbridge | ../../ | |
+| [eventbridge](#module\_eventbridge) | ../../ | |
## Resources
-| Name |
-|------|
-| [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) |
+| Name | Type |
+|------|------|
+| [random_pet.this](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) | resource |
## Inputs
-No input.
+No inputs.
## Outputs
| Name | Description |
|------|-------------|
-| eventbridge\_bus\_arn | The EventBridge Bus ARN |
+| [eventbridge\_bus\_arn](#output\_eventbridge\_bus\_arn) | The EventBridge Bus ARN |
diff --git a/examples/sqs-target/README.md b/examples/sqs-target/README.md
index aba1cb6..e1d8817 100644
--- a/examples/sqs-target/README.md
+++ b/examples/sqs-target/README.md
@@ -19,42 +19,44 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| terraform | >= 0.14.0 |
-| aws | >= 3.19 |
-| random | >= 0 |
+| [terraform](#requirement\_terraform) | >= 0.14.0 |
+| [aws](#requirement\_aws) | >= 3.19 |
+| [random](#requirement\_random) | >= 0 |
## Providers
| Name | Version |
|------|---------|
-| aws | >= 3.19 |
-| random | >= 0 |
+| [aws](#provider\_aws) | >= 3.19 |
+| [random](#provider\_random) | >= 0 |
## Modules
| Name | Source | Version |
|------|--------|---------|
-| eventbridge | ../../ | |
+| [eventbridge](#module\_eventbridge) | ../../ | |
## Resources
-| Name |
-|------|
-| [aws_iam_policy_document](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) |
-| [aws_sqs_queue](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) |
-| [aws_sqs_queue_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue_policy) |
-| [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) |
+| Name | Type |
+|------|------|
+| [aws_sqs_queue.dlq](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) | resource |
+| [aws_sqs_queue.fifo](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) | resource |
+| [aws_sqs_queue.queue](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) | resource |
+| [aws_sqs_queue_policy.queue](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue_policy) | resource |
+| [random_pet.this](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) | resource |
+| [aws_iam_policy_document.queue](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
## Inputs
-No input.
+No inputs.
## Outputs
| Name | Description |
|------|-------------|
-| eventbridge\_bus\_arn | The EventBridge Bus ARN |
-| eventbridge\_rule\_arns | The EventBridge Rule ARNs |
-| eventbridge\_rule\_ids | The EventBridge Rule IDs |
+| [eventbridge\_bus\_arn](#output\_eventbridge\_bus\_arn) | The EventBridge Bus ARN |
+| [eventbridge\_rule\_arns](#output\_eventbridge\_rule\_arns) | The EventBridge Rule ARNs |
+| [eventbridge\_rule\_ids](#output\_eventbridge\_rule\_ids) | The EventBridge Rule IDs |
diff --git a/examples/step-function-target/README.md b/examples/step-function-target/README.md
index 1263517..49aefa2 100644
--- a/examples/step-function-target/README.md
+++ b/examples/step-function-target/README.md
@@ -19,37 +19,37 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| terraform | >= 0.14.0 |
-| aws | >= 3.19 |
-| random | >= 0 |
+| [terraform](#requirement\_terraform) | >= 0.14.0 |
+| [aws](#requirement\_aws) | >= 3.19 |
+| [random](#requirement\_random) | >= 0 |
## Providers
| Name | Version |
|------|---------|
-| random | >= 0 |
+| [random](#provider\_random) | >= 0 |
## Modules
| Name | Source | Version |
|------|--------|---------|
-| eventbridge | ../../ | |
-| step_function | terraform-aws-modules/step-functions/aws | 1.2.0 |
+| [eventbridge](#module\_eventbridge) | ../../ | |
+| [step\_function](#module\_step\_function) | terraform-aws-modules/step-functions/aws | 1.2.0 |
## Resources
-| Name |
-|------|
-| [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) |
+| Name | Type |
+|------|------|
+| [random_pet.this](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) | resource |
## Inputs
-No input.
+No inputs.
## Outputs
| Name | Description |
|------|-------------|
-| eventbridge\_bus\_arn | The EventBridge Bus ARN |
+| [eventbridge\_bus\_arn](#output\_eventbridge\_bus\_arn) | The EventBridge Bus ARN |
diff --git a/examples/transform-input/README.md b/examples/transform-input/README.md
index 9d168b8..6041b29 100644
--- a/examples/transform-input/README.md
+++ b/examples/transform-input/README.md
@@ -19,39 +19,39 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| terraform | >= 0.14.0 |
-| aws | >= 3.19 |
-| random | >= 0 |
+| [terraform](#requirement\_terraform) | >= 0.14.0 |
+| [aws](#requirement\_aws) | >= 3.19 |
+| [random](#requirement\_random) | >= 0 |
## Providers
| Name | Version |
|------|---------|
-| aws | >= 3.19 |
-| random | >= 0 |
+| [aws](#provider\_aws) | >= 3.19 |
+| [random](#provider\_random) | >= 0 |
## Modules
| Name | Source | Version |
|------|--------|---------|
-| eventbridge | ../../ | |
+| [eventbridge](#module\_eventbridge) | ../../ | |
## Resources
-| Name |
-|------|
-| [aws_iam_policy_document](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) |
-| [aws_sqs_queue](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) |
-| [aws_sqs_queue_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue_policy) |
-| [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) |
+| Name | Type |
+|------|------|
+| [aws_sqs_queue.queue](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue) | resource |
+| [aws_sqs_queue_policy.queue](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/sqs_queue_policy) | resource |
+| [random_pet.this](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) | resource |
+| [aws_iam_policy_document.queue](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
## Inputs
-No input.
+No inputs.
## Outputs
| Name | Description |
|------|-------------|
-| eventbridge\_bus\_arn | The EventBridge Bus ARN |
+| [eventbridge\_bus\_arn](#output\_eventbridge\_bus\_arn) | The EventBridge Bus ARN |
diff --git a/examples/with-archive/README.md b/examples/with-archive/README.md
index 28504cf..7a610c4 100644
--- a/examples/with-archive/README.md
+++ b/examples/with-archive/README.md
@@ -19,39 +19,39 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| terraform | >= 0.14.0 |
-| aws | >= 3.19 |
-| random | >= 0 |
+| [terraform](#requirement\_terraform) | >= 0.14.0 |
+| [aws](#requirement\_aws) | >= 3.19 |
+| [random](#requirement\_random) | >= 0 |
## Providers
| Name | Version |
|------|---------|
-| aws | >= 3.19 |
-| random | >= 0 |
+| [aws](#provider\_aws) | >= 3.19 |
+| [random](#provider\_random) | >= 0 |
## Modules
| Name | Source | Version |
|------|--------|---------|
-| eventbridge | ../../ | |
-| eventbridge_archive_only | ../../ | |
+| [eventbridge](#module\_eventbridge) | ../../ | |
+| [eventbridge\_archive\_only](#module\_eventbridge\_archive\_only) | ../../ | |
## Resources
-| Name |
-|------|
-| [aws_cloudwatch_event_bus](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_bus) |
-| [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) |
+| Name | Type |
+|------|------|
+| [aws_cloudwatch_event_bus.pre_existing_bus](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_event_bus) | resource |
+| [random_pet.this](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) | resource |
## Inputs
-No input.
+No inputs.
## Outputs
| Name | Description |
|------|-------------|
-| eventbridge\_archive\_arns | The EventBridge Archive ARNs |
-| eventbridge\_bus\_arn | The EventBridge Bus ARN |
+| [eventbridge\_archive\_arns](#output\_eventbridge\_archive\_arns) | The EventBridge Archive ARNs |
+| [eventbridge\_bus\_arn](#output\_eventbridge\_bus\_arn) | The EventBridge Bus ARN |
diff --git a/examples/with-permissions/README.md b/examples/with-permissions/README.md
index 9c34bb4..983b17d 100644
--- a/examples/with-permissions/README.md
+++ b/examples/with-permissions/README.md
@@ -19,36 +19,36 @@ Note that this example may create resources which cost money. Run `terraform des
| Name | Version |
|------|---------|
-| terraform | >= 0.14.0 |
-| aws | >= 3.19 |
-| random | >= 0 |
+| [terraform](#requirement\_terraform) | >= 0.14.0 |
+| [aws](#requirement\_aws) | >= 3.19 |
+| [random](#requirement\_random) | >= 0 |
## Providers
| Name | Version |
|------|---------|
-| random | >= 0 |
+| [random](#provider\_random) | >= 0 |
## Modules
| Name | Source | Version |
|------|--------|---------|
-| eventbridge | ../../ | |
+| [eventbridge](#module\_eventbridge) | ../../ | |
## Resources
-| Name |
-|------|
-| [random_pet](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) |
+| Name | Type |
+|------|------|
+| [random_pet.this](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) | resource |
## Inputs
-No input.
+No inputs.
## Outputs
| Name | Description |
|------|-------------|
-| eventbridge\_bus\_arn | The EventBridge Bus ARN |
-| this\_eventbridge\_permission\_ids | The EventBridge Permissions |
+| [eventbridge\_bus\_arn](#output\_eventbridge\_bus\_arn) | The EventBridge Bus ARN |
+| [this\_eventbridge\_permission\_ids](#output\_this\_eventbridge\_permission\_ids) | The EventBridge Permissions |