File tree Expand file tree Collapse file tree 6 files changed +51
-0
lines changed
Expand file tree Collapse file tree 6 files changed +51
-0
lines changed Original file line number Diff line number Diff line change @@ -33,9 +33,17 @@ resource "aws_lambda_function" "eligibility_signposting_lambda" {
3333 security_group_ids = var. security_group_ids
3434 }
3535
36+ layers = [" arn:aws:lambda:${ var . region } :580247275435:layer:LambdaInsightsExtension:38" ]
37+
38+ dead_letter_config {
39+ target_arn = aws_sqs_queue. lambda_dlq . arn
40+ }
41+
3642 tracing_config {
3743 mode = " Active"
3844 }
45+
46+ depends_on = [aws_iam_role_policy_attachment . lambda_dlq_attach ]
3947}
4048
4149# provisioned concurrency - number of pre-warmed lambda containers
Original file line number Diff line number Diff line change @@ -16,3 +16,7 @@ output "aws_lambda_invoke_arn" {
1616output "lambda_cmk_arn" {
1717 value = aws_kms_key. lambda_cmk . arn
1818}
19+
20+ output "lambda_role_arn" {
21+ value = var. eligibility_lambda_role_arn
22+ }
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+ resource "aws_iam_policy" "lambda_sqs_send_policy" {
8+ name = " LambdaSQSMessageSendPolicy"
9+ policy = jsonencode ({
10+ Version = " 2012-10-17" ,
11+ Statement = [
12+ {
13+ Effect = " Allow" ,
14+ Action = " sqs:SendMessage" ,
15+ " Resource" : " *"
16+ }
17+ ]
18+ })
19+ }
20+
21+
22+ # Attach lambda_dlq_policy to Lambda
23+ resource "aws_iam_role_policy_attachment" "lambda_dlq_attach" {
24+ role = var. eligibility_lambda_role_name
25+ policy_arn = aws_iam_policy. lambda_sqs_send_policy . arn
26+ }
Original file line number Diff line number Diff line change @@ -3,6 +3,11 @@ variable "eligibility_lambda_role_arn" {
33 type = string
44}
55
6+ variable "eligibility_lambda_role_name" {
7+ description = " lambda read role name for dynamodb"
8+ type = string
9+ }
10+
611variable "lambda_func_name" {
712 description = " Name of the Lambda function"
813 type = string
Original file line number Diff line number Diff line change @@ -189,6 +189,13 @@ resource "aws_iam_role_policy_attachment" "lambda_logs_policy_attachment" {
189189 policy_arn = " arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
190190}
191191
192+ # Attach lambda_insights_policy_attachment to Lambda
193+ resource "aws_iam_role_policy_attachment" "lambda_insights_policy_attachment" {
194+ role = aws_iam_role. eligibility_lambda_role . name
195+ policy_arn = " arn:aws:iam::aws:policy/CloudWatchLambdaInsightsExecutionRolePolicy"
196+ }
197+
198+
192199# Policy doc for S3 Audit bucket
193200data "aws_iam_policy_document" "s3_audit_bucket_policy" {
194201 statement {
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"
You can’t perform that action at this time.
0 commit comments