# Variables for Regional Landing Zone Module

variable "region" {
  description = "Azure region (e.g., westeurope, northeurope)"
  type        = string
  validation {
    condition = contains([
      "westeurope",
      "northeurope",
      "uksouth",
      "switzerlandnorth",
      "norwayeast",
      "francecentral",
      "germanywestcentral"
    ], var.region)
    error_message = "Region must be a non-US commercial Azure region."
  }
}

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

variable "management_group_id" {
  description = "Management group ID for this landing zone"
  type        = string
}

variable "hub_vnet_address_space" {
  description = "Address space for hub VNet"
  type        = string
  default     = "10.0.0.0/16"
}

variable "spoke_vnet_address_space" {
  description = "Address space for spoke VNet"
  type        = string
  default     = "10.1.0.0/16"
}

variable "tags" {
  description = "Tags to apply to all resources"
  type        = map(string)
  default     = {}
}

