variable "organization_id" { type = string } variable "name" { type = string } variable "description" { type = string default = null } variable "labels" { type = map(string) default = {} } variable "project_id" { type = string default = null } variable "owner_email" { type = string default = null } variable "security_groups" { type = 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) })) })) default = {} } variable "networks" { type = 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)) })) default = {} } variable "postgres_instances" { type = 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) }))) })) default = {} } variable "ske_clusters" { type = 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 })) })) default = {} } variable "observability_instances" { type = map(object({ name = string plan_name = string })) default = {} }