Skip to content

AbsyssLab/vtom-nutanix-ahv

Nutanix AHV Management Connector

EarlyAccess License  en

This Connector allows you to manage Nutanix AHV virtual machines from Visual TOM via Prism Central, including starting, stopping, restarting, and managing snapshots.

Disclaimer

No support or warranties will be provided by Absyss SAS for this project and associated files. Use is at your own risk.

Absyss SAS cannot be held responsible for damages caused by the use of any files made available in this Github repository.

Consulting days can be requested for implementation.

Prerequisites

  • Visual TOM 7.1.2 or higher
  • Python 3.x or higher
  • Nutanix Prism Central managing one or more AHV clusters
  • Install required python packages with pip: pip install -r requirements.txt

Instructions

  • Windows :

    • Place the files submit_queue_nutanix.bat & nutanix.py in the %ABM_BIN% directory
    • Declare the queue on the agent (see administrator guide)
  • Linux/Unix :

    • Place the files tom_submit.nutanix & nutanix.py in the $TOM_ADMIN directory
    • Declare the queue on the agent (see administrator guide)
  • Create a Nutanix Context and define the following environment variables:

    • USERNAME: Prism Central API user (e.g. admin)
    • PASSWORD: Password for Prism Central API connection
    • NUTANIX_HOST: IP address or hostname of your Prism Central server
    • NUTANIX_PORT: API port (optional, default: 9440)
    • VERIFY_SSL: Verify SSL certificate (optional, default: false)
  • Import the nutanix.svg icon into Visual TOM: Domain → Preferences → Graphical representation → Custom icons → Import, then select the nutanix.svg file.

  • Create in Visual TOM a "Custom Application" connection with the following definition or import the MyApplication-Nutanix.xml file:

vtimport -x -f MyApplication-Nutanix.xml
 ![Custom application screenshot](screenshots/Nutanix_CustomApplication.png?raw=true)

The script returns specific exit codes:

  • 0: Success
  • 1: Error (connection, validation, or execution error)

Parameter descriptions:

  • ACTION : Action to perform (List, Start, Stop, Restart, Snapshot, Revert, DeleteSnapshot, Delete)
  • VM_NAME : Name or UUID of the virtual machine (required for all actions except 'List')
  • SNAPSHOT_NAME : Name of the snapshot (required for Snapshot, Revert, DeleteSnapshot actions)
  • SNAPSHOT_COMMENT : Description of the snapshot (optional, used only with Snapshot action)

The connector provides detailed logging with:

  • Timestamps
  • Log levels (INFO, WARNING, ERROR)
  • Detailed operation status
  • VM state information

Example log output:

2026-06-12 14:27:30,797 | INFO | Connecting to Nutanix Prism Central: 192.168.1.100:9440
2026-06-12 14:27:30,850 | INFO | Successfully connected to Nutanix Prism Central
2026-06-12 14:27:30,851 | INFO | Searching for VM: Production-Server-01
2026-06-12 14:27:30,857 | INFO | Starting VM...
2026-06-12 14:27:35,858 | INFO | Action 'Start' executed successfully on VM 'Production-Server-01'

Available Actions

List virtual machines

  • Action: List
  • Parameters: VM_NAME (optional - for partial search by name or UUID)
  • Description: Lists all VMs managed by Prism Central, or filters by partial name/UUID.

Power management

  • Action: Start - Power on a VM
  • Action: Stop - Gracefully shut down (ACPI shutdown)
  • Action: Restart - ACPI reboot if running, otherwise power on
  • Parameters: VM_NAME (required)

Snapshot Management

  • Action: Snapshot - Create an on-demand crash-consistent snapshot
  • Action: Revert - Restore a VM to a snapshot
  • Action: DeleteSnapshot - Delete a snapshot
  • Parameters: VM_NAME, SNAPSHOT_NAME (required), SNAPSHOT_COMMENT (optional for Snapshot)

Deletion

  • Action: Delete - Delete a VM (WARNING: Permanent deletion)
  • Parameters: VM_NAME (required)

If multiple VMs share the same name, use the UUID to resolve ambiguity.

Nutanix API permissions

The Prism Central user must have sufficient privileges on the target VMs. For a dedicated service account, a role with VM management and snapshot permissions on the relevant project or cluster is recommended.

The connector uses the Prism Central v3 REST API (/api/nutanix/v3).

License

This project is licensed under Apache 2.0. See the LICENSE file for more details.

Code of Conduct

Contributor Covenant
Absyss SAS has adopted the Contributor Covenant as a Code of Conduct and expects project participants to adhere to it as well. Please read the complete document to understand which actions will or will not be tolerated.

About

Repository for nutanix-ahv integration

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors