Technical

What’s New in vSphere Automation: vSphere APIs, JSON, OpenAPI

(In this five-part blog series, we are discussing new automation features and enhancements in the latest VMware vSphere releases, while also providing a sneak peek into our future plans. vSphere Automation encompasses vSphere APIs, specifically the vSphere Web Services API and vSphere Automation API, in addition to the vSphere Automation SDK and vSphere Management SDK.  

We will also be discussing the latest updates of PowerCLI and the new Power Actions fling release as a remote plugin that allows you to run PowerCLI scripts from the vSphere Client. Last, we will delve into how vSphere integrates with IAC tools, such as Terraform, that enable you to automate your environment using vSphere Terraform and/or VMC Terraform providers. Stay tuned for more!)

VMware vSphere APIs

VMware vSphere has necessarily become more complex over the years and now offers several different types of API technologies to match how customers and partners would like to interact. The two most significant ones today are:

The presence of multiple APIs adds complexity to managing and operating the sophisticated environments that our customers have. This complexity appears in different ways, starting with the need for varied tools, knowledge, and skills depending on the API. Additionally, different APIs are exposed on different endpoints and require different authentication mechanisms, for historical reasons and to help ensure backwards compatibility.

Both categories of APIs are documented separately, each with its own reference guides and code samples. This can cause confusion for our customers because they often assume that they have to choose between the REST API or the SOAP API, but in reality, they need to use both. REST is not a replacement for SOAP APIs, but a complement to them.

Our goal, based on feedback from customers, is to improve APIs in three main ways:

  1. Simplify the consumption of the API.
  2. Simplify the documentation of the API.
  3. Improve developer experience by unifying protocols and toolsets.

Let’s talk about how we are doing that!

JSON Protocol for Web Services APIs

First, beginning in vSphere 8 Update 1, we introduced a new JSON protocol for all VMware vSphere Web Services APIs. This helps unify the development experience, allowing developers to use common toolsets, and converts the SOAP APIs to have a more REST-like approach. This JSON API in vSphere 8 Update 1 and newer provides the full set of functionalities offered by the traditional vim25 SOAP API.

Second, we maintain the same structure, managed objects, and method names, so that customers can migrate existing automation solutions to the new JSON protocol with minimal changes.

Last, we are offering OpenAPI 3.0 specifications in addition to our Virtual Infrastructure JSON API documentation. We are also merging the JSON API documentation into the Automation API documentation, where all the REST services are documented.  This moves us a step closer to having one place for customers to find documentation.

What’s Next?

Our work is not done yet. In the future we will migrate the rest of the public SOAP service interfaces (SPBM, SMS, EAM, VLSM) to these same formats, providing OpenAPI 3.0 specifications for each, and integration with the REST API documentation.

Following this, the next improvement will be to provide a unified authentication mechanism across REST APIs and a new JSON protocol for the SOAP APIs. This will simplify how our customers build their automation solutions and provide a common session across all vSphere services.

The final step of this improvement journey will be to expose all services through a single endpoint, from which our customers can invoke all the vSphere APIs. This will significantly simplify how vSphere APIs are used and provide better documentation, thereby improving the development experience.

Learn More

To learn more about automation with VMware vSphere check out the following links: