The vSphere SDK provides a set of APIs that you can use to create extensions for vCenter Server. The key SDK objects for extension development are ExtensionManager and Extension.

You register an extension with the ExtensionManager managed object in a vCenter Server instance. Extensions can add new objects to the vCenter inventory. Extensions define tasks, events, and faults that relate to actions that the solution performs on the objects, the events that occur in the extension, and the problems that the objects encounter. You can also use ExtensionManager to add new UI elements to the vSphere Client to allow users to interact with the objects that the extension provides to vCenter Server.

Since vSphere 5.0, vCenter Solutions Manager adds data objects to the vSphere Extension APIs that integrate extensions as vCenter solutions that you can manage in Solutions Manager. Solutions Manager adds properties to the Extension object that obtain Solutions Manager integration information from the Solutions Manager data objects.

For information about how to develop vSphere client extensions, see the VMware vSphere Client Plugins Documentation at https://www.vmware.com/support/developer/vc-sdk/vcplugin/.

For information about developing vSphere applications, see the vSphere Web Services SDK Programming Guide and the VMware vSphere API Reference in the vSphere SDK Documentation Center at https://www.vmware.com/support/developer/vc-sdk/.

A vSphere solution must register with vCenter Server as an extension. If you register a solution with vCenter Server, you can mark virtual machines as belonging to that solution, and integrate it with Solutions Manager and with ESX Agent Manager.

You must provide information about an extension when you register it with vCenter Server.