naftiko: 1.0.0-alpha2 info: label: Nutanix Prism Element API v2 — VMs description: 'Nutanix Prism Element API v2 — VMs. 3 operations. Lead operation: Nutanix List virtual machines. Self-contained Naftiko capability covering one Nutanix business surface.' tags: - Nutanix - VMs created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: NUTANIX_API_KEY: NUTANIX_API_KEY capability: consumes: - type: http namespace: prism-element-v2-vms baseUri: https://{clusterIp}:9440/PrismGateway/services/rest/v2.0 description: Nutanix Prism Element API v2 — VMs business capability. Self-contained, no shared references. resources: - name: vms path: /vms operations: - name: listvms method: GET description: Nutanix List virtual machines outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: include_vm_disk_config in: query type: boolean description: Include VM disk configuration details in the response. - name: include_vm_nic_config in: query type: boolean description: Include VM NIC configuration details in the response. - name: vms-id path: /vms/{id} operations: - name: getvm method: GET description: Nutanix Get a virtual machine outputRawFormat: json outputParameters: - name: result type: object value: $. - name: vms-id-set_power_state path: /vms/{id}/set_power_state operations: - name: setvmpowerstate method: POST description: Nutanix Set VM power state outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: basic username: '{{env.NUTANIX_USER}}' password: '{{env.NUTANIX_PASS}}' exposes: - type: rest namespace: prism-element-v2-vms-rest port: 8080 description: REST adapter for Nutanix Prism Element API v2 — VMs. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/vms name: vms description: REST surface for vms. operations: - method: GET name: listvms description: Nutanix List virtual machines call: prism-element-v2-vms.listvms with: include_vm_disk_config: rest.include_vm_disk_config include_vm_nic_config: rest.include_vm_nic_config outputParameters: - type: object mapping: $. - path: /v1/vms/{id} name: vms-id description: REST surface for vms-id. operations: - method: GET name: getvm description: Nutanix Get a virtual machine call: prism-element-v2-vms.getvm outputParameters: - type: object mapping: $. - path: /v1/vms/{id}/set-power-state name: vms-id-set-power-state description: REST surface for vms-id-set_power_state. operations: - method: POST name: setvmpowerstate description: Nutanix Set VM power state call: prism-element-v2-vms.setvmpowerstate with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: prism-element-v2-vms-mcp port: 9090 transport: http description: MCP adapter for Nutanix Prism Element API v2 — VMs. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: nutanix-list-virtual-machines description: Nutanix List virtual machines hints: readOnly: true destructive: false idempotent: true call: prism-element-v2-vms.listvms with: include_vm_disk_config: tools.include_vm_disk_config include_vm_nic_config: tools.include_vm_nic_config outputParameters: - type: object mapping: $. - name: nutanix-get-virtual-machine description: Nutanix Get a virtual machine hints: readOnly: true destructive: false idempotent: true call: prism-element-v2-vms.getvm outputParameters: - type: object mapping: $. - name: nutanix-set-vm-power-state description: Nutanix Set VM power state hints: readOnly: false destructive: false idempotent: false call: prism-element-v2-vms.setvmpowerstate with: body: tools.body outputParameters: - type: object mapping: $.