variable "region" { description = "Region for the STACKIT Cloud" type = string default = "eu01" } variable "service_account_token" { description = "Service account token for authentication" sensitive = true type = string default = "" } variable "service_account_key_path" { type = string default = "" } variable "projects" { type = map(object({ organization_id = string name = string description = optional(string) labels = optional(map(string)) project_id = optional(string) owner_email = optional(string) security_groups = optional(map(object({ name = string description = optional(string) rules = list(object({ description = optional(string) direction = string ether_type = optional(string) ip_range = optional(string) protocol = optional(object({ name = optional(string) number = optional(number) })) port_range = optional(object({ min = number max = number })) remote_security_group_id = optional(string) })) })), {}) networks = optional(map(object({ name = string ipv4_gateway = optional(string) ipv4_nameservers = optional(list(string)) ipv4_prefix = optional(string) ipv4_prefix_length = optional(number) ipv6_gateway = optional(string) ipv6_nameservers = optional(list(string)) ipv6_prefix = optional(string) ipv6_prefix_length = optional(number) labels = optional(map(string)) no_ipv4_gateway = optional(bool) no_ipv6_gateway = optional(bool) routed = optional(bool) nic_ipv4 = optional(string) nic_name = optional(string) nic_allowed_addresses = optional(list(string)) nic_labels = optional(map(string)) nic_security = optional(bool) nic_security_group_ids = optional(list(string)) })), {}) postgres_instances = optional(map(object({ name = string version = number flavor = object({ cpu = number, ram = number }) storage = object({ class = string, size = number }) replicas = number acl = list(string) backup_schedule = string users = list(object({ username = string roles = set(string) })) databases = list(object({ name = string owner = string })) })), {}) ske_clusters = optional(map(object({ name = string kubernetes_version_min = string node_pools = list(object({ name = string machine_type = string availability_zones = list(string) volume_size = number minimum = number maximum = number })) })), {}) observability_instances = optional(map(object({ name = string plan_name = string })), {}) })) }