variable "environment" {
  description = "Environment name"
  type        = string
  default     = "dev"
}

variable "service_name" {
  description = "Service name prefix"
  type        = string
  default     = "lambda-abacus"
}

variable "lambda_source_base_dir" {
  description = "Base directory for lambda source code"
  type        = string
  default     = "/Users/michael.rojas/Library/CloudStorage/OneDrive-SonyMusicEntertainment/Documents/projects/lambda-abacus/lambda"
}

# Lambda-specific configurations synced from QA
variable "lambda_configs" {
  description = "Configuration for each lambda function"
  type = map(object({
    timeout     = number
    memory_size = number
  }))
  default = {
    file-upload-complete = {
      timeout     = 900  # Synced from QA (15 minutes)
      memory_size = 1024 # Synced from QA
    }
    adjustment-file-initialize = {
      timeout     = 300  # Synced from QA (5 minutes)
      memory_size = 1024 # Synced from QA
    }
    adjustment-file-prepare = {
      timeout     = 900   # Synced from QA (15 minutes)
      memory_size = 10240 # Synced from QA (10 GB)
    }
    adjustment-file-process-batch = {
      timeout     = 300  # Current LocalStack value (5 minutes)
      memory_size = 3008 # Current LocalStack value
    }
    adjustment-file-complete = {
      timeout     = 60  # Current LocalStack value (1 minute)
      memory_size = 256 # Current LocalStack value
    }
    outbox-process = {
      timeout     = 60  # 1 minute
      memory_size = 512 # 512 MB
    }
  }
}
