# Variables for Cloud for Sovereignty Landing Zone

variable "subscription_id" {
  description = "Azure subscription ID"
  type        = string
  default     = "fc08d829-4f14-413d-ab27-ce024425db0b"
}

variable "management_group_id" {
  description = "Management Group ID for landing zone"
  type        = string
  default     = ""
}

variable "enable_all_regions" {
  description = "Enable deployment to all non-US regions"
  type        = bool
  default     = true
}

variable "selected_regions" {
  description = "List of specific regions to deploy (if enable_all_regions is false)"
  type        = list(string)
  default     = []
}

variable "deploy_aks_clusters" {
  description = "Deploy AKS clusters in each region"
  type        = bool
  default     = false # Start with infrastructure only
}

variable "deploy_besu_network" {
  description = "Deploy Besu network components"
  type        = bool
  default     = false # Deploy after infrastructure is ready
}

variable "validator_count" {
  description = "Number of validator nodes per region (default for regions not in validator_counts map)"
  type        = number
  default     = 1
}

variable "validator_counts" {
  description = "Map of region-specific validator counts (overrides validator_count for specific regions)"
  type        = map(number)
  default     = {}
}

variable "validator_vm_size" {
  description = "VM size for validator nodes"
  type        = string
  default     = "Standard_D2psv6"  # 2 vCPUs, 8 GB RAM (4 GB RAM/vCPU) - Arm-based
}

variable "sentry_count" {
  description = "Number of sentry nodes per region"
  type        = number
  default     = 0
}

# sentry_vm_size variable removed - not used (sentries deployed as pods, not VMs)
# If sentries need VMs in the future, uncomment:
# variable "sentry_vm_size" {
#   description = "VM size for sentry nodes"
#   type        = string
#   default     = "Standard_B2s"  # 2 vCPUs, 4GB RAM - AKS-compatible minimum
# }

variable "admin_region" {
  description = "Administrative region (no validators/sentries, admin use only)"
  type        = string
  default     = "westeurope" # West Europe for admin purposes
}
