Hi all,

I've created a Postman collection and a Swagger UI setup that cover the
whole Apache CloudStack API. They're handy for exploring the API and
testing new features.

Repo: https://github.com/kiranchavala/cloudstack-postman-collection


Postman is a tool for building, sending and testing API requests. Swagger
UI turns an OpenAPI spec into interactive API docs that you can browse and
try out in the browser.

What you get
- All 928 API commands from CloudStack 4.23, grouped by area
(VirtualMachine, Network, Volume, ...)
- Every parameter with its description, generated from the management
server's own listApis output
- Request signing done for you in both Postman and Swagger UI, so you never
compute signatures by hand

This work is based on René Moser's cloudstack-openapi-ngine project, which
generates an OpenAPI 3.2 document directly from CloudStack's listApis
endpoint:

  PyPI: https://pypi.org/project/cloudstack-openapi-ngine/
  GitHub: https://github.com/ngine-io/cloudstack-openapi

A big thank you to René for this work. It turns CloudStack's bespoke
listApis output into a standard OpenAPI document, and none of this would
have been possible without it.

How to use it

Option 1: Postman (download: https://www.postman.com/downloads/)

1. In Postman, go to Import -> File and choose
postman/cloudstack.postman_collection.json
2. Open the collection's Variables tab and set:
   - baseUrl: http://<mgmt-server>:8080/client/api
   - apiKey / secretKey: from the UI (Profile -> Generate keys)
3. Pick a request, tick the parameters you need, fill them in and click Send

Option 2: Swagger UI with "Try it out" (https://swagger.io/)

  git clone
https://github.com/kiranchavala/cloudstack-postman-collection.git
  cd cloudstack-postman-collection
  cp .env.example .env      # set CS_ENDPOINT, CS_API_KEY, CS_SECRET_KEY
  docker compose up -d

Open http://localhost:8088, expand any command, click Try it out, then
Execute.

Note: the local signing proxy signs every request sent to it with your
keys, including deletes. Keep it on localhost and prefer non-admin keys
where you can.

Option 3: Browse the docs only

To browse the API docs without running anything, open
https://editor.swagger.io -> File -> Import URL and paste:


https://raw.githubusercontent.com/kiranchavala/cloudstack-postman-collection/main/openapi/cloudstack-openapi.yaml

Please try it out and share your feedback, either on the list or on GitHub.

Regards,
Kiran Chavala

Reply via email to