@@ -10,7 +10,7 @@ locals {
1010 # Calculate SHA for both directories
1111 shared_dir_sha = sha1 (join (" " , [for f in local . shared_files : filesha1 (" ${ local . shared_dir } /${ f } " )]))
1212 id_sync_lambda_dir_sha = sha1 (join (" " , [for f in local . id_sync_lambda_files : filesha1 (" ${ local . id_sync_lambda_dir } /${ f } " )]))
13- lambda_name = " ${ local . short_prefix } -id_sync "
13+
1414}
1515
1616resource "aws_ecr_repository" "id_sync_lambda_repository" {
@@ -173,7 +173,7 @@ resource "aws_iam_policy" "id_sync_lambda_exec_policy" {
173173 Effect = " Allow"
174174 Action = " lambda:InvokeFunction"
175175 Resource = [
176- " arn:aws:lambda:${ var . aws_region } :${ var . immunisation_account_id } :function:${ local . lambda_name } " ,
176+ " arn:aws:lambda:${ var . aws_region } :${ var . immunisation_account_id } :function:imms- ${ var . sub_environment } -id_sync_lambda " ,
177177 ]
178178 },
179179 # NEW
@@ -243,6 +243,9 @@ resource "aws_iam_role_policy_attachment" "id_sync_lambda_kms_policy_attachment"
243243
244244data "aws_iam_policy_document" "id_sync_policy_document" {
245245 source_policy_documents = [
246+ templatefile (" ${ local . policy_path } /dynamodb.json" , {
247+ " dynamodb_table_name" : aws_dynamodb_table.delta- dynamodb- table.name
248+ }),
246249 templatefile (" ${ local . policy_path } /dynamodb_stream.json" , {
247250 " dynamodb_table_name" : aws_dynamodb_table.events- dynamodb- table.name
248251 }),
@@ -267,7 +270,7 @@ resource "aws_iam_role_policy_attachment" "id_sync_lambda_dynamodb_policy_attach
267270
268271# Lambda Function with Security Group and VPC.
269272resource "aws_lambda_function" "id_sync_lambda" {
270- function_name = local. lambda_name
273+ function_name = " ${ local . short_prefix } -id_sync_lambda "
271274 role = aws_iam_role. id_sync_lambda_exec_role . arn
272275 package_type = " Image"
273276 image_uri = module. id_sync_docker_image . image_uri
@@ -281,9 +284,12 @@ resource "aws_lambda_function" "id_sync_lambda" {
281284
282285 environment {
283286 variables = {
287+ CONFIG_BUCKET_NAME = local.config_bucket_name
284288 REDIS_HOST = data.aws_elasticache_cluster.existing_redis.cache_nodes[0 ].address
285289 REDIS_PORT = data.aws_elasticache_cluster.existing_redis.cache_nodes[0 ].port
290+ ID_SYNC_PROC_LAMBDA_NAME = " imms-${ var . sub_environment } -id_sync_lambda"
286291 # NEW
292+ DELTA_TABLE_NAME = aws_dynamodb_table.delta- dynamodb- table.name
287293 IEDS_TABLE_NAME = aws_dynamodb_table.events- dynamodb- table.name
288294 PDS_ENV = var.pds_environment
289295 SPLUNK_FIREHOSE_NAME = module.splunk.firehose_stream_name
@@ -298,7 +304,7 @@ resource "aws_lambda_function" "id_sync_lambda" {
298304}
299305
300306resource "aws_cloudwatch_log_group" "id_sync_log_group" {
301- name = " /aws/lambda/${ local . short_prefix } -id_sync "
307+ name = " /aws/lambda/${ local . short_prefix } -id_sync_lambda "
302308 retention_in_days = 30
303309}
304310
0 commit comments