variable "nodes" { type = map(object({ ip = string role = string managed = optional(bool, true) ignore_unavailable = optional(bool, false) ssh_user = optional(string) ssh_port = optional(number) ssh_config_file = optional(string) ssh_identity_file = optional(string) labels = optional(map(string), {}) })) description = "Atlas host and Kubernetes node inventory." } variable "default_ssh_user" { type = string description = "Default SSH user for generated Ananke inventory." } variable "default_ssh_port" { type = number description = "Default SSH port for generated Ananke inventory." } variable "default_ssh_config_file" { type = string description = "Default SSH config file for generated Ananke inventory." } variable "default_ssh_identity_file" { type = string description = "Default SSH identity file for generated Ananke inventory." } variable "ananke_inventory_fragment_path" { type = string description = "Generated Ananke inventory fragment path." } variable "label_field_manager" { type = string description = "Kubernetes server-side apply field manager for node labels." } variable "force_node_label_conflicts" { type = bool description = "Force overwriting label field ownership conflicts during planned adoption." }