# Variables for Multi-Region Landing Zone Deployment

variable "environment" {
  description = "Environment name (dev, stage, prod)"
  type        = string
  default     = "dev"
  validation {
    condition     = contains(["dev", "stage", "prod"], var.environment)
    error_message = "Environment must be dev, stage, or prod."
  }
}

variable "management_group_id" {
  description = "Root management group ID"
  type        = string
  default     = "SOVEREIGN-ORDER-OF-HOSPITALLERS"
}

variable "deploy_all_regions" {
  description = "Deploy to all supported regions"
  type        = bool
  default     = true
}

variable "regions_to_deploy" {
  description = "Specific regions to deploy (if deploy_all_regions is false)"
  type        = list(string)
  default     = []
  validation {
    condition = alltrue([
      for region in var.regions_to_deploy : contains([
        "westeurope",
        "northeurope",
        "uksouth",
        "switzerlandnorth",
        "norwayeast",
        "francecentral",
        "germanywestcentral"
      ], region)
    ])
    error_message = "All regions must be non-US commercial Azure regions."
  }
}

