VMware {code}

An Overview of VMware Cloud on AWS APIs

As part of vSphere 6.5 we revolutionized the programmatic interaction of the product by enabling new REST based APIs and Open Sourced SDKs to provide a developer and automation experience which delighted users. Continuing this work and moving into the cloud we are looking to provide an equal if not better experience with VMware Cloud on AWS.

The new vSphere 6.5 REST APIs which are used to manage both new features of the 6.5 release and some existing features were modernized to provide a superior experience, continuing with this experience, the VMware Cloud on AWS APIs are RESTful, making use of CRUD (Create, Retrieve, Update, Delete) based actions and utilizing JSON formatted inputs and outputs for the data structure. The documentation for these APIs will also be available in numerous ways both online and inline.

There are three main APIs, among several others, which users should be aware of that allow you to programmatically access the VMware Cloud on AWS features and surrounding areas to work with the environment and automate or develop to succeed in your use cases:
VMware Cloud on AWS API Layers

We will be taking a bit deeper look at the first three in the following sections.

Cloud Services Platform API

The Cloud Services Platform (CSP) APIs are available for all cloud services which are offered by VMware. They contain the core features that customers will use when working with multiple cloud services from VMware.

In the context of VMware Cloud on AWS, the main use of the CSP APIs will be to serve as the authentication point. Once authenticated, the authorization token will be valid against this API as well as the VMware Cloud on AWS API. The CSP API also serves as the main point for Organization (Org) and VMware Cloud on AWS console user management. Some of the methods include displaying all the users within an Org, adding users to an Org, and removing users from an Org.

VMware Cloud on AWS API

The VMware Cloud on AWS (VMC) API will be the endpoint for most actions available within the VMware Cloud on AWS console. This API, which is currently in Technical Preview, allows for SDDC management actions like creating or removing SDDCs with a single API call, adding or removing the elastic hardware provided by the VMC service and adding the ESXi hosts to our SDDC, and handling network operations for the SDDC. We can also gather task based information on items which take place in the VMC environment.

Access to the VMC API is also be available in multiple ways. First off, since this API is RESTful, it can be consumed with your preferred programming language or client which can talk REST. The open-sourced vSphere Automation SDKs can be used as well and are available in programming languages like Python, Java, Ruby, and more. This API can then be explored through a built in API Explorer. The features of VMC can also be accessed through the command line with PowerCLI 6.5.4 and a technical preview of the new version of Datacenter CLI (DCLI). DCLI, which is available as a separate download, can be installed on Windows, MacOS, and Linux. More posts are planned to explain these areas in depth in the future so stay tuned!

Deployed SDDC APIs – vSphere API

The last of the APIs are the vSphere APIs. These are the same APIs you already know and love! You will be able to consume these APIs in the exact same way you already do with our on-premises offerings of vSphere. With VMware Cloud on AWS being a managed environment you will of course have limited permissions and certain key differences on areas which you should deploy to but we will dig into these in a future blog post.

Summary

We just reviewed the three API endpoints you will want to become familiar with when accessing VMware Cloud on AWS. The CSP API, which serves as the main authentication point and management point for Orgs and console users. There is the VMC API that is the SDDC management point. Lastly, there are the deployed SDDC APIs themselves which will be the vSphere APIs which hopefully you are already familiar with.

In the next blog, we will cover how to get started using each of these APIs!