@@ -15,9 +15,13 @@ provider "aws" {
1515# #############
1616
1717locals {
18- domain = " slack.${ var . domain } "
19- name = " slackbot"
20- region = " us-east-1"
18+ domain = " slack.${ var . domain } "
19+ name = " slackbot"
20+ region = " us-east-1"
21+ snap_start_enabled = false
22+
23+ handlers = fileset (" ${ path . module } /functions" , " **/index.py" )
24+ custom_responders = toset ([for handler in local . handlers : dirname (dirname (handler))])
2125
2226 parameters = {
2327 client_secret = var.slack_client_secret
@@ -58,6 +62,9 @@ module "slackbot" {
5862 domain_certificate_arn = data. aws_acm_certificate . cert . arn
5963 domain_zone_id = data. aws_route53_zone . zone . id
6064
65+ # LAMBDA
66+ lambda_snap_start_enabled = local. snap_start_enabled
67+
6168 # SLACK
6269 slack_client_id = var. slack_client_id
6370 slack_client_secret = var. slack_client_secret
@@ -76,11 +83,6 @@ module "slackbot" {
7683# CUSTOM RESPONDERS #
7784# ########################
7885
79- locals {
80- handlers = fileset (" ${ path . module } /functions" , " **/index.py" )
81- custom_responders = toset ([for handler in local . handlers : dirname (dirname (handler))])
82- }
83-
8486data "archive_file" "custom_responders" {
8587 for_each = local. custom_responders
8688 source_dir = " ${ path . module } /functions/${ each . value } /src"
@@ -95,13 +97,13 @@ resource "aws_lambda_function" "custom_responders" {
9597 filename = data. archive_file . custom_responders [each . value ]. output_path
9698 function_name = " ${ local . name } -api-${ each . value } "
9799 handler = " index.handler"
98- publish = true
100+ publish = local . snap_start_enabled
99101 role = module. slackbot . roles [" lambda" ]. arn
100102 runtime = " python3.13"
101103 source_code_hash = data. archive_file . custom_responders [each . value ]. output_base64sha256
102104
103105 snap_start {
104- apply_on = " PublishedVersions"
106+ apply_on = local . snap_start_enabled ? " PublishedVersions" : " None "
105107 }
106108}
107109
0 commit comments