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
28
29
30
31
32
33
34
35
# locals =====================================================================

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

  # Resolve event bus name for rules: prefer key reference over literal name
  rule_event_bus_names = {
    for k, v in var.rules : k => (
      v.event_bus_key != null
      ? aws_cloudwatch_event_bus.this[v.event_bus_key].name
      : v.event_bus_name
    )
  }

  # Resolve event bus name for targets: prefer key reference over literal name
  target_event_bus_names = {
    for k, v in var.targets : k => (
      v.event_bus_key != null
      ? aws_cloudwatch_event_bus.this[v.event_bus_key].name
      : v.event_bus_name
    )
  }

  # Buses that have an archive configured
  buses_with_archives = {
    for k, v in var.event_buses : k => v
    if v.archive != null
  }
}