File tree Expand file tree Collapse file tree 25 files changed +97
-32
lines changed Expand file tree Collapse file tree 25 files changed +97
-32
lines changed Original file line number Diff line number Diff line change @@ -382,13 +382,13 @@ module "eventbridge" {
382
382
| Name | Version |
383
383
| ------| ---------|
384
384
| <a name =" requirement_terraform " ></a > [ terraform] ( #requirement\_ terraform ) | >= 1.0 |
385
- | <a name =" requirement_aws " ></a > [ aws] ( #requirement\_ aws ) | >= 5.85 |
385
+ | <a name =" requirement_aws " ></a > [ aws] ( #requirement\_ aws ) | >= 5.98 |
386
386
387
387
## Providers
388
388
389
389
| Name | Version |
390
390
| ------| ---------|
391
- | <a name =" provider_aws " ></a > [ aws] ( #provider\_ aws ) | >= 5.85 |
391
+ | <a name =" provider_aws " ></a > [ aws] ( #provider\_ aws ) | >= 5.98 |
392
392
393
393
## Modules
394
394
@@ -505,6 +505,7 @@ No modules.
505
505
| <a name =" input_create_schedules " ></a > [ create\_ schedules] ( #input\_ create\_ schedules ) | Controls whether EventBridge Schedule resources should be created | ` bool ` | ` true ` | no |
506
506
| <a name =" input_create_schemas_discoverer " ></a > [ create\_ schemas\_ discoverer] ( #input\_ create\_ schemas\_ discoverer ) | Controls whether default schemas discoverer should be created | ` bool ` | ` false ` | no |
507
507
| <a name =" input_create_targets " ></a > [ create\_ targets] ( #input\_ create\_ targets ) | Controls whether EventBridge Target resources should be created | ` bool ` | ` true ` | no |
508
+ | <a name =" input_dead_letter_config " ></a > [ dead\_ letter\_ config] ( #input\_ dead\_ letter\_ config ) | Configuration details of the Amazon SQS queue for EventBridge to use as a dead-letter queue (DLQ) | ` any ` | ` {} ` | no |
508
509
| <a name =" input_ecs_pass_role_resources " ></a > [ ecs\_ pass\_ role\_ resources] ( #input\_ ecs\_ pass\_ role\_ resources ) | List of approved roles to be passed | ` list(string) ` | ` [] ` | no |
509
510
| <a name =" input_ecs_target_arns " ></a > [ 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 |
510
511
| <a name =" input_event_source_name " ></a > [ event\_ source\_ name] ( #input\_ event\_ source\_ name ) | The partner event source that the new event bus will be matched with. Must match name. | ` string ` | ` null ` | no |
Original file line number Diff line number Diff line change @@ -20,14 +20,14 @@ Note that this example may create resources which cost money. Run `terraform des
20
20
| Name | Version |
21
21
| ------| ---------|
22
22
| <a name =" requirement_terraform " ></a > [ terraform] ( #requirement\_ terraform ) | >= 1.0 |
23
- | <a name =" requirement_aws " ></a > [ aws] ( #requirement\_ aws ) | >= 5.85 |
23
+ | <a name =" requirement_aws " ></a > [ aws] ( #requirement\_ aws ) | >= 5.98 |
24
24
| <a name =" requirement_random " ></a > [ random] ( #requirement\_ random ) | >= 3.0 |
25
25
26
26
## Providers
27
27
28
28
| Name | Version |
29
29
| ------| ---------|
30
- | <a name =" provider_aws " ></a > [ aws] ( #provider\_ aws ) | >= 5.85 |
30
+ | <a name =" provider_aws " ></a > [ aws] ( #provider\_ aws ) | >= 5.98 |
31
31
| <a name =" provider_random " ></a > [ random] ( #provider\_ random ) | >= 3.0 |
32
32
33
33
## Modules
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ terraform {
4
4
required_providers {
5
5
aws = {
6
6
source = " hashicorp/aws"
7
- version = " >= 5.85 "
7
+ version = " >= 5.98 "
8
8
}
9
9
random = {
10
10
source = " hashicorp/random"
Original file line number Diff line number Diff line change @@ -20,15 +20,15 @@ Note that this example may create resources which cost money. Run `terraform des
20
20
| Name | Version |
21
21
| ------| ---------|
22
22
| <a name =" requirement_terraform " ></a > [ terraform] ( #requirement\_ terraform ) | >= 1.0 |
23
- | <a name =" requirement_aws " ></a > [ aws] ( #requirement\_ aws ) | >= 5.85 |
23
+ | <a name =" requirement_aws " ></a > [ aws] ( #requirement\_ aws ) | >= 5.98 |
24
24
| <a name =" requirement_null " ></a > [ null] ( #requirement\_ null ) | >= 2.0 |
25
25
| <a name =" requirement_random " ></a > [ random] ( #requirement\_ random ) | >= 3.0 |
26
26
27
27
## Providers
28
28
29
29
| Name | Version |
30
30
| ------| ---------|
31
- | <a name =" provider_aws " ></a > [ aws] ( #provider\_ aws ) | >= 5.85 |
31
+ | <a name =" provider_aws " ></a > [ aws] ( #provider\_ aws ) | >= 5.98 |
32
32
| <a name =" provider_null " ></a > [ null] ( #provider\_ null ) | >= 2.0 |
33
33
| <a name =" provider_random " ></a > [ random] ( #provider\_ random ) | >= 3.0 |
34
34
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ terraform {
4
4
required_providers {
5
5
aws = {
6
6
source = " hashicorp/aws"
7
- version = " >= 5.85 "
7
+ version = " >= 5.98 "
8
8
}
9
9
random = {
10
10
source = " hashicorp/random"
Original file line number Diff line number Diff line change @@ -20,14 +20,14 @@ Note that this example may create resources which cost money. Run `terraform des
20
20
| Name | Version |
21
21
| ------| ---------|
22
22
| <a name =" requirement_terraform " ></a > [ terraform] ( #requirement\_ terraform ) | >= 1.0 |
23
- | <a name =" requirement_aws " ></a > [ aws] ( #requirement\_ aws ) | >= 5.85 |
23
+ | <a name =" requirement_aws " ></a > [ aws] ( #requirement\_ aws ) | >= 5.98 |
24
24
| <a name =" requirement_random " ></a > [ random] ( #requirement\_ random ) | >= 3.0 |
25
25
26
26
## Providers
27
27
28
28
| Name | Version |
29
29
| ------| ---------|
30
- | <a name =" provider_aws " ></a > [ aws] ( #provider\_ aws ) | >= 5.85 |
30
+ | <a name =" provider_aws " ></a > [ aws] ( #provider\_ aws ) | >= 5.98 |
31
31
| <a name =" provider_random " ></a > [ random] ( #provider\_ random ) | >= 3.0 |
32
32
33
33
## Modules
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ terraform {
4
4
required_providers {
5
5
aws = {
6
6
source = " hashicorp/aws"
7
- version = " >= 5.85 "
7
+ version = " >= 5.98 "
8
8
}
9
9
random = {
10
10
source = " hashicorp/random"
Original file line number Diff line number Diff line change @@ -20,28 +20,30 @@ Note that this example may create resources which cost money. Run `terraform des
20
20
| Name | Version |
21
21
| ------| ---------|
22
22
| <a name =" requirement_terraform " ></a > [ terraform] ( #requirement\_ terraform ) | >= 1.0 |
23
- | <a name =" requirement_aws " ></a > [ aws] ( #requirement\_ aws ) | >= 5.85 |
23
+ | <a name =" requirement_aws " ></a > [ aws] ( #requirement\_ aws ) | >= 5.98 |
24
24
| <a name =" requirement_random " ></a > [ random] ( #requirement\_ random ) | >= 3.0 |
25
25
26
26
## Providers
27
27
28
28
| Name | Version |
29
29
| ------| ---------|
30
- | <a name =" provider_aws " ></a > [ aws] ( #provider\_ aws ) | >= 5.85 |
30
+ | <a name =" provider_aws " ></a > [ aws] ( #provider\_ aws ) | >= 5.98 |
31
31
| <a name =" provider_random " ></a > [ random] ( #provider\_ random ) | >= 3.0 |
32
32
33
33
## Modules
34
34
35
35
| Name | Source | Version |
36
36
| ------| --------| ---------|
37
37
| <a name =" module_eventbridge " ></a > [ eventbridge] ( #module\_ eventbridge ) | ../../ | n/a |
38
+ | <a name =" module_kms " ></a > [ kms] ( #module\_ kms ) | terraform-aws-modules/kms/aws | ~ > 2.0 |
38
39
39
40
## Resources
40
41
41
42
| Name | Type |
42
43
| ------| ------|
43
44
| [ aws_iam_role.eventbridge] ( https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role ) | resource |
44
45
| [ random_pet.this] ( https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet ) | resource |
46
+ | [ aws_caller_identity.current] ( https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity ) | data source |
45
47
| [ aws_iam_policy_document.assume_role] ( https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document ) | data source |
46
48
47
49
## Inputs
Original file line number Diff line number Diff line change @@ -7,6 +7,8 @@ provider "aws" {
7
7
skip_credentials_validation = true
8
8
}
9
9
10
+ data "aws_caller_identity" "current" {}
11
+
10
12
module "eventbridge" {
11
13
source = " ../../"
12
14
@@ -143,6 +145,7 @@ module "eventbridge" {
143
145
value = random_pet.this.id
144
146
}
145
147
}
148
+ kms_key_identifier = module.kms.key_arn
146
149
}
147
150
}
148
151
@@ -200,3 +203,48 @@ data "aws_iam_policy_document" "assume_role" {
200
203
}
201
204
}
202
205
}
206
+
207
+ module "kms" {
208
+ source = " terraform-aws-modules/kms/aws"
209
+ version = " ~> 2.0"
210
+ description = " KMS key for EventBridge"
211
+
212
+ # Aliases
213
+ aliases = [" test" ]
214
+ aliases_use_name_prefix = true
215
+ key_statements = [
216
+ {
217
+ sid = " Allow use of the key"
218
+ principals = [
219
+ {
220
+ type = " AWS"
221
+ identifiers = [" arn:aws:iam::${ data . aws_caller_identity . current . account_id } :root" ]
222
+ }
223
+ ]
224
+ actions = [
225
+ " kms:DescribeKey" ,
226
+ " kms:GenerateDataKey" ,
227
+ " kms:Decrypt"
228
+ ]
229
+ resources = [" *" ]
230
+ conditions = [
231
+ {
232
+ test = " StringLike"
233
+ values = [" secretsmanager.*.amazonaws.com" ]
234
+ variable = " kms:ViaService"
235
+ },
236
+ {
237
+ test = " StringLike"
238
+ values = [" arn:aws:secretsmanager:*:*:secret:events!connection/*" ]
239
+ variable = " kms:EncryptionContext:SecretARN"
240
+ }
241
+ ]
242
+ }
243
+ ]
244
+
245
+ tags = {
246
+ EventBridgeApiDestinations = " true"
247
+ }
248
+
249
+ key_owners = [data . aws_caller_identity . current . arn ]
250
+ }
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ terraform {
4
4
required_providers {
5
5
aws = {
6
6
source = " hashicorp/aws"
7
- version = " >= 5.85 "
7
+ version = " >= 5.98 "
8
8
}
9
9
random = {
10
10
source = " hashicorp/random"
Original file line number Diff line number Diff line change @@ -20,14 +20,14 @@ Note that this example may create resources which cost money. Run `terraform des
20
20
| Name | Version |
21
21
| ------| ---------|
22
22
| <a name =" requirement_terraform " ></a > [ terraform] ( #requirement\_ terraform ) | >= 1.0 |
23
- | <a name =" requirement_aws " ></a > [ aws] ( #requirement\_ aws ) | >= 5.85 |
23
+ | <a name =" requirement_aws " ></a > [ aws] ( #requirement\_ aws ) | >= 5.98 |
24
24
| <a name =" requirement_random " ></a > [ random] ( #requirement\_ random ) | >= 3.0 |
25
25
26
26
## Providers
27
27
28
28
| Name | Version |
29
29
| ------| ---------|
30
- | <a name =" provider_aws " ></a > [ aws] ( #provider\_ aws ) | >= 5.85 |
30
+ | <a name =" provider_aws " ></a > [ aws] ( #provider\_ aws ) | >= 5.98 |
31
31
| <a name =" provider_random " ></a > [ random] ( #provider\_ random ) | >= 3.0 |
32
32
33
33
## Modules
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ terraform {
4
4
required_providers {
5
5
aws = {
6
6
source = " hashicorp/aws"
7
- version = " >= 5.85 "
7
+ version = " >= 5.98 "
8
8
}
9
9
random = {
10
10
source = " hashicorp/random"
Original file line number Diff line number Diff line change @@ -20,14 +20,14 @@ Note that this example may create resources which cost money. Run `terraform des
20
20
| Name | Version |
21
21
| ------| ---------|
22
22
| <a name =" requirement_terraform " ></a > [ terraform] ( #requirement\_ terraform ) | >= 1.0 |
23
- | <a name =" requirement_aws " ></a > [ aws] ( #requirement\_ aws ) | >= 5.85 |
23
+ | <a name =" requirement_aws " ></a > [ aws] ( #requirement\_ aws ) | >= 5.98 |
24
24
| <a name =" requirement_random " ></a > [ random] ( #requirement\_ random ) | >= 3.0 |
25
25
26
26
## Providers
27
27
28
28
| Name | Version |
29
29
| ------| ---------|
30
- | <a name =" provider_aws " ></a > [ aws] ( #provider\_ aws ) | >= 5.85 |
30
+ | <a name =" provider_aws " ></a > [ aws] ( #provider\_ aws ) | >= 5.98 |
31
31
| <a name =" provider_random " ></a > [ random] ( #provider\_ random ) | >= 3.0 |
32
32
33
33
## Modules
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ terraform {
4
4
required_providers {
5
5
aws = {
6
6
source = " hashicorp/aws"
7
- version = " >= 5.85 "
7
+ version = " >= 5.98 "
8
8
}
9
9
random = {
10
10
source = " hashicorp/random"
Original file line number Diff line number Diff line change @@ -20,7 +20,7 @@ Note that this example may create resources which cost money. Run `terraform des
20
20
| Name | Version |
21
21
| ------| ---------|
22
22
| <a name =" requirement_terraform " ></a > [ terraform] ( #requirement\_ terraform ) | >= 1.0 |
23
- | <a name =" requirement_aws " ></a > [ aws] ( #requirement\_ aws ) | >= 5.85 |
23
+ | <a name =" requirement_aws " ></a > [ aws] ( #requirement\_ aws ) | >= 5.98 |
24
24
| <a name =" requirement_null " ></a > [ null] ( #requirement\_ null ) | >= 2.0 |
25
25
| <a name =" requirement_random " ></a > [ random] ( #requirement\_ random ) | >= 3.0 |
26
26
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ terraform {
4
4
required_providers {
5
5
aws = {
6
6
source = " hashicorp/aws"
7
- version = " >= 5.85 "
7
+ version = " >= 5.98 "
8
8
}
9
9
random = {
10
10
source = " hashicorp/random"
Original file line number Diff line number Diff line change @@ -20,14 +20,14 @@ Note that this example may create resources which cost money. Run `terraform des
20
20
| Name | Version |
21
21
| ------| ---------|
22
22
| <a name =" requirement_terraform " ></a > [ terraform] ( #requirement\_ terraform ) | >= 1.0 |
23
- | <a name =" requirement_aws " ></a > [ aws] ( #requirement\_ aws ) | >= 5.85 |
23
+ | <a name =" requirement_aws " ></a > [ aws] ( #requirement\_ aws ) | >= 5.98 |
24
24
| <a name =" requirement_random " ></a > [ random] ( #requirement\_ random ) | >= 3.0 |
25
25
26
26
## Providers
27
27
28
28
| Name | Version |
29
29
| ------| ---------|
30
- | <a name =" provider_aws " ></a > [ aws] ( #provider\_ aws ) | >= 5.85 |
30
+ | <a name =" provider_aws " ></a > [ aws] ( #provider\_ aws ) | >= 5.98 |
31
31
| <a name =" provider_random " ></a > [ random] ( #provider\_ random ) | >= 3.0 |
32
32
33
33
## Modules
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ terraform {
4
4
required_providers {
5
5
aws = {
6
6
source = " hashicorp/aws"
7
- version = " >= 5.85 "
7
+ version = " >= 5.98 "
8
8
}
9
9
random = {
10
10
source = " hashicorp/random"
Original file line number Diff line number Diff line change @@ -20,15 +20,15 @@ Note that this example may create resources which cost money. Run `terraform des
20
20
| Name | Version |
21
21
| ------| ---------|
22
22
| <a name =" requirement_terraform " ></a > [ terraform] ( #requirement\_ terraform ) | >= 1.0 |
23
- | <a name =" requirement_aws " ></a > [ aws] ( #requirement\_ aws ) | >= 5.85 |
23
+ | <a name =" requirement_aws " ></a > [ aws] ( #requirement\_ aws ) | >= 5.98 |
24
24
| <a name =" requirement_null " ></a > [ null] ( #requirement\_ null ) | >= 2.0 |
25
25
| <a name =" requirement_random " ></a > [ random] ( #requirement\_ random ) | >= 3.0 |
26
26
27
27
## Providers
28
28
29
29
| Name | Version |
30
30
| ------| ---------|
31
- | <a name =" provider_aws " ></a > [ aws] ( #provider\_ aws ) | >= 5.85 |
31
+ | <a name =" provider_aws " ></a > [ aws] ( #provider\_ aws ) | >= 5.98 |
32
32
| <a name =" provider_null " ></a > [ null] ( #provider\_ null ) | >= 2.0 |
33
33
| <a name =" provider_random " ></a > [ random] ( #provider\_ random ) | >= 3.0 |
34
34
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ terraform {
4
4
required_providers {
5
5
aws = {
6
6
source = " hashicorp/aws"
7
- version = " >= 5.85 "
7
+ version = " >= 5.98 "
8
8
}
9
9
random = {
10
10
source = " hashicorp/random"
Original file line number Diff line number Diff line change @@ -20,15 +20,15 @@ Note that this example may create resources which cost money. Run `terraform des
20
20
| Name | Version |
21
21
| ------| ---------|
22
22
| <a name =" requirement_terraform " ></a > [ terraform] ( #requirement\_ terraform ) | >= 1.0 |
23
- | <a name =" requirement_aws " ></a > [ aws] ( #requirement\_ aws ) | >= 5.85 |
23
+ | <a name =" requirement_aws " ></a > [ aws] ( #requirement\_ aws ) | >= 5.98 |
24
24
| <a name =" requirement_null " ></a > [ null] ( #requirement\_ null ) | >= 2.0 |
25
25
| <a name =" requirement_random " ></a > [ random] ( #requirement\_ random ) | >= 3.0 |
26
26
27
27
## Providers
28
28
29
29
| Name | Version |
30
30
| ------| ---------|
31
- | <a name =" provider_aws " ></a > [ aws] ( #provider\_ aws ) | >= 5.85 |
31
+ | <a name =" provider_aws " ></a > [ aws] ( #provider\_ aws ) | >= 5.98 |
32
32
| <a name =" provider_null " ></a > [ null] ( #provider\_ null ) | >= 2.0 |
33
33
| <a name =" provider_random " ></a > [ random] ( #provider\_ random ) | >= 3.0 |
34
34
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ terraform {
4
4
required_providers {
5
5
aws = {
6
6
source = " hashicorp/aws"
7
- version = " >= 5.85 "
7
+ version = " >= 5.98 "
8
8
}
9
9
random = {
10
10
source = " hashicorp/random"
Original file line number Diff line number Diff line change @@ -69,6 +69,13 @@ resource "aws_cloudwatch_event_bus" "this" {
69
69
event_source_name = var. event_source_name
70
70
kms_key_identifier = var. kms_key_identifier
71
71
72
+ dynamic "dead_letter_config" {
73
+ for_each = length (var. dead_letter_config ) > 0 ? [var . dead_letter_config ] : []
74
+ content {
75
+ arn = try (dead_letter_config. value . arn , null )
76
+ }
77
+ }
78
+
72
79
tags = var. tags
73
80
}
74
81
@@ -301,6 +308,7 @@ resource "aws_cloudwatch_event_connection" "this" {
301
308
name = each. value . Name
302
309
description = lookup (each. value , " description" , null )
303
310
authorization_type = each. value . authorization_type
311
+ kms_key_identifier = try (each. value . kms_key_identifier , null )
304
312
305
313
dynamic "auth_parameters" {
306
314
for_each = [each . value . auth_parameters ]
Original file line number Diff line number Diff line change @@ -144,6 +144,12 @@ variable "kms_key_identifier" {
144
144
default = null
145
145
}
146
146
147
+ variable "dead_letter_config" {
148
+ description = " Configuration details of the Amazon SQS queue for EventBridge to use as a dead-letter queue (DLQ)"
149
+ type = any
150
+ default = {}
151
+ }
152
+
147
153
variable "schemas_discoverer_description" {
148
154
description = " Default schemas discoverer description"
149
155
type = string
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ terraform {
4
4
required_providers {
5
5
aws = {
6
6
source = " hashicorp/aws"
7
- version = " >= 5.85 "
7
+ version = " >= 5.98 "
8
8
}
9
9
}
10
10
}
You can’t perform that action at this time.
0 commit comments