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,27 @@ 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+ event_source_arn = module. sqs-mns-notification-queue [ 0 ] . endpoint
34+ function_name = module. mns-notification-lambda [ 0 ] . lambda_arn
3435}
3536
3637module "mns-notification-alarm" {
3738 source = " ./modules/lambda_alarms"
38- lambda_function_name = module. mns-notification-lambda . function_name
39- lambda_timeout = module. mns-notification-lambda . timeout
39+ lambda_function_name = module. mns-notification-lambda [ 0 ] . function_name
40+ lambda_timeout = module. mns-notification-lambda [ 0 ] . timeout
4041 lambda_name = " mns_notification_handler"
4142 namespace = " AWS/Lambda"
42- alarm_actions = [module . mns-notification-alarm-topic . arn ]
43- ok_actions = [module . mns-notification-alarm-topic . arn ]
43+ alarm_actions = [module . mns-notification-alarm-topic [ 0 ] . arn ]
44+ ok_actions = [module . mns-notification-alarm-topic [ 0 ] . arn ]
4445}
4546
4647module "mns-notification-alarm-topic" {
48+ count = 1
4749 source = " ./modules/sns"
4850 sns_encryption_key_id = module. sns_encryption_key . id
4951 topic_name = " mns-notification-topic"
5052 topic_protocol = " lambda"
51- topic_endpoint = module. mns-notification-lambda . lambda_arn
53+ topic_endpoint = module. mns-notification-lambda [ 0 ] . lambda_arn
5254 delivery_policy = jsonencode ({
5355 " Version" : " 2012-10-17" ,
5456 " Statement" : [
@@ -72,6 +74,7 @@ module "mns-notification-alarm-topic" {
7274}
7375
7476resource "aws_iam_policy" "kms_mns_lambda_access" {
77+ count = 1
7578 name = " ${ terraform . workspace } _mns_notification_lambda_access_policy"
7679 description = " KMS policy to allow lambda to read and write MNS SQS messages"
7780
@@ -84,7 +87,7 @@ resource "aws_iam_policy" "kms_mns_lambda_access" {
8487 " kms:GenerateDataKey"
8588 ]
8689 Effect = " Allow"
87- Resource = module.mns_encryption_key.kms_arn
90+ Resource = module.mns_encryption_key[ 0 ] .kms_arn
8891 },
8992 ]
9093 })
0 commit comments