# Variables for GCP Module

variable "environment_config" {
  description = "Environment configuration from environments.yaml"
  type = object({
    name       = string
    role       = string
    provider   = string
    type       = string
    region     = string
    location   = string
    enabled    = bool
    components = list(string)
    infrastructure = object({
      kubernetes = object({
        provider  = string
        version   = string
        node_pools = map(object({
          count         = number
          machine_type  = string
        }))
      })
      networking = object({
        vpc_cidr = string
        subnets  = list(object({
          name   = string
          cidr   = string
          region = optional(string)
        }))
      })
    })
    gcp = object({
      project_id = string
      region     = string
      zone       = string
    })
  })
}

variable "environment" {
  description = "Environment name"
  type        = string
}

variable "gcp_project_id" {
  description = "GCP project ID (fallback if not in config)"
  type        = string
  default     = ""
}

variable "gcp_default_region" {
  description = "GCP default region (fallback if not in config)"
  type        = string
  default     = "europe-west1"
}

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

