terraform-modules/example/variables.tf
2025-07-16 12:55:50 +02:00

100 lines
2.5 KiB
HCL

# SNA & Projects variables
variable "organization_id" {
description = "Die Container-ID deiner STACKIT Organisation."
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 "ske_clusters" {
description = "Eine Map von SKE-Clustern"
type = map(object({
name = string
project_key = string
network_id = string
kubernetes_version_min = optional(string)
hibernations = optional(list(object({
start = string
end = string
timezone = optional(string)
})))
maintenance = optional(object({
enable_kubernetes_version_updates = bool
enable_machine_image_version_updates = bool
start = string
end = string
}))
extensions = optional(object({
acl = optional(object({
enabled = bool
allowed_cidrs = list(string)
}))
argus = optional(object({
enabled = bool
argus_instance_id = string
}))
}))
node_pools = 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)
volume_size = optional(number)
volume_type = optional(string)
taints = optional(list(object({
effect = string
key = string
value = optional(string)
})))
}))
}))
default = {}
}