@@ -27,7 +27,7 @@ resource "aws_security_group" "lambda_sg" {
2727resource "aws_lambda_function" "lambda_function" {
2828 function_name = var. lambda_name
2929 timeout = var. lambda_timeout
30- image_uri = " ${ data . aws_ecr_repository . profile_lambda_ecr_repo . repository_url } : ${ var . lambda_version } "
30+ image_uri = " ${ data . aws_ecr_repository . profile_lambda_ecr_repo . repository_url } @ ${ data . aws_ecr_image . lambda_image . image_digest } "
3131 package_type = " Image"
3232 architectures = [var . lambda_arch ]
3333 logging_config {
@@ -55,6 +55,8 @@ resource "aws_lambda_function" "lambda_function" {
5555 AWS_SECRET_NAME = var.aws_secret_name
5656 AWS_ACCOUNT_NAME = var.env_name
5757 S3_BUCKET_NAME = local.bucket_name
58+ IMAGE_DIGEST = data.aws_ecr_image.lambda_image.image_digest
59+ IMAGE_TAG = var.container_ver
5860 }
5961 }
6062}
@@ -148,6 +150,12 @@ resource "aws_iam_role_policy_attachment" "eventbridge_policy" {
148150 policy_arn = aws_iam_policy. lambda_eventbridge_policy . arn
149151}
150152
153+ # Resolve the pushed image (must exist before terraform apply)
154+ data "aws_ecr_image" "lambda_image" {
155+ repository_name = var. ecr_repository
156+ image_tag = var. container_ver
157+ }
158+
151159resource "aws_cloudwatch_log_group" "loggroup" {
152160 name = " /aws/lambda/${ aws_lambda_function . lambda_function . function_name } "
153161 retention_in_days = var. log_retention_days
0 commit comments