VMware vSphere® is VMware's virtualization platform, which transforms data centers
into aggregated computing infrastructures that include CPU, storage, and networking
resources. vSphere manages these infrastructures as a unified operating environment, and
provides you with the tools to administer the data centers that participate in that
environment. VMware offers a number of powerful APIs and SDKs to help you manage your
virtualization infrastructure.
VMware provides APIs for managing different
aspects of VMware vCenter Server® and the data center. This publication
describes APIs in vSphere release 8.0 and later.
The following table provides a quick
comparison of vSphere APIs with respect to functional capabilities and language
bindings. Each row of the table indicates protocol and language support for an API.
Language support can be a full SDK, an add-on library, or in some cases partial library
support for the API.
vSphere APIs Compared
API
function
SOAP
JSON
Java
Python
Golang
vSphere Automation API
datacenter management advanced features
Yes
SDK
SDK
govmomi (partial)
VIM API
datacenter management basic features
Yes
Yes
SDK
pyvmomi
govmomi
vCenter Server Management API
vCenter Server Appliance admin
Yes
SDK
SDK
govmomi
Storage Policy API
storage affinity
profiles
Yes
SDK
pyvmomi
govmomi
Storage Monitoring
manage storage arrays
Yes
SDK
pyvmomi
govmomi
vSAN API
pooling ESXi attached storage
Yes
SDK
SDK + pyvmomi
SDK
Virtual Storage Lifecycle Management
manage standalone virtual disks
Yes
SDK
build from WSDL
ESX Agent Manager (EAM)
vSphere extensions & services
Yes
SDK
pyvmomi
govmomi
Virtual Disk Development Kit (VDDK)
operate on virtual disks, C language and Java
local
local
VADP
For reference, the following diagram shows
key service endpoints used by different vSphere APIs.