# VM Management Module (Phase 0-1) # # Core VM functionality for Phase 0 (Detection) and Phase 1 (Lifecycle) # Rule 8: Explicit exports # Phase 0: Detection and Preparation export use detector.nu { "detect-hypervisors" "get-primary-hypervisor" "check-vm-capability" } export use preparer.nu { "prepare-host-for-vms" "get-host-hypervisor-status" "list-vm-capable-hosts" "ensure-vm-support" } # Phase 1: Backend Integration and Lifecycle export use backend_libvirt.nu { "libvirt-create-vm" "libvirt-start-vm" "libvirt-stop-vm" "libvirt-delete-vm" "libvirt-list-vms" "libvirt-get-vm-info" "libvirt-get-vm-ip" "libvirt-create-disk" } export use persistence.nu { "record-vm-creation" "get-vm-state" "update-vm-state" "remove-vm-state" "list-all-vms" "get-vm-stats" "cleanup-temporary-vms" } export use ssh_utils.nu { "vm-ssh" "vm-scp-to" "vm-scp-from" "vm-exec" "vm-provision" } export use lifecycle.nu { "vm-create" "vm-start" "vm-stop" "vm-delete" "vm-list" "vm-info" } # Phase 2: Persistence and Lifecycle Management export use vm_persistence.nu { "register-permanent-vm" "register-temporary-vm" "get-vm-persistence-info" "list-permanent-vms" "list-temporary-vms" "find-expired-vms" "cleanup-expired-vms" "get-vm-uptime" "get-vm-time-to-cleanup" "extend-vm-ttl" "get-vm-persistence-stats" } export use cleanup_scheduler.nu { "start-cleanup-scheduler" "stop-cleanup-scheduler" "get-cleanup-scheduler-status" "schedule-vm-cleanup" "cancel-vm-cleanup" "get-cleanup-queue" } export use state_recovery.nu { "recover-vms-on-boot" "save-vm-state-snapshot" "restore-vm-state-snapshot" "register-vm-autostart" "get-vms-pending-recovery" "wait-for-vm-ssh" "create-vm-recovery-script" } # Phase 3: Golden Images export use golden_image_builder.nu { "build-golden-image" "list-golden-images" "get-image-info" "delete-golden-image" "create-vm-from-golden-image" "build-image-from-vm" } export use golden_image_cache.nu { "cache-initialize" "cache-add" "cache-get" "cache-list" "cache-cleanup" "cache-stats" "version-create" "version-list" "version-get" "version-deprecate" "version-delete" "version-rollback" } # Phase 4: Nested Provisioning, Volumes, Networking export use volume_management.nu { "volume-create" "volume-list" "volume-info" "volume-attach" "volume-detach" "volume-snapshot" "volume-restore" "volume-delete" "volume-stats" } export use network_management.nu { "network-create" "network-list" "network-info" "network-connect" "network-disconnect" "network-policy-create" "network-policy-list" "network-stats" "vlan-create" "vlan-list" } export use nested_provisioning.nu { "nested-vm-create" "nested-vm-list" "nested-vm-info" "nested-vm-delete" "container-create" "container-list" "container-delete" "nesting-stats" } export use multi_tier_deployment.nu { "deployment-create" "deployment-deploy" "deployment-list" "deployment-info" "deployment-delete" "deployment-scale" "deployment-health" }