Nutanix VM Management
Overview
The vmm namespace covers the VM lifecycle on AHV, Nutanix's built-in
hypervisor, managed through Prism Central. For an MSP this is the
day-to-day surface: which VMs exist across a client's clusters, how
they are configured, what state they are in, and which host they run
on. All access goes through the single vmm_execute tool — discover
the exact operation with listOperations(namespace="vmm") first.
Key Concepts
| Concept |
Notes |
extId |
UUID identifying every VM (and every sub-resource); all get-by-id operations take it |
| Power state |
ON, OFF, plus transitional states; read from the VM entity |
| Sub-resources |
Disks, NICs, GPUs, serial ports each have their own list/get operations under the VM |
| Cluster association |
Each VM belongs to one cluster; cross-reference clustermgmt for cluster detail |
| Categories |
Prism categories (key:value tags) attach to VMs; category CRUD lives in the prism namespace |
Common Workflows
Find a VM by name
listOperations with namespace="vmm", search="list vms" to get
the list-VMs operation id.
getOperationSchema for that id to confirm parameters.
vmm_execute with the operation id and
_filter="name eq 'web-prod-01'". Names are not unique across
clusters — if several rows return, disambiguate by cluster before
reporting.
- Use the returned
extId for any follow-up get-by-id call.
VM inventory sweep
- List VMs with
_limit=100 and walk _page until a short page.
_select the fields you need (name, power state, sizing, cluster)
to keep pages small on large estates.
- Group client-side by cluster or category for the report.
Inspect one VM's configuration
- Get the VM by
extId for CPU/memory/power state.
- List its disks and NICs via the corresponding sub-resource
operations (discover them with
search="disk" / search="nic"
scoped to vmm).
Read-only boundary
The vmm namespace includes create, clone, update, power-cycle, and
delete operations — discovery will list them, but the server's
read-only mode blocks all of them. Do not offer to power-cycle,
resize, clone, or delete a VM. When a change is the right next step,
hand off: pull the operation's contract with getOperationSchema and
a getCodeSample snippet so the operator can execute it through their
own authenticated tooling.
Gotchas
- Name-to-extId resolution is mandatory. Get-by-id operations only
accept
extId. A "VM not found" on a name you can see in Prism
usually means the name was passed where a UUID belongs.
- Filter casing follows OData, not SQL.
name eq 'x' works;
name = "x" does not. String literals take single quotes.
- Metrics live elsewhere. VM performance/rightsizing analysis comes
from the
aiops namespace, not vmm — see the monitoring-aiops
skill.
Related Skills
1---2name: nutanix-vm-management3description: Working the vmm namespace through `vmm_execute`: VM inventory and lookup on AHV clusters, resolving names to extId UUIDs, reading VM configuration (disks, NICs, GPUs, power state), OData filters for VM queries, and the read-only boundaries around VM lifecycle actions.4---56# Nutanix VM Management78## Overview910The `vmm` namespace covers the VM lifecycle on AHV, Nutanix's built-in11hypervisor, managed through Prism Central. For an MSP this is the12day-to-day surface: which VMs exist across a client's clusters, how13they are configured, what state they are in, and which host they run14on. All access goes through the single `vmm_execute` tool — discover15the exact operation with `listOperations(namespace="vmm")` first.1617## Key Concepts1819| Concept | Notes |20|---------|-------|21| `extId` | UUID identifying every VM (and every sub-resource); all get-by-id operations take it |22| Power state | `ON`, `OFF`, plus transitional states; read from the VM entity |23| Sub-resources | Disks, NICs, GPUs, serial ports each have their own list/get operations under the VM |24| Cluster association | Each VM belongs to one cluster; cross-reference `clustermgmt` for cluster detail |25| Categories | Prism categories (key:value tags) attach to VMs; category CRUD lives in the `prism` namespace |2627## Common Workflows2829### Find a VM by name30311. `listOperations` with `namespace="vmm"`, `search="list vms"` to get32 the list-VMs operation id.332. `getOperationSchema` for that id to confirm parameters.343. `vmm_execute` with the operation id and35 `_filter="name eq 'web-prod-01'"`. Names are not unique across36 clusters — if several rows return, disambiguate by cluster before37 reporting.384. Use the returned `extId` for any follow-up get-by-id call.3940### VM inventory sweep41421. List VMs with `_limit=100` and walk `_page` until a short page.432. `_select` the fields you need (name, power state, sizing, cluster)44 to keep pages small on large estates.453. Group client-side by cluster or category for the report.4647### Inspect one VM's configuration48491. Get the VM by `extId` for CPU/memory/power state.502. List its disks and NICs via the corresponding sub-resource51 operations (discover them with `search="disk"` / `search="nic"`52 scoped to `vmm`).5354## Read-only boundary5556The vmm namespace includes create, clone, update, power-cycle, and57delete operations — discovery will list them, but the server's58read-only mode blocks all of them. Do not offer to power-cycle,59resize, clone, or delete a VM. When a change is the right next step,60hand off: pull the operation's contract with `getOperationSchema` and61a `getCodeSample` snippet so the operator can execute it through their62own authenticated tooling.6364## Gotchas6566- **Name-to-extId resolution is mandatory.** Get-by-id operations only67 accept `extId`. A "VM not found" on a name you can see in Prism68 usually means the name was passed where a UUID belongs.69- **Filter casing follows OData, not SQL.** `name eq 'x'` works;70 `name = "x"` does not. String literals take single quotes.71- **Metrics live elsewhere.** VM performance/rightsizing analysis comes72 from the `aiops` namespace, not `vmm` — see the monitoring-aiops73 skill.7475## Related Skills7677- [api-patterns](../api-patterns/SKILL.md) — discovery workflow, OData, read-only mode78- [cluster-operations](../cluster-operations/SKILL.md) — the clusters and hosts VMs run on79- [monitoring-aiops](../monitoring-aiops/SKILL.md) — VM rightsizing and performance analysis