terraform-modules/example/variables.tf
2025-07-15 20:54:48 +02:00

127 lines
3.1 KiB
HCL

# SNA & Projects variables
variable "organization_id" {
description = "Die Container-ID deiner STACKIT Organisation."
type = string
}
variable "ske_target_project_key" { type = string }
variable "service_account_key_path" {
type = string
default = "/home/hahnjan/.stackit/sa.json"
}
variable "default_region" {
type = string
default = "eu01"
}
variable "SNA_name" {
description = "Name der zu erstellenden Service Network Area."
type = string
}
variable "SNA_network_ranges" {
description = "Liste der Netzwerk-CIDRs für die SNA."
type = list(object({ prefix = string }))
}
variable "SNA_transfer_network" {
description = "Das Transfer-Netzwerk für die SNA (z.B. 172.16.9.0/24)."
type = string
}
variable "Projects_map" {
description = "Eine Map von Projekten, die erstellt werden sollen."
type = map(object({
name = string
owner_email = string
}))
}
# SKE variables
variable "name" {
description = "Ein Präfix für den Namen des SKE-Clusters."
type = string
default = "my-ske-cluster"
}
variable "node_pools" {
description = "One or more node_pool blocks."
type = list(object({
name = string
machine_type = string
availability_zones = list(string)
minimum = number
maximum = number
allow_system_components = optional(bool)
cri = optional(string)
labels = optional(map(string))
max_surge = optional(number)
max_unavailable = optional(number)
os_name = optional(string)
os_version_min = optional(string)
taints = optional(list(object({
effect = string
key = string
value = optional(string)
})))
volume_size = optional(number)
volume_type = optional(string)
}))
}
variable "kubernetes_version_min" {
description = "The minimum Kubernetes version."
type = string
default = null
}
variable "hibernations" {
description = "A list of hibernation schedules for the cluster."
type = list(object({
start = string
end = string
timezone = optional(string)
}))
default = null
}
variable "maintenance" {
description = "A single maintenance block."
type = object({
enable_kubernetes_version_updates = bool
enable_machine_image_version_updates = bool
start = string
end = string
})
default = null
}
variable "extensions" {
description = "A single extensions block."
type = object({
acl = optional(object({
enabled = bool
allowed_cidrs = list(string)
}))
argus = optional(object({
enabled = bool
argus_instance_id = string
}))
dns = optional(object({
enabled = bool
zones = optional(list(string))
}))
})
default = null
}
variable "network" {
description = "Network block."
type = object({
id = string
})
default = null
}