# Создано: 2026-03-09 # time-getter.tf — скрипт который запускается ОДИН РАЗ при terraform apply. # После запуска его результат доступен через: sless_job.run_getter.message # Смотри time-display.tf — там этот результат передаётся в функцию. # Упаковываем код скрипта в zip для загрузки data "archive_file" "time_getter_zip" { type = "zip" source_dir = "${path.module}/code/time_getter" output_path = "${path.module}/dist/time_getter.zip" } # Функция для скрипта — без HTTP-триггера, вызывается только через джоб ниже resource "sless_function" "time_getter" { name = "simple-node-time-getter" # уникальное имя в namespace runtime = "nodejs20" entrypoint = "time_getter.getTime" # файл.функция в code/time_getter/ memory_mb = 64 code_path = data.archive_file.time_getter_zip.output_path code_hash = filesha256("${path.module}/code/time_getter/time_getter.js") # для пересборки при изменении кода } # Джоб — запускает функцию time_getter один раз прямо при apply. # run_id = 1 означает «запустить». Если увеличить (2, 3...) — запустится снова. # После завершения: sless_job.run_getter.message = то что вернула функция resource "sless_job" "run_getter" { name = "simple-node-getter-run" function = sless_function.time_getter.name run_id = 1 wait_timeout_sec = 120 # сколько секунд ждать завершения скрипта event_json = "{}" # входные данные для скрипта (пусто — данные не нужны) depends_on = [sless_function.time_getter] }