Multiple Environments

locals {
  environments = {
    dev = {
      memory_size = 128
      timeout     = 30
      log_level   = "DEBUG"
    }
    prod = {
      memory_size = 512
      timeout     = 60
      log_level   = "INFO"
    }
  }
}

module "api_function" {
  for_each = local.environments

  source  = "registry.patterneddesigns.ca/patterneddesigns/lambda-function/aws"
  version = "3.1.0"

  function_name = "api-handler-${each.key}"
  runtime       = "python3.12"
  handler       = "main.handler"
  source_path   = "./src"

  memory_size = each.value.memory_size
  timeout     = each.value.timeout

  environment_variables = {
    ENVIRONMENT = each.key
    LOG_LEVEL   = each.value.log_level
  }
}