The vsphere-ui
process parses the plug-in manifest when the plug-in is registered wih the Extension Manager of vCenter Server, and stores the information as long as the plug-in remains registered. When a user navigates to a Summary tab, Monitor tab, or Configure tab, or when a user clicks the Actions menu, the user interface code in the browser sends a filter query to a plug-in server to determine its choices for dynamic extensions. The plug-in server responds with a visibility choice for each dynamic extension that applies in the current context.
An example message sequence for a filter query is illustrated in the following diagram.
- Reading the manifest file is not part of the filter query sequence. The diagram includes the manifest fragment for context.
- The variable
proxy-base
in the endpoint URL refers to the proxied plug-in server base URL that the client code prefixes to thedynamicUri
in the manifest file. All client queries to the plug-in server pass through the reverse proxy for security reasons. For more information, see Client-Server Communications with Remote Plug-ins.
The client filter query consists of an HTTPS POST request to a dynamicUri
endpoint specified in the plug-in manifest file. The client code chooses the URL configured for the vSphere object type and the extension type that are currently active in the user interface.
true
or
false
) for only the relevant dynamic extensions.
- The body type specifications (
'application/json'
for both request and response). - HTTP cache control settings.
- Identity and authentication headers:
- Node ID (unused)
- The vsphere-ui endpoint URL This tells the plug-in server which vCenter Server manages the context objects.
- The session token for the client's authentication with the vsphere-ui endpoint. This allows the plug-in server to authenticate with vCenter Server to retrieve properties needed to make filtering choices.
'content-type': 'application/json', 'Accept': 'application/json', 'Cache-Control': 'no-cache, no-store, max-age=0', vmware-api-session-id: c621c819-4f65-1b02-2214-c7ac159ad4d4 vmware-api-ui-endpoint-url: https://93.184.216.34/api/ui vmware-api-ui-node-id: 6079314c-d525-43a1-8a54-735f5417f11e
- The API version of the filter query protocol, used to negotiate message format with the plug-in server.
- The locale code.
- A list of object IDs for the current context objects. For dynamic actions, the list of object IDs may be any length. For dynamic views, the list may contain only the object ID that pertains to the Summary tab or Monitor tab or Configure tab that the client is rendering.
apiVersion: "1.0.0" objectIds: ["urn:vmomi:VirtualMachine:vm-1005:27a09c68-d1d6-4fe2-a28f-616949f30930"] locale: "en-US"
- The latest version of the filter query protocol that the server is prepared to handle, used to negotiate message format with the client.
- A list of dynamic items, where each item is an object that contains:
- The
id
ornavigationId
of a dynamic view or theid
of a dynamic menu action. AnavigationId
value is assigned to theid
property in the response object. - Boolean values
visible
to control whether the dynamic extension displays in the user interface, and (as of 8.0 U3)relevant
to control whether to remove it from the interface.
- The
{ apiVersion: "1.0.0", dynamicItems: [ { id: "MonitorDynView", visible: true, relevant: true }, { id: "DeleteAction", visible: false, relevant: false } ] }