1- locals {
2- clean = " rm -rf ${ path . module } /build/libs"
3- build = " pip install --upgrade ${ join (" " , var. libraries )} --target ${ path . module } /build/libs/python/lib/python${ data . external . default . result . version } /site-packages/."
1+ data external python-version {
2+ program = [" bash" , " ${ path . module } /python_version.sh" ]
43}
54
6- resource null_resource default {
7- triggers = {
8- command = local.build
9- }
10-
11- provisioner local-exec {
12- command = " ${ local . clean } && ${ local . build } "
13- }
5+ data external pip-install {
6+ program = concat ([" bash" , " ${ path . module } /pip_install.sh" , data . external . python-version . result . version ], var. libraries )
147}
158
169data archive_file default {
1710 output_path = " ${ path . module } /build/aws-lambda-python-layer.zip"
18- source_dir = " ${ path . module } /build/libs "
11+ source_dir = data . external . pip-install . result . path
1912 type = " zip"
13+ }
2014
21- depends_on = [null_resource. default ]
15+ resource random_id default {
16+ byte_length = 8
17+
18+ keepers = {
19+ source_code_hash = data.archive_file.default.output_md5
20+ }
2221}
2322
2423resource aws_s3_bucket_object default {
2524 bucket = var. bucket
2625 source = data. archive_file . default . output_path
2726 key = " python-layer-${ random_id . default . b64_url } .zip"
28-
29- etag = data. archive_file . default . output_base64sha256
30- }
31-
32- data external default {
33- program = [" bash" , " ${ path . module } /python_version.sh" ]
34- }
35-
36- resource random_id default {
37- byte_length = 8
3827}
3928
4029resource aws_lambda_layer_version default {
4130 s3_bucket = var. bucket
4231 s3_key = aws_s3_bucket_object. default . key
4332 layer_name = " python-layer-${ random_id . default . b64_url } "
4433
45- source_code_hash = data. archive_file . default . output_base64sha256
46-
4734 compatible_runtimes = [
48- " python${ data . external . default . result . version } "
35+ " python${ data . external . python-version . result . version } "
4936 ]
5037}
0 commit comments