Please provide your feedback in this short Flings' survey.

OpenAPI interface for vSphere

version 1.0 — August 03, 2021

Release Date: June 09, 2021

Summary

In this Fling, a new wire protocol is designed as an alternative to SOAP/XML. The new protocol is based on JSON and adhering to the industry-standard OpenAPI specification. The traditional API model is fully supported, allowing exposure of all existing APIs.

Benefits

  • Applications employing both modern REST and traditional vSphere client APIs could be simplified as only one wire protocol has to be supported.
  • Partners can use modern productivity tools while developing vSphere-based solutions.
  • Existing APIs can be extended as needed, with the additions available simultaneously through both SOAP/XML and the new protocol.
  • The time-to-market is moderate as the new protocol does not depend on existing APIs and does not require modifications to backend services.

The major legacy aspect that will not be addressed with this project is the API complexity, which will not be reduced.

The protocol is available for Scripting and for SDK-based development.

Scripting - To automate common tasks, customers will use industry-standard tools such as curl and Postman specialized in sending HTTP requests to a server. There are numerous resources on the Web on getting started with these common utilities.

Script consists of initial authentication, followed by a number of requests to achieve the desired functionality. Often, individual requests are developed by customizing readily-available samples to form a template which is then parametrized via the script CLI interface.

SDK-based development
Partners will use readily-available OpenAPI SDKs from 3rd-parties to develop more sophisticated applications.

With this approach, VMware-provided OpenAPI definitions are used in conjunction with a bindings generator to produce API interfaces for various programming languages. By using these bindings and the corresponding OpenAPI runtime, partners may develop a business-logic for managing vSphere based entirely on in-proc API calls.

Requirements
  • vSphere 7.0 deployment
  • Docker or Kubernetes environment
  • JDK 8 or newer
  • 8 GB RAM
Instructions

For more information, please see the SDK User Guide.

Video