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