diff options
| author | Alex <git@ajschof.me> | 2024-08-16 14:32:53 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-16 14:32:53 +0100 |
| commit | a9f05e599417745d8281b05eb8fd7afe02a8e1ae (patch) | |
| tree | c280e0e6d652fe43aa3b13850dc8d9116f9ee4d2 /terraform | |
| parent | cf3d366e730e88ceea194d5b3b1d1a3ddecdd944 (diff) | |
| parent | 6425cd0b5bd9afe3f0fea8fdc37cfb7fe624d0e5 (diff) | |
| download | de-project-bentley-a9f05e599417745d8281b05eb8fd7afe02a8e1ae.tar.gz de-project-bentley-a9f05e599417745d8281b05eb8fd7afe02a8e1ae.zip | |
Merge branch 'development' into ci-cd-branch
Diffstat (limited to 'terraform')
| -rw-r--r-- | terraform/lambda.tf | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/terraform/lambda.tf b/terraform/lambda.tf index 72d1306..658b8c8 100644 --- a/terraform/lambda.tf +++ b/terraform/lambda.tf @@ -81,3 +81,38 @@ resource "aws_lambda_function" "load_lambda" { depends_on = [aws_s3_object.load_lambda_code] } + +locals { + layer_dir = "${path.module}/../python" + requirements = "${path.module}/../requirements.txt" + layer_zip = "${path.module}/../layer.zip" +} + +resource "null_resource" "prepare_layer" { + triggers = { + requirements_hash = filesha1(local.requirements) + } + provisioner "local-exec" { + command = <<EOT + mkdir -p ${local.layer_dir}/lib/python3.8/site-packages/ + pip install -r ${local.requirements} -t ${local.layer_dir}/lib/python3.11/site-packages/ + cd ${local.layer_dir} && zip -r ${local.layer_zip} . + EOT +} + } + +resource "aws_s3_object" "layer_zip" { + bucket = aws_s3_bucket.lambda_code_bucket.bucket + key = "layer.zip" + source = local.layer_zip + depends_on = [null_resource.prepare_layer] +} + +resource "aws_lambda_layer_version" "lambda_layer" { + layer_name = "lambda_layer" + compatible_runtimes = ["python3.11"] + s3_bucket = aws_s3_bucket.lambda_code_bucket.bucket + s3_key = aws_s3_object.layer_zip.key + skip_destroy = true + depends_on = [aws_s3_object.layer_zip] +}
\ No newline at end of file |
