Contents and structure of an extension
Last Updated December 16, 2024

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
ExtensionManager
and ESX Agent Manager.
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.
An extension can define events, tasks, faults, and privileges for performing operations on the objects that the solution exposes to
vCenter Server
, or on existing
vCenter Server
objects.
  • Events inform users about occurrences in the solution.
  • Tasks are operations that the extension performs.
  • Faults signal errors in the extension to the end users.
  • Privileges define which users or user groups can access the objects in the extension and perform tasks on them.
Solutions typically include Web pages that appear in
vSphere Client
. You can use the pages to configure the solution and to manage the objects that the solution exposes.
An extension is typically a Web application that runs in an application server or a script that
vCenter Server
accesses through a URL. You can implement the Web server features by using any of the following programming languages.
  • Java Servlets or Java Server Pages (JSP)
  • Microsoft Active Server Pages (ASP.NET)
  • Common Gateway Interface (CGI) scripting
  • Static or dynamic HTML pages
An extension performs the following types of tasks:
  • Establishes the connection to
    vCenter Server
    .
  • Registers the extension with
    ExtensionManager
    .
  • Deploys virtual machines or vApps by using Open Virtualization Format (OVF).
  • Deploys VMkernel modules or
    ESXi
    applications as vSphere Installation Bundles (VIB).
  • Exposes the functions of the product that the extension integrates into
    vCenter Server
    .
  • Provides a user interface to access, configure, and use the extension.
To integrate an extension as a solution with
ExtensionManager
, the solution must be a valid extension and it must implement the
Extension.shownInSolutionsManager
property. The solution can also provide information about itself to
vCenter Server
in the
ExtSolutionManagerInfo
object.
The requirements for integrating a solution with ESX Agent Manager are slightly more restrictive than for integrating with
ExtensionManager
. For information about requirements, see How do I integrate solutions with vSphere ESX Agent Manager.
For information about how to develop
vSphere Client
extensions, see the
Developing Remote Plug-ins with the vSphere Client SDK
documentation.
For information about developing vSphere applications, see the
vSphere Web Services SDK Programming Guide
and the
VMware vSphere API Reference
documentation.