11module "mns-notification-lambda" {
2+ count = 1
23 source = " ./modules/lambda"
34 name = " MNSNotificationLambda"
45 handler = " handlers.mns_notification_handler.lambda_handler"
56 iam_role_policy_documents = [
6- module . sqs-mns-notification-queue . sqs_read_policy_document ,
7- module . sqs-mns-notification-queue . sqs_write_policy_document ,
7+ module . sqs-mns-notification-queue [ 0 ] . sqs_read_policy_document ,
8+ module . sqs-mns-notification-queue [ 0 ] . sqs_write_policy_document ,
89 module . lloyd_george_reference_dynamodb_table . dynamodb_write_policy_document ,
910 module . lloyd_george_reference_dynamodb_table . dynamodb_read_policy_document ,
1011 aws_iam_policy . ssm_access_policy . policy ,
1112 module . ndr-app-config . app_config_policy ,
12- aws_iam_policy . kms_mns_lambda_access . policy ,
13+ aws_iam_policy . kms_mns_lambda_access [ 0 ] . policy ,
1314 ]
1415 kms_deletion_window = var. kms_deletion_window
1516 rest_api_id = null
@@ -20,7 +21,7 @@ module "mns-notification-lambda" {
2021 APPCONFIG_CONFIGURATION = module.ndr- app- config.app_config_configuration_profile_id
2122 WORKSPACE = terraform.workspace
2223 LLOYD_GEORGE_DYNAMODB_NAME = " ${ terraform . workspace } _${ var . lloyd_george_dynamodb_table_name } "
23- MNS_NOTIFICATION_QUEUE_URL = module.sqs- mns- notification- queue.sqs_url
24+ MNS_NOTIFICATION_QUEUE_URL = module.sqs- mns- notification- queue[ 0 ] .sqs_url
2425 PDS_FHIR_IS_STUBBED = local.is_sandbox
2526 }
2627 is_gateway_integration_needed = false
@@ -29,26 +30,29 @@ module "mns-notification-lambda" {
2930}
3031
3132resource "aws_lambda_event_source_mapping" "mns_notification_lambda" {
32- event_source_arn = module. sqs-mns-notification-queue . endpoint
33- function_name = module. mns-notification-lambda . lambda_arn
33+ count = 1
34+ event_source_arn = module. sqs-mns-notification-queue [0 ]. endpoint
35+ function_name = module. mns-notification-lambda [0 ]. lambda_arn
3436}
3537
3638module "mns-notification-alarm" {
39+ count = 1
3740 source = " ./modules/lambda_alarms"
38- lambda_function_name = module. mns-notification-lambda . function_name
39- lambda_timeout = module. mns-notification-lambda . timeout
41+ lambda_function_name = module. mns-notification-lambda [ 0 ] . function_name
42+ lambda_timeout = module. mns-notification-lambda [ 0 ] . timeout
4043 lambda_name = " mns_notification_handler"
4144 namespace = " AWS/Lambda"
42- alarm_actions = [module . mns-notification-alarm-topic . arn ]
43- ok_actions = [module . mns-notification-alarm-topic . arn ]
45+ alarm_actions = [module . mns-notification-alarm-topic [ 0 ] . arn ]
46+ ok_actions = [module . mns-notification-alarm-topic [ 0 ] . arn ]
4447}
4548
4649module "mns-notification-alarm-topic" {
50+ count = 1
4751 source = " ./modules/sns"
4852 sns_encryption_key_id = module. sns_encryption_key . id
4953 topic_name = " mns-notification-topic"
5054 topic_protocol = " lambda"
51- topic_endpoint = module. mns-notification-lambda . lambda_arn
55+ topic_endpoint = module. mns-notification-lambda [ 0 ] . lambda_arn
5256 delivery_policy = jsonencode ({
5357 " Version" : " 2012-10-17" ,
5458 " Statement" : [
@@ -72,6 +76,8 @@ module "mns-notification-alarm-topic" {
7276}
7377
7478resource "aws_iam_policy" "kms_mns_lambda_access" {
79+ count = 1
80+
7581 name = " ${ terraform . workspace } _mns_notification_lambda_access_policy"
7682 description = " KMS policy to allow lambda to read and write MNS SQS messages"
7783
@@ -84,7 +90,7 @@ resource "aws_iam_policy" "kms_mns_lambda_access" {
8490 " kms:GenerateDataKey"
8591 ]
8692 Effect = " Allow"
87- Resource = module.mns_encryption_key.kms_arn
93+ Resource = module.mns_encryption_key[ 0 ] .kms_arn
8894 },
8995 ]
9096 })
0 commit comments