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.
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.