File tree Expand file tree Collapse file tree 6 files changed +43
-3
lines changed
Expand file tree Collapse file tree 6 files changed +43
-3
lines changed Original file line number Diff line number Diff line change @@ -33,9 +33,14 @@ resource "aws_lambda_function" "eligibility_signposting_lambda" {
3333 security_group_ids = var. security_group_ids
3434 }
3535
36+ dead_letter_config {
37+ target_arn = aws_sqs_queue. lambda_dlq . arn
38+ }
39+
3640 tracing_config {
3741 mode = " Active"
3842 }
43+
3944}
4045
4146# provisioned concurrency - number of pre-warmed lambda containers
Original file line number Diff line number Diff line change 1+ resource "aws_sqs_queue" "lambda_dlq" {
2+ name = " ${ var . lambda_func_name } _dead_letter_queue"
3+ kms_master_key_id = aws_kms_key. lambda_cmk . id
4+ tags = var. tags
5+ }
6+
7+ # sql policy attachment
8+ resource "aws_iam_role_policy" "lambda_sqs_send_inline" {
9+ name = " LambdaSQSMessageSendPolicy"
10+ role = var. eligibility_lambda_role_name
11+
12+ policy = jsonencode ({
13+ Version = " 2012-10-17" ,
14+ Statement = [
15+ {
16+ Sid = " AllowSQSSendMessage" ,
17+ Effect = " Allow" ,
18+ Action = [" sqs:SendMessage" ],
19+ Resource = aws_sqs_queue.lambda_dlq.arn
20+ }
21+ ]
22+ })
23+ }
Original file line number Diff line number Diff line change 11variable "eligibility_lambda_role_arn" {
2- description = " lambda read role arn for dynamodb"
2+ description = " lambda role arn"
3+ type = string
4+ }
5+
6+ variable "eligibility_lambda_role_name" {
7+ description = " lambda role name"
38 type = string
49}
510
Original file line number Diff line number Diff line change @@ -52,7 +52,10 @@ data "aws_iam_policy_document" "assumed_role_permissions_boundary" {
5252
5353 # X-Ray - Lambda tracing
5454 " xray:PutTraceSegments" ,
55- " xray:PutTelemetryRecords"
55+ " xray:PutTelemetryRecords" ,
56+
57+ # SQS - message management
58+ " sqs:SendMessage"
5659 ]
5760
5861 resources = [" *" ]
Original file line number Diff line number Diff line change @@ -13,6 +13,7 @@ data "aws_subnet" "private_subnets" {
1313module "eligibility_signposting_lambda_function" {
1414 source = " ../../modules/lambda"
1515 eligibility_lambda_role_arn = aws_iam_role. eligibility_lambda_role . arn
16+ eligibility_lambda_role_name = aws_iam_role. eligibility_lambda_role . name
1617 workspace = local. workspace
1718 environment = var. environment
1819 lambda_func_name = " ${ terraform . workspace == " default" ? " " : " ${ terraform . workspace } -" } eligibility_signposting_api"
Original file line number Diff line number Diff line change @@ -217,7 +217,10 @@ data "aws_iam_policy_document" "permissions_boundary" {
217217 " ssm:GetParameters" ,
218218 " ssm:ListTagsForResource" ,
219219 " ssm:PutParameter" ,
220- " ssm:AddTagsToResource"
220+ " ssm:AddTagsToResource" ,
221+
222+ # SQS - message management
223+ " sqs:SendMessage"
221224 ]
222225
223226 resources = [" *" ]
You can’t perform that action at this time.
0 commit comments