Hello,
You can find overview of the different vCenter APIs in the An Introduction to vSphere APIs publication.
Also note that starting with vCenter 8.0u1 there is a REST-like rendering of the vCenter Web Service (VIM) SOAP API called VI/JSON. You can find some more info at Virtual Infrastructure JSON API. Also. there are several blog posts on the subject to get you started https://blogs.vmware.com/code/api/
In terms of functionality the REST APIs (Automation API) cover well new feature of vCenter like tagging, content library, Kubernetes integration, install and upgrade of ESXi and vCenter, certificate management, Virtual Machine Guest DataSets etc.
The SOAP aka vSphere Web Service API (VIM) API covers data centers operations, hosts, cluster management, virtual machine management, network configurations, virtual machine encryption, events, alarms, performance metrics.
It is important to note that there are few more APIs coming with vCenter. These include storage APIs like VSAN, Policy Management, First Class Disk (VSLM), Storage Device Management (Storage Monitoring Service), ESX Agent Manager, Single Sign On.
Beyond this there are APIs you can use from within the Virtual Machines to obtain settings or push data to the virtualization layer i.e. the Guest APIs. There is also library for manipulating VMDKs i.e. the Virtual Disk API.
These days vCenter is usually coupled with other components as part of VMware Cloud Foundation like SDDC Manager, vRealize Operations, NSX, Disaster Recovery, Aria Automation, vCloud Director, VM Operator etc. These have their own APIs that you can use at a higher level of abstraction.
Original Message:
Sent: Mar 28, 2024 09:39 AM
From: Selvalakshmi
Subject: Query Regarding Differences Between vSphere Automation SDK for REST and vSphere Management SDK
I'm currently exploring the vSphere SDKs provided by VMware and would like to understand the practical differences between the vSphere Automation SDK for REST and the vSphere Management SDK, focusing on their functionalities beyond their underlying protocols.
While I understand that the vSphere Automation SDK for REST operates over RESTful APIs and the vSphere Management SDK utilizes SOAP-based APIs, I'm particularly interested in learning about the distinctions based on the tasks they perform within VMware environments.
Could someone please provide insights into the unique capabilities, use cases, and practical scenarios where one SDK might be preferred over the other based on the tasks they facilitate?