1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
variable "functions" {
description = "Map of Lambda function definitions"
type = map(object({
name = string
description = optional(string, "")
runtime = string
handler = string
role_arn = string
filename = optional(string, null)
s3_bucket = optional(string, null)
s3_key = optional(string, null)
s3_object_version = optional(string, null)
image_uri = optional(string, null)
architectures = optional(list(string), ["x86_64"])
memory_size = optional(number, 128)
timeout = optional(number, 30)
reserved_concurrent_executions = optional(number, -1)
publish = optional(bool, false)
kms_key_arn = optional(string, null)
environment = optional(map(string), {})
layers = optional(list(string), [])
# VPC config
subnet_ids = optional(list(string), [])
security_group_ids = optional(list(string), [])
# Tracing
tracing_mode = optional(string, "PassThrough")
# Event source mappings
event_sources = optional(list(object({
event_source_arn = string
batch_size = optional(number, 10)
starting_position = optional(string, null)
function_response_types = optional(list(string), [])
bisect_on_function_error = optional(bool, true)
})), [])
}))
default = {}
}
variable "layers" {
description = "Map of Lambda layer definitions"
type = map(object({
name = string
description = optional(string, "")
filename = optional(string, null)
s3_bucket = optional(string, null)
s3_key = optional(string, null)
compatible_runtimes = optional(list(string), [])
compatible_architectures = optional(list(string), ["x86_64"])
}))
default = {}
}
variable "tags" {
description = "Resource tags to apply to all resources"
type = map(string)
default = {}
}
|