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,26 @@ 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" {
4748 source = " ./modules/sns"
4849 sns_encryption_key_id = module. sns_encryption_key . id
4950 topic_name = " mns-notification-topic"
5051 topic_protocol = " lambda"
51- topic_endpoint = module. mns-notification-lambda . lambda_arn
52+ topic_endpoint = module. mns-notification-lambda [ 0 ] . lambda_arn
5253 delivery_policy = jsonencode ({
5354 " Version" : " 2012-10-17" ,
5455 " Statement" : [
@@ -72,6 +73,7 @@ module "mns-notification-alarm-topic" {
7273}
7374
7475resource "aws_iam_policy" "kms_mns_lambda_access" {
76+ count = 1
7577 name = " ${ terraform . workspace } _mns_notification_lambda_access_policy"
7678 description = " KMS policy to allow lambda to read and write MNS SQS messages"
7779
@@ -84,7 +86,7 @@ resource "aws_iam_policy" "kms_mns_lambda_access" {
8486 " kms:GenerateDataKey"
8587 ]
8688 Effect = " Allow"
87- Resource = module.mns_encryption_key.kms_arn
89+ Resource = module.mns_encryption_key[ 0 ] .kms_arn
8890 },
8991 ]
9092 })
0 commit comments