Apache CloudStack · Capability
Apache CloudStack API — Virtual Machines
Apache CloudStack API — Virtual Machines. 5 operations. Lead operation: Apache CloudStack Deploy Virtual Machine. Self-contained Naftiko capability covering one Apache Cloudstack business surface.
What You Can Do
GET
Deployvirtualmachine
— Apache CloudStack Deploy Virtual Machine
/v1
POST
Listvirtualmachines
— Apache CloudStack List Virtual Machines
/v1
GET
Queryasyncjobresult
— Apache CloudStack Query Async Job Result
/v1/async/query
GET
Startvirtualmachine
— Apache CloudStack Start Virtual Machine
/v1/vm/start
GET
Stopvirtualmachine
— Apache CloudStack Stop Virtual Machine
/v1/vm/stop
MCP Tools
apache-cloudstack-deploy-virtual-machine
Apache CloudStack Deploy Virtual Machine
read-only
idempotent
apache-cloudstack-list-virtual-machines
Apache CloudStack List Virtual Machines
read-only
apache-cloudstack-query-async-job
Apache CloudStack Query Async Job Result
read-only
idempotent
apache-cloudstack-start-virtual-machine
Apache CloudStack Start Virtual Machine
read-only
idempotent
apache-cloudstack-stop-virtual-machine
Apache CloudStack Stop Virtual Machine
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Apache CloudStack API — Virtual Machines
description: 'Apache CloudStack API — Virtual Machines. 5 operations. Lead operation: Apache CloudStack Deploy Virtual Machine.
Self-contained Naftiko capability covering one Apache Cloudstack business surface.'
tags:
- Apache Cloudstack
- Virtual Machines
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
APACHE_CLOUDSTACK_API_KEY: APACHE_CLOUDSTACK_API_KEY
capability:
consumes:
- type: http
namespace: apache-cloudstack-virtual-machines
baseUri: http://localhost:8080/client/api
description: Apache CloudStack API — Virtual Machines business capability. Self-contained, no shared references.
resources:
- name: root
path: /
operations:
- name: deployvirtualmachine
method: GET
description: Apache CloudStack Deploy Virtual Machine
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: command
in: query
type: string
description: API command name.
required: true
- name: response
in: query
type: string
description: Response format.
- name: zoneid
in: query
type: string
description: UUID of the zone in which to deploy the virtual machine.
required: true
- name: serviceofferingid
in: query
type: string
description: UUID of the service offering for the virtual machine.
required: true
- name: templateid
in: query
type: string
description: UUID of the template to use for the virtual machine.
required: true
- name: name
in: query
type: string
description: Display name for the virtual machine.
- name: apikey
in: query
type: string
description: API key for authentication.
required: true
- name: signature
in: query
type: string
description: HMAC-SHA1 signature of the request parameters.
required: true
- name: listvirtualmachines
method: POST
description: Apache CloudStack List Virtual Machines
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: async-query
path: /async/query
operations:
- name: queryasyncjobresult
method: GET
description: Apache CloudStack Query Async Job Result
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: command
in: query
type: string
required: true
- name: jobid
in: query
type: string
description: UUID of the async job to query.
required: true
- name: apikey
in: query
type: string
required: true
- name: signature
in: query
type: string
required: true
- name: vm-start
path: /vm/start
operations:
- name: startvirtualmachine
method: GET
description: Apache CloudStack Start Virtual Machine
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: command
in: query
type: string
required: true
- name: id
in: query
type: string
description: UUID of the virtual machine to start.
required: true
- name: apikey
in: query
type: string
required: true
- name: signature
in: query
type: string
required: true
- name: vm-stop
path: /vm/stop
operations:
- name: stopvirtualmachine
method: GET
description: Apache CloudStack Stop Virtual Machine
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: command
in: query
type: string
required: true
- name: id
in: query
type: string
description: UUID of the virtual machine to stop.
required: true
- name: apikey
in: query
type: string
required: true
- name: signature
in: query
type: string
required: true
authentication:
type: apikey
key: apikey
value: '{{env.APACHE_CLOUDSTACK_API_KEY}}'
placement: query
exposes:
- type: rest
namespace: apache-cloudstack-virtual-machines-rest
port: 8080
description: REST adapter for Apache CloudStack API — Virtual Machines. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1
name: root
description: REST surface for root.
operations:
- method: GET
name: deployvirtualmachine
description: Apache CloudStack Deploy Virtual Machine
call: apache-cloudstack-virtual-machines.deployvirtualmachine
with:
command: rest.command
response: rest.response
zoneid: rest.zoneid
serviceofferingid: rest.serviceofferingid
templateid: rest.templateid
name: rest.name
apikey: rest.apikey
signature: rest.signature
outputParameters:
- type: object
mapping: $.
- method: POST
name: listvirtualmachines
description: Apache CloudStack List Virtual Machines
call: apache-cloudstack-virtual-machines.listvirtualmachines
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/async/query
name: async-query
description: REST surface for async-query.
operations:
- method: GET
name: queryasyncjobresult
description: Apache CloudStack Query Async Job Result
call: apache-cloudstack-virtual-machines.queryasyncjobresult
with:
command: rest.command
jobid: rest.jobid
apikey: rest.apikey
signature: rest.signature
outputParameters:
- type: object
mapping: $.
- path: /v1/vm/start
name: vm-start
description: REST surface for vm-start.
operations:
- method: GET
name: startvirtualmachine
description: Apache CloudStack Start Virtual Machine
call: apache-cloudstack-virtual-machines.startvirtualmachine
with:
command: rest.command
id: rest.id
apikey: rest.apikey
signature: rest.signature
outputParameters:
- type: object
mapping: $.
- path: /v1/vm/stop
name: vm-stop
description: REST surface for vm-stop.
operations:
- method: GET
name: stopvirtualmachine
description: Apache CloudStack Stop Virtual Machine
call: apache-cloudstack-virtual-machines.stopvirtualmachine
with:
command: rest.command
id: rest.id
apikey: rest.apikey
signature: rest.signature
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: apache-cloudstack-virtual-machines-mcp
port: 9090
transport: http
description: MCP adapter for Apache CloudStack API — Virtual Machines. One tool per consumed operation, routed inline
through this capability's consumes block.
tools:
- name: apache-cloudstack-deploy-virtual-machine
description: Apache CloudStack Deploy Virtual Machine
hints:
readOnly: true
destructive: false
idempotent: true
call: apache-cloudstack-virtual-machines.deployvirtualmachine
with:
command: tools.command
response: tools.response
zoneid: tools.zoneid
serviceofferingid: tools.serviceofferingid
templateid: tools.templateid
name: tools.name
apikey: tools.apikey
signature: tools.signature
outputParameters:
- type: object
mapping: $.
- name: apache-cloudstack-list-virtual-machines
description: Apache CloudStack List Virtual Machines
hints:
readOnly: true
destructive: false
idempotent: false
call: apache-cloudstack-virtual-machines.listvirtualmachines
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: apache-cloudstack-query-async-job
description: Apache CloudStack Query Async Job Result
hints:
readOnly: true
destructive: false
idempotent: true
call: apache-cloudstack-virtual-machines.queryasyncjobresult
with:
command: tools.command
jobid: tools.jobid
apikey: tools.apikey
signature: tools.signature
outputParameters:
- type: object
mapping: $.
- name: apache-cloudstack-start-virtual-machine
description: Apache CloudStack Start Virtual Machine
hints:
readOnly: true
destructive: false
idempotent: true
call: apache-cloudstack-virtual-machines.startvirtualmachine
with:
command: tools.command
id: tools.id
apikey: tools.apikey
signature: tools.signature
outputParameters:
- type: object
mapping: $.
- name: apache-cloudstack-stop-virtual-machine
description: Apache CloudStack Stop Virtual Machine
hints:
readOnly: true
destructive: false
idempotent: true
call: apache-cloudstack-virtual-machines.stopvirtualmachine
with:
command: tools.command
id: tools.id
apikey: tools.apikey
signature: tools.signature
outputParameters:
- type: object
mapping: $.