OpenAPI definitions for vCloud's Rest API.
These can be used to generate libraries for interacting with vCloud from any mainstream programming langauge.
OpenAPI definitions are sometimes known by their previous name of Swagger specifications.
vCloud Director 10.2.2 Rest API
Other versions: see top level folder
In general, clients can be generated by running an openapi-generator command similar to:
openapi-generator generate -i 'https://raw.githubusercontent.com/ccouzens/vcloud-rest-openapi/main/35.2.json' -g 'typescript-axios' -o 'src/vcloud-client'
This is a repository of OpenAPI definitions for vCloud's Rest API. They are automatically generated from the public documentation to reduce human error, reduce human effort and to make it easy to stay up-to date.
vCloud Director has an official OpenAPI, but it contains little of the functionality of the Rest API.
Some of the documentation
instructs the user to follow link
attributes in the responses and not to
create href
s manually. This is incompatible with OpenAPI and contradicts other
official documentation that lists out paths within the API. This definition uses
predefined paths.
VMware Cloud Director Rest API supports responses and requests as both JSON and XML. But only XML is officially documented by VMWare. JSON is better suited for OpenAPI and modern usage. The mapping from XML to JSON is predictable.
Types are documented by VMware in XSD (XML Schema Definition). XSD is a complicated format. It supports lots of concepts and it has multiple ways of expressing a single concept. There are edge cases where I've not yet incorporated an XSD concept.
Each API version has a zip file containing documentation about it on the vmware website. The zip file is downloaded and passed into a Rust program that extracts various information like responses, requests and paths. This program then generates a JSON OpenAPI definition.
If you find an issue, tell me about it using Github and I shall try and address it.
The transformer (code that does the converting of the published documentation to OpenAPI) is MIT Licensed.
I've assigned the copyright of the OpenAPI definitions to VMware as they are derived from their documentation.