variable "alb" {
  type        = string
  description = "ALB name"
  default     = ""
}

variable "nlb" {
  type        = string
  description = "NLB name"
  default     = ""
}

variable "api_cpu" {
  type        = number
  description = ""
  default     = 4096
}

variable "api_dns" {
  type        = string
  description = "Hostname used for API"
  default     = ""
}

variable "api_env" {
  type        = map(string)
  description = "Map of api environment variables. Has prior to the default variables"
  default     = {}
}

variable "api_memory" {
  type        = number
  description = ""
  default     = 8192
}

variable "api_repo_url" {
  type        = string
  description = "API ECR repo url"
}

variable "api_role_arn" {
  type        = string
  description = "ARN of api IAM role"
}

variable "api_secrets" {
  type        = map(string)
  description = "API environment variables mapped to secrets arn"
  default     = {}
}

variable "default_task_count" {
  type        = number
  description = "default amount of tasks"
  default     = 2
}

variable "autoscaling_cpu_high" {
  type        = number
  description = "Upscaling threshold CPU"
  default     = 15
}

variable "autoscaling_cpu_low" {
  type        = number
  description = "Downscaling threshold CPU"
  default     = 10
}

variable "autoscaling_enabled" {
  type        = bool
  description = ""
  default     = false
}

variable "autoscaling_max_tasks" {
  type        = number
  description = ""
  default     = null
}

variable "autoscaling_min_tasks" {
  type        = number
  description = ""
  default     = null
}

variable "autoscaling_memory_high" {
  type        = number
  description = "Upscaling threshold RAM"
  default     = 60
}

variable "autoscaling_memory_low" {
  type        = number
  description = "Downscaling threshold RAM"
  default     = 50
}

variable "autoscaling_memory" {
  type        = bool
  description = "Whether to enable memory scaling or not"
  default     = true
}

variable "autoscaling_requests_per_target_high" {
  type        = number
  description = "Upscaling threshold requests per target in ALB"
  default     = 300
}

variable "autoscaling_requests_per_target_low" {
  type        = number
  description = "Downscaling threshold requests per target in ALB"
  default     = 200
}

variable "autoscaling_step_size" {
  type        = number
  description = "How many task per upscale step is added"
  default     = 2
}

variable "api_datadog_enabled" {
  type        = bool
  description = "Enable datadog"
  default     = false
}

variable "nginx_datadog_enabled" {
  type        = bool
  description = "Enable datadog"
  default     = false
}

variable "ecs_cluster" {
  type        = string
  description = "ECS cluster name."
  default     = ""
}

variable "env_prefix" {
  type        = string
  description = ""
}

variable "env_suffix" {
  type        = string
  description = "Env suffix for subenvs of api. Doesn't exist by default"
  default     = ""
}

variable "es_domain" {
  type        = string
  description = ""
  default     = ""
}

variable "exec_role" {
  type        = string
  description = ""
  default     = ""
}

variable "nginx_image_tag" {
  type        = string
  description = ""
  default     = ""
}

variable "api_image_tag" {
  type        = string
  description = ""
  default     = ""
}

variable "nginx_cpu" {
  type        = number
  description = ""
  default     = 1024
}

variable "nginx_dns" {
  type        = string
  description = "Hostname used for cache API"
  default     = ""
}

variable "nginx_enabled" {
  type        = bool
  description = ""
  default     = true
}

variable "nginx_env" {
  type        = map(string)
  description = ""
  default     = {}
}

variable "nginx_memory" {
  type        = number
  description = ""
  default     = 4096
}

variable "nginx_repo_url" {
  type        = string
  description = "nginx ECR repo url"
}

variable "sd_namespace_id" {
  type        = string
  description = ""
  default     = ""
}

variable "project_group" {
  type        = string
  description = ""
  default     = "delphi"
}

variable "tags" {
  type        = map(string)
  description = ""
}

variable "enable_execute_command" {
  type        = bool
  description = "Specifies whether to enable Amazon ECS Exec for the tasks within the service."
  default     = null
}

variable "init_process_enabled" {
  type    = bool
  default = null
}
