naftiko: 1.0.0-alpha2 info: label: VMware vSphere Automation REST API — VM Hardware description: 'VMware vSphere Automation REST API — VM Hardware. 10 operations. Lead operation: Vmware Get Vm Hardware Configuration. Self-contained Naftiko capability covering one Vmware business surface.' tags: - Vmware - VM Hardware created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: VMWARE_API_KEY: VMWARE_API_KEY capability: consumes: - type: http namespace: vsphere-vm-hardware baseUri: https://{vcenter}/api description: VMware vSphere Automation REST API — VM Hardware business capability. Self-contained, no shared references. resources: - name: vcenter-vm-vm-hardware path: /vcenter/vm/{vm}/hardware operations: - name: getvmhardware method: GET description: Vmware Get Vm Hardware Configuration outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatevmhardware method: PATCH description: Vmware Update Vm Hardware Configuration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: vcenter-vm-vm-hardware-cpu path: /vcenter/vm/{vm}/hardware/cpu operations: - name: getvmcpu method: GET description: Vmware Get Vm Cpu Configuration outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatevmcpu method: PATCH description: Vmware Update Vm Cpu Configuration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: vcenter-vm-vm-hardware-disk path: /vcenter/vm/{vm}/hardware/disk operations: - name: listvmdisks method: GET description: Vmware List Vm Virtual Disks outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createvmdisk method: POST description: Vmware Add a Virtual Disk to a Vm outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: vcenter-vm-vm-hardware-ethernet path: /vcenter/vm/{vm}/hardware/ethernet operations: - name: listvmethernet method: GET description: Vmware List Vm Network Adapters outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createvmethernet method: POST description: Vmware Add a Network Adapter to a Vm outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: vcenter-vm-vm-hardware-memory path: /vcenter/vm/{vm}/hardware/memory operations: - name: getvmmemory method: GET description: Vmware Get Vm Memory Configuration outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatevmmemory method: PATCH description: Vmware Update Vm Memory Configuration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: apikey key: vmware-api-session-id value: '{{env.VMWARE_API_KEY}}' placement: header exposes: - type: rest namespace: vsphere-vm-hardware-rest port: 8080 description: REST adapter for VMware vSphere Automation REST API — VM Hardware. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/vcenter/vm/{vm}/hardware name: vcenter-vm-vm-hardware description: REST surface for vcenter-vm-vm-hardware. operations: - method: GET name: getvmhardware description: Vmware Get Vm Hardware Configuration call: vsphere-vm-hardware.getvmhardware outputParameters: - type: object mapping: $. - method: PATCH name: updatevmhardware description: Vmware Update Vm Hardware Configuration call: vsphere-vm-hardware.updatevmhardware with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/vcenter/vm/{vm}/hardware/cpu name: vcenter-vm-vm-hardware-cpu description: REST surface for vcenter-vm-vm-hardware-cpu. operations: - method: GET name: getvmcpu description: Vmware Get Vm Cpu Configuration call: vsphere-vm-hardware.getvmcpu outputParameters: - type: object mapping: $. - method: PATCH name: updatevmcpu description: Vmware Update Vm Cpu Configuration call: vsphere-vm-hardware.updatevmcpu with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/vcenter/vm/{vm}/hardware/disk name: vcenter-vm-vm-hardware-disk description: REST surface for vcenter-vm-vm-hardware-disk. operations: - method: GET name: listvmdisks description: Vmware List Vm Virtual Disks call: vsphere-vm-hardware.listvmdisks outputParameters: - type: object mapping: $. - method: POST name: createvmdisk description: Vmware Add a Virtual Disk to a Vm call: vsphere-vm-hardware.createvmdisk with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/vcenter/vm/{vm}/hardware/ethernet name: vcenter-vm-vm-hardware-ethernet description: REST surface for vcenter-vm-vm-hardware-ethernet. operations: - method: GET name: listvmethernet description: Vmware List Vm Network Adapters call: vsphere-vm-hardware.listvmethernet outputParameters: - type: object mapping: $. - method: POST name: createvmethernet description: Vmware Add a Network Adapter to a Vm call: vsphere-vm-hardware.createvmethernet with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/vcenter/vm/{vm}/hardware/memory name: vcenter-vm-vm-hardware-memory description: REST surface for vcenter-vm-vm-hardware-memory. operations: - method: GET name: getvmmemory description: Vmware Get Vm Memory Configuration call: vsphere-vm-hardware.getvmmemory outputParameters: - type: object mapping: $. - method: PATCH name: updatevmmemory description: Vmware Update Vm Memory Configuration call: vsphere-vm-hardware.updatevmmemory with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: vsphere-vm-hardware-mcp port: 9090 transport: http description: MCP adapter for VMware vSphere Automation REST API — VM Hardware. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: vmware-get-vm-hardware-configuration description: Vmware Get Vm Hardware Configuration hints: readOnly: true destructive: false idempotent: true call: vsphere-vm-hardware.getvmhardware outputParameters: - type: object mapping: $. - name: vmware-update-vm-hardware-configuration description: Vmware Update Vm Hardware Configuration hints: readOnly: false destructive: false idempotent: true call: vsphere-vm-hardware.updatevmhardware with: body: tools.body outputParameters: - type: object mapping: $. - name: vmware-get-vm-cpu-configuration description: Vmware Get Vm Cpu Configuration hints: readOnly: true destructive: false idempotent: true call: vsphere-vm-hardware.getvmcpu outputParameters: - type: object mapping: $. - name: vmware-update-vm-cpu-configuration description: Vmware Update Vm Cpu Configuration hints: readOnly: false destructive: false idempotent: true call: vsphere-vm-hardware.updatevmcpu with: body: tools.body outputParameters: - type: object mapping: $. - name: vmware-list-vm-virtual-disks description: Vmware List Vm Virtual Disks hints: readOnly: true destructive: false idempotent: true call: vsphere-vm-hardware.listvmdisks outputParameters: - type: object mapping: $. - name: vmware-add-virtual-disk-vm description: Vmware Add a Virtual Disk to a Vm hints: readOnly: false destructive: false idempotent: false call: vsphere-vm-hardware.createvmdisk with: body: tools.body outputParameters: - type: object mapping: $. - name: vmware-list-vm-network-adapters description: Vmware List Vm Network Adapters hints: readOnly: true destructive: false idempotent: true call: vsphere-vm-hardware.listvmethernet outputParameters: - type: object mapping: $. - name: vmware-add-network-adapter-vm description: Vmware Add a Network Adapter to a Vm hints: readOnly: false destructive: false idempotent: false call: vsphere-vm-hardware.createvmethernet with: body: tools.body outputParameters: - type: object mapping: $. - name: vmware-get-vm-memory-configuration description: Vmware Get Vm Memory Configuration hints: readOnly: true destructive: false idempotent: true call: vsphere-vm-hardware.getvmmemory outputParameters: - type: object mapping: $. - name: vmware-update-vm-memory-configuration description: Vmware Update Vm Memory Configuration hints: readOnly: false destructive: false idempotent: true call: vsphere-vm-hardware.updatevmmemory with: body: tools.body outputParameters: - type: object mapping: $.