Terraform lambda source_code_hash atualiza com o mesmo código
Tenho um AWS Lambda implantado com sucesso com o Terraform:
resource "aws_lambda_function" "lambda" {
filename = "dist/subscriber-lambda.zip"
function_name = "test_get-code"
role = <my_role>
handler = "main.handler"
timeout = 14
reserved_concurrent_executions = 50
memory_size = 128
runtime = "python3.6"
tags = <my map of tags>
source_code_hash = "${base64sha256(file("../modules/lambda/lambda-code/main.py"))}"
kms_key_arn = <my_kms_arn>
vpc_config {
subnet_ids = <my_list_of_private_subnets>
security_group_ids = <my_list_of_security_groups>
}
environment {
variables = {
environment = "dev"
}
}
}
Agora, quando corroterraform plan
comando diz que meu recurso lambda precisa ser atualizado porque osource_code_hash
@ mudou, mas não atualizei a base de código lambda Python (que é versionada em uma pasta do mesmo repositório):
~ module.app.module.lambda.aws_lambda_function.lambda
last_modified: "2018-10-05T07:10:35.323+0000" => <computed>
source_code_hash: "jd6U44lfe4124vR0VtyGiz45HFzDHCH7+yTBjvr400s=" => "JJIv/AQoPvpGIg01Ze/YRsteErqR0S6JsqKDNShz1w78"
Suponho que seja porque comprime minhas fontes Python cada vez e a fonte muda. Como evitar isso se não houver alterações no código Python? Minha hipótese é coerente se eu não alterei a base de código Python (quero dizer, por que então o hash muda)?