Я развертываю лямбду с помощью Terraform следующим образом, но у меня есть следующие вопросы:
1) Я хочу, чтобы null_resource.lambda вызывался всегда или при изменении stop_ec2.py, чтобы stop_ec2_upload.zip не устарел. Что писать в триггерах {}?
2) как заставить aws_lambda_function.stop_ec2 обновлять новый файл stop_ec2_upload.zip в облако при изменении файла stop_ec2_upload.zip?
прямо сейчас мне нужно уничтожить aws_lambda_function.stop_ec2, а затем создать его снова. Можно ли что-нибудь написать в коде, чтобы при запуске terraform apply 1) и 2) выполнялись автоматически?
resource "null_resource" "lambda" {
triggers {
#what should I write here?
}
provisioner "local-exec" {
command = "mkdir -p lambda_func && cd lambda_py && zip
../lambda_func/stop_ec2_upload.zip stop_ec2.py && cd .."
}
}
resource "aws_lambda_function" "stop_ec2" {
depends_on = ["null_resource.lambda"]
function_name = "stopEC2"
handler = "stop_ec2.handler"
runtime = "python3.6"
filename = "lambda_func/stop_ec2_upload.zip"
source_code_hash =
"${base64sha256(file("lambda_func/stop_ec2_upload.zip"))}"
role = "..."
}