variable "env" {
  type    = string
  default = "dev"
}

variable "cloud_region" {
  type = string
}

variable "logical_region_name" {
  type = string
}

variable "service_plan" {
  type    = string
  default = "Premium"

  validation {
    condition     = contains(["Premium", "EssentialV2"], var.service_plan)
    error_message = "service_plan must be Premium or EssentialV2."
  }
}

variable "controlplane_domain_name" {
  type    = string
  default = ""
}

variable "controlplane_dns_zone_resource_group" {
  type    = string
  default = ""
}

variable "service_address" {
  type    = string
  default = ""
}

variable "authorized_ip_ranges" {
  type    = list(string)
  default = ["0.0.0.0/0"]
}

variable "api_server_vnet_integration_enabled" {
  type    = bool
  default = false
}

variable "availability_zones" {
  type    = list(string)
  default = []
}

variable "nodepool_size" {
  type    = number
  default = 3
}

variable "nodepool_autoscaling_enabled" {
  type    = bool
  default = true
}

variable "nodepool_min_size" {
  type    = number
  default = 3
}

variable "nodepool_max_size" {
  type    = number
  default = 10
}

variable "vm_size" {
  type    = string
  default = "Standard_DS2_v2"
}

variable "k8s_version" {
  type    = string
  default = "1.36.1"
}

variable "jump_server_tenant_id" {
  type    = string
  default = ""
}

variable "jump_server_subscription_id" {
  type    = string
  default = ""
}

variable "jump_server_env" {
  type    = string
  default = ""
}

variable "jump_server_token_file_path" {
  type    = string
  default = "/var/run/secrets/federated-tokens/token-azure"
}

variable "destroy_mode" {
  type    = bool
  default = false
}
