Introduction to vSphere APIs
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.
API | function | protocol | REST | Java | Python | C# | Other |
---|---|---|---|---|---|---|---|
vSphere Automation API | datacenter management advanced features | JSON-RPC | Yes | SDK | SDK | Open source | Open source Perl, Ruby |
VIM Web Services API | datacenter management basic features | SOAP-XML | SDK | see pyvmomi add-on | build from WSDL | see govmomi add-on | |
VIM JSON protocol | (same as Web Services) | JSON-RPC | Yes | ||||
vCenter Server Management API | vCenter Server Appliance admin | JSON-RPC | Yes | SDK | SDK | Open source | Open source Perl, Ruby |
Storage Policy API | storage affinity profiles | SOAP-XML | SDK | build from WSDL | |||
Storage Monitoring API | manage storage arrays | SOAP-XML | SDK | build from WSDL | |||
VSAN API | pools ESXi attached storage | SOAP-XML | SDK | SDK | SDK | PowerCLi; Open source Perl, Ruby | |
Virtual Storage Lifecycle Management (VSLM) | manage virtual disks standalone | SOAP-XML | SDK | build from WSDL | |||
ESX Agent Manager (EAM) | vSphere extensions & services | SOAP-XML | SDK | ||||
pyvmomi | layer on Web Services | SOAP-XML | Yes | ||||
govmomi | layer on Web Services | SOAP-XML | Go |