Author: William Lam
Twitter: @lamw
Website: http://engineering.ucsb.edu/~duonglt/vmware/
You will find latest Downloads, Reference Documentation and Community Discussions and links to resources.
Help us improve our document, provide additional useful information and share with a friend.
Let's define two very important vocabulary words -
Wikipedia defines an API as:
Source: http://en.wikipedia.org/wiki/Application_programming_interface
An API may be:
Source: http://en.wikipedia.org/wiki/Sdk
It may be something as simple as an application programming interface (API) in the form of some files to interface to a particular programming language or include sophisticated hardware to communicate with a certain embedded system.Simply put, VMware exposes the VI3/vSphere 4 API as a Web Service API that utilizes (WSDL,SOAP and HTTP) to access server-side objects. From the above API defintion, an API can be language-indepednent, which is exactly what VMware has done to allow development from the various rich scripting and programming languages such as Perl, PowerCLI, C#, .net and Java. These are the various SDK's or "bindings" that have been created to allow administrators and developers to write a simple scripts to automate a task or complex applications to monitor, deploy or configure the wide ranges of componets in the VI/vSphere platform.
With the advent of ESXi which is basically ESX without the Service Console, managing and configuring ESXi has slightly changed. VMware wanted to provide some continutity when managing and configuring ESXi and decided to duplicate majority of the esxcfg-* commands and functionality into a set of "remote" esxcfg-* commands which utilizes the VI/vSphere API and hence RCLI/vCLI was born. The RCLI (Remote Command Line Interface) has been renamed to vCLI (vSphere Command Line Interface) with the release of vSphere.
Here is a table of the new vSphere names from the old VI3 names for the various SDKs/APIs/Toolkits
Audience | vSphere 4.0 | VMware Infrastructure 3.x |
Developer | vSphere Web Services SDK 4.0\ | VMware Infrastructure SDK |
Developer | vSphere SDK for Perl 4.0\ | VMware Infrastructure Perl Toolkit |
Developer | vSphere SDK for Java (Tech Preview)\ | VMware Infrastructure for Java (Tech Preview) |
Administrator | vSphere PowerCLI 4.0\ | VMware Infrastructure Toolkit for Windows |
Developer | vSphere Guest SDK 4.0\ | VMware Guest SDK |
Developer | VIX API 1.7\ | VIX API |
Developer | Virtual Disk Development Kit 1.1\ | Virtual Disk Development Kit |
Developer | VMware Studio 1.0\ | VMware Studio 1.0 |
Developer | CIM SDK 4.0\ | CIM SDK |
Administrator | vSphere Management Assistant 4.0 (vMA 4.0)\ | VMware Infrastructure Management Assistant (VIMA 1.0) |
Administrator | vSphere Command Line Interface (vCLI) 4.0\ | VMware Infrastructure RCLI |
Administrator | VMware OVF Tool 1.0\ | Not Available |
Great article, seems like the perfect path for mastering the SDK for Perl