The vSphere SDK provides a set of APIs that you can use to register extensions with vCenter Server. To develop vSphere extensions, the most important object in the vSphere Extension API is the ExtensionManager managed object.

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.

vCenter Server extensions can have both a client and a server component, or they can consist of just a client component or just a server component. Each instance of an extension is represented by an Extension data object.

You can indicate that an extension manages the virtual machines or vApps that it creates by setting the managedBy property in the ManagedEntityInfo data object for that virtual machine or vApp. When you register an extension with vCenter Server, you can define an icon that represents the virtual machines that the extension manages. Virtual machines that an extension manages display the icon that you define in the inventory of virtual machines in the vSphere client. The vSphere client shows a warning if users try to perform manual operations on a virtual machine or vApp that the extension manages.

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