locals.tf
 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
# locals =====================================================================

locals {
  tags = merge(
    {
      ManagedBy = "terraform"
      Module    = "compute/lambda"
    },
    var.tags,
  )

  # Flatten event source mappings
  event_source_pairs = flatten([
    for fn_key, fn in var.functions : [
      for idx, es in fn.event_sources : {
        fn_key = fn_key
        idx    = idx
        es     = es
      }
    ]
  ])

  event_source_map = {
    for item in local.event_source_pairs :
    "${item.fn_key}-${item.idx}" => item
  }
}