# Variables for Well-Architected Configuration

variable "environment" {
  description = "Environment (prod, dev, test, staging)"
  type        = string
  validation {
    condition     = contains(["prod", "dev", "test", "staging"], var.environment)
    error_message = "Environment must be one of: prod, dev, test, staging"
  }
}

variable "location" {
  description = "Azure region"
  type        = string
  default     = "westeurope"
}

variable "project_name" {
  description = "Project name"
  type        = string
  default     = "defi-oracle-mainnet"
}

variable "subscription_id" {
  description = "Azure subscription ID"
  type        = string
}

variable "key_vault_allowed_subnet_ids" {
  description = "List of subnet IDs allowed to access Key Vault"
  type        = list(string)
  default     = []
}

variable "key_vault_allowed_ip_ranges" {
  description = "List of IP ranges allowed to access Key Vault"
  type        = list(string)
  default     = []
}

variable "key_vault_private_endpoint_subnet_id" {
  description = "Subnet ID for private endpoint"
  type        = string
  default     = ""
}

variable "budget_amount" {
  description = "Budget amount"
  type        = number
  default     = 10000
}

variable "budget_contact_emails" {
  description = "List of email addresses for budget notifications"
  type        = list(string)
  default     = []
}

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

