Skip to content

Commit

Permalink
fix(DMVP-5181): fifo sqs support
Browse files Browse the repository at this point in the history
  • Loading branch information
SarhadMeta committed Dec 25, 2024
1 parent 97c2734 commit d4eccfc
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 10 deletions.
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ module "mediaconverter" {
| <a name="input_rules_targets"></a> [rules\_targets](#input\_rules\_targets) | event patterns for eventbridge rules | `list(map(any))` | `[]` | no |
| <a name="input_s3_arns"></a> [s3\_arns](#input\_s3\_arns) | list of s3 bucket arns which mediaconverter will need access | `list(string)` | <pre>[<br/> "*"<br/>]</pre> | no |
| <a name="input_s3_iam_actions"></a> [s3\_iam\_actions](#input\_s3\_iam\_actions) | list of actions to be attached to iam role for mediaconverter | `list(string)` | <pre>[<br/> "s3:*",<br/> "s3-object-lambda:*"<br/>]</pre> | no |
| <a name="input_sqs_fifo_queue"></a> [sqs\_fifo\_queue](#input\_sqs\_fifo\_queue) | boolean flag designating a fifo queue | `bool` | `false` | no |
| <a name="input_sqs_msg_retention_seconds"></a> [sqs\_msg\_retention\_seconds](#input\_sqs\_msg\_retention\_seconds) | The number of seconds Amazon SQS retains a message. | `number` | `432000` | no |
| <a name="input_sqs_visibility_timeout"></a> [sqs\_visibility\_timeout](#input\_sqs\_visibility\_timeout) | The visibility timeout for the queue | `number` | `15` | no |
| <a name="input_status"></a> [status](#input\_status) | A status of the queue. Valid values are ACTIVE or RESERVED. | `string` | `"ACTIVE"` | no |

## Outputs
Expand Down
11 changes: 6 additions & 5 deletions locals.tf
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,17 @@ locals {
}
]


targets = length(var.rules_targets) == 0 ? {
for rule in ["default-role"] : rule => [{
name = "${var.queue_name}"
arn = module.sqs.queue_arn
name = "${var.queue_name}"
arn = module.sqs.queue_arn
message_group_id = var.sqs_fifo_queue ? "send-orders-to-fifo-sqs" : null
}]
} : {
for rule in var.rules_targets : rule.rule_name => [{
name = rule.target_name
arn = contains(keys(rule), "target_arn") ? rule.target_arn : module.sqs.queue_arn
name = rule.target_name
arn = contains(keys(rule), "target_arn") ? rule.target_arn : module.sqs.queue_arn
message_group_id = var.sqs_fifo_queue ? "send-orders-to-fifo-sqs" : null
}]
}
}
Expand Down
10 changes: 7 additions & 3 deletions main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,13 @@ module "eventbridge" {
}

module "sqs" {
source = "dasmeta/modules/aws//modules/sqs"
version = "2.18.2"
create_iam_user = false
source = "dasmeta/modules/aws//modules/sqs"
version = "2.18.2"
create_iam_user = false
visibility_timeout_seconds = var.sqs_visibility_timeout
message_retention_seconds = var.sqs_msg_retention_seconds

fifo_queue = var.sqs_fifo_queue

name = var.queue_name
}
Expand Down
4 changes: 2 additions & 2 deletions tests/rules-targets-setup/main.tf
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
module "mediaconvert_queue" {
source = "../../."

queue_name = "test-queue"
queue_name = "test-queue"
sqs_fifo_queue = true

rules_targets = [
{
Expand All @@ -21,7 +22,6 @@ module "mediaconvert_queue" {
EOF
}
]

}

provider "aws" {
Expand Down
18 changes: 18 additions & 0 deletions variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,21 @@ variable "rules_targets" {
description = "event patterns for eventbridge rules"
default = []
}

variable "sqs_fifo_queue" {
description = "boolean flag designating a fifo queue"
type = bool
default = false
}

variable "sqs_visibility_timeout" {
description = "The visibility timeout for the queue"
type = number
default = 15
}

variable "sqs_msg_retention_seconds" {
description = "The number of seconds Amazon SQS retains a message."
type = number
default = 432000
}

0 comments on commit d4eccfc

Please sign in to comment.