resource "proxmox_virtual_environment_container" "this" { node_name = var.target_node vm_id = var.vm_id unprivileged = var.unprivileged started = var.started start_on_boot = var.start_on_boot cpu { cores = var.cores units = var.cpu_units } memory { dedicated = var.memory swap = var.swap } disk { datastore_id = var.rootfs_storage size = var.rootfs_size_gib } features { nesting = var.nesting } network_interface { name = var.netif_name bridge = var.bridge enabled = true firewall = var.firewall } operating_system { template_file_id = var.template_file_id type = var.os_type } initialization { hostname = var.hostname ip_config { ipv4 { address = var.ipv4_address gateway = var.ipv4_gateway } } # user_account делаем опциональным: # - если задан пароль (не null) или есть ssh keys dynamic "user_account" { for_each = (var.password != null || length(var.ssh_public_keys) > 0) ? [1] : [] content { # provider норм принимает keys list(string) keys = var.ssh_public_keys # password задаём только если не null password = var.password } } # DNS опционально dynamic "dns" { for_each = (var.dns_domain != null || length(var.dns_servers) > 0) ? [1] : [] content { domain = var.dns_domain servers = var.dns_servers } } } }