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) # labels = optional(map(string)) # stateful = optional(bool) # 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) security_groups = optional(map(object({ name = string description = optional(string) labels = optional(map(string)) stateful = optional(bool) 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) })) })), {}) 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({ acl = list(string) backup_schedule = string flavor = object({ cpu = number ram = number }) name = string replicas = number storage = object({ class = string size = number }) version = string region = optional(string) databases = optional(list(object({ instance_id = optional(string) name = string owner = string region = optional(string) }))) users = optional(list(object({ instance_id = optional(string) roles = set(string) username = string region = optional(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 })), {}) })) }