@@ -4,83 +4,3 @@ locals {
44 lambda_files = fileset (local. lambda_dir , " **" )
55 lambda_dir_sha = sha1 (join (" " , [for f in local . lambda_files : filesha1 (" ${ local . lambda_dir } /${ f } " )]))
66}
7-
8- resource "aws_ecr_repository" "operation_lambda_repository" {
9- image_scanning_configuration {
10- scan_on_push = true
11- }
12- name = " ${ local . prefix } -operation-lambda-repo"
13- force_delete = local. is_temp
14- }
15-
16- # Module for building and pushing Docker image to ECR
17- module "docker_image" {
18- source = " terraform-aws-modules/lambda/aws//modules/docker-build"
19- version = " 8.7.0"
20-
21- create_ecr_repo = false
22- ecr_repo = " ${ local . prefix } -operation-lambda-repo"
23- docker_file_path = " ./backend/Dockerfile"
24- ecr_repo_lifecycle_policy = jsonencode ({
25- " rules" : [
26- {
27- " rulePriority" : 1 ,
28- " description" : " Keep only the last 2 images" ,
29- " selection" : {
30- " tagStatus" : " any" ,
31- " countType" : " imageCountMoreThan" ,
32- " countNumber" : 2
33- },
34- " action" : {
35- " type" : " expire"
36- }
37- }
38- ]
39- })
40-
41- platform = " linux/amd64"
42- use_image_tag = false
43- source_path = abspath (" ${ path . root } /../../lambdas" )
44- triggers = {
45- dir_sha = local.lambda_dir_sha
46- shared_dir_sha = local.shared_dir_sha
47- }
48- }
49-
50- # Define the lambdaECRImageRetreival policy
51- resource "aws_ecr_repository_policy" "operation_lambda_ECRImageRetreival_policy" {
52- repository = aws_ecr_repository. operation_lambda_repository . name
53-
54- policy = jsonencode ({
55- Version = " 2012-10-17"
56- Statement = [
57- {
58- " Sid" : " LambdaECRImageRetrievalPolicy" ,
59- " Effect" : " Allow" ,
60- " Principal" : {
61- " Service" : " lambda.amazonaws.com"
62- },
63- " Action" : [
64- " ecr:BatchGetImage" ,
65- " ecr:DeleteRepositoryPolicy" ,
66- " ecr:GetDownloadUrlForLayer" ,
67- " ecr:GetRepositoryPolicy" ,
68- " ecr:SetRepositoryPolicy"
69- ],
70- " Condition" : {
71- " StringLike" : {
72- " aws:sourceArn" : [
73- " arn:aws:lambda:${ var . aws_region } :${ var . immunisation_account_id } :function:${ local . short_prefix } _get_status" ,
74- " arn:aws:lambda:${ var . aws_region } :${ var . immunisation_account_id } :function:${ local . short_prefix } _not_found" ,
75- " arn:aws:lambda:${ var . aws_region } :${ var . immunisation_account_id } :function:${ local . short_prefix } _search_imms" ,
76- " arn:aws:lambda:${ var . aws_region } :${ var . immunisation_account_id } :function:${ local . short_prefix } _get_imms" ,
77- " arn:aws:lambda:${ var . aws_region } :${ var . immunisation_account_id } :function:${ local . short_prefix } _delete_imms" ,
78- " arn:aws:lambda:${ var . aws_region } :${ var . immunisation_account_id } :function:${ local . short_prefix } _create_imms" ,
79- " arn:aws:lambda:${ var . aws_region } :${ var . immunisation_account_id } :function:${ local . short_prefix } _update_imms"
80- ]
81- }
82- }
83- }
84- ]
85- })
86- }
0 commit comments