Modularize the lambdas
							parent
							
								
									712a0346f7
								
							
						
					
					
						commit
						ac5d8ac50e
					
				| @ -0,0 +1,17 @@ | |||||||
|  | data "aws_iam_policy_document" "lambda-frontend-role" { | ||||||
|  |   statement { | ||||||
|  |     effect = "Allow" | ||||||
|  |     principals { | ||||||
|  |       type        = "Service" | ||||||
|  |       identifiers = ["lambda.amazonaws.com"] | ||||||
|  |     } | ||||||
|  |     actions = ["sts:AssumeRole"] | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | module "frontend-lambda" { | ||||||
|  |   source  = "./modules/lambda" | ||||||
|  |   name    = "frontend" | ||||||
|  |   handler = "frontend" | ||||||
|  |   policy  = data.aws_iam_policy_document.lambda-frontend-role.json | ||||||
|  | } | ||||||
| @ -0,0 +1,22 @@ | |||||||
|  | resource "aws_iam_role" "lambda-role" { | ||||||
|  |   name               = "lambda-role" | ||||||
|  |   assume_role_policy = var.policy | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | data "archive_file" "lambda-role" { | ||||||
|  |   type        = "zip" | ||||||
|  |   source_file = "src/${var.name}.py" | ||||||
|  |   output_path = "src/${var.name}.zip" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | resource "aws_lambda_function" "lambda" { | ||||||
|  |   function_name = var.name | ||||||
|  |   runtime       = "python3.11" | ||||||
|  | 
 | ||||||
|  |   role = aws_iam_role.lambda-role.arn | ||||||
|  | 
 | ||||||
|  |   handler          = var.handler | ||||||
|  |   filename         = "src/${var.name}.zip" | ||||||
|  |   source_code_hash = data.archive_file.lambda-role.output_base64sha256 | ||||||
|  | } | ||||||
|  | 
 | ||||||
| @ -0,0 +1,3 @@ | |||||||
|  | output "arn" { | ||||||
|  |   value = aws_lambda_function.lambda.arn | ||||||
|  | } | ||||||
| @ -0,0 +1,11 @@ | |||||||
|  | variable "name" { | ||||||
|  |   type = string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | variable "handler" { | ||||||
|  |   type = string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | variable "policy" { | ||||||
|  |   type = string | ||||||
|  | } | ||||||
| @ -0,0 +1 @@ | |||||||
|  | pass | ||||||
					Loading…
					
					
				
		Reference in New Issue