# Variables for {{ project_name }} Hetzner Infrastructure
# Generated by Prism

# =============================================================================
# Authentication
# =============================================================================

variable "hcloud_token" {
  description = "Hetzner Cloud API token"
  type        = string
  sensitive   = true
}

variable "ssh_public_key" {
  description = "SSH public key for server access"
  type        = string
}

# =============================================================================
# Location
# =============================================================================

variable "location" {
  description = "Hetzner datacenter location (nbg1, fsn1, hel1, ash, hil)"
  type        = string
  default     = "{{ hetzner.location.value }}"
}

# =============================================================================
# Environment Toggles
# =============================================================================

variable "deploy_staging" {
  description = "Whether to deploy staging environment"
  type        = bool
  default     = true
}

variable "deploy_production" {
  description = "Whether to deploy production environment"
  type        = bool
  default     = false
}

# =============================================================================
# Staging Configuration
# =============================================================================

variable "staging_server_type" {
  description = "Server type for staging (cx22, cx32, cx42, cx52, cax11)"
  type        = string
  default     = "{{ hetzner.staging_server_type.value }}"
}

variable "staging_volume_size" {
  description = "Volume size in GB for staging PostgreSQL data"
  type        = number
  default     = {{ hetzner.staging_volume_size }}
}

# =============================================================================
# Production Configuration
# =============================================================================

variable "production_server_type" {
  description = "Server type for production (cx22, cx32, cx42, cx52)"
  type        = string
  default     = "{{ hetzner.production_server_type.value }}"
}

variable "production_volume_size" {
  description = "Volume size in GB for production PostgreSQL data"
  type        = number
  default     = {{ hetzner.production_volume_size }}
}

variable "production_floating_ip" {
  description = "Whether to attach a floating IP to production server"
  type        = bool
  default     = {{ hetzner.production_floating_ip | lower }}
}
