Specifying Remote Plug-in Compatibility
The vSphere Client provides a way to specify compatibility between remote plug-ins and
vCenter Server versions, and also compatibility with public cloud and private cloud
environments.
When a remote plug-in is registered with a
vCenter Server instance, each linked instance is notified. Each notified instance responds by
checking compatibility constraints specified in the plug-in manifest. The constraints
determine whether the notified instance will involve the plug-in in future requests that
access vSphere resources on the registration instance.
Each notified instance must satisfy client
constraints, and the registration instance must satisfy server constraints, to enable plug-in
traffic. If both sides meet the constraint conditions, the notified instance deploys the
plug-in for future connections to the registration instance.
Deployment includes configuring extension point
metadata to deploy plug-in views in the vSphere Client user interface, and setting proxy rules
to forward view requests to the plug-in server. This applies to views that access vSphere
resources that the vCenter Server manages.
In the plug-in manifest file you can specify
two points of control for plug-in compatibility. First, you can control whether any vCenter
Server instance is compatible with the plug-in's user interface views. You specify this with
the
vsphere.client
property. Second, you can control whether the plug-in is
compatible with a vCenter Server instance where it is registered. You specify this with the
vcenter.server
property.For example, if your plug-in is compatible with
only an on-premises vCenter Server, you should specify that limitation in the
vcenter.server
object in the manifest. If the plug-in is registered in a
cloud environment by mistake, vsphere-ui will refuse to deploy it. Or if your plug-in is
incompatible with vSphere Client versions before 8.0, you should specify a minimum version of
8.0 in the vsphere.client
manifest object. If a user connects to an earlier
version vCenter Server, the client refuses to display any view served by the plug-in.To specify compatibility constraints, modify the
requirements
object in the remote plug-in manifest file. The following
nested objects are available to specify compatibility:- vcenter.serverUse this object to specify environments and versions of vCenter Server on which the plug-in can be deployed. You can specify these properties:
- environmentsA specifier array for vCenter Servers. If propertyenvironmentsis specified in objectvcenter.server, the plug-in can only be deployed there. If this property is absent, the plug-in can be deployed from any vCenter Server it is registered with. Legal values:
- onprem
- cloud
- versionA string containing a version or range of versions for vCenter Server instances where the plug-in can be registered and deployed. Legal formats:
- version
- [= an inclusive range of compatible versionsversion,version]
- (= an exclusive range of compatible versionsversion,version)
- [= a minimum versionversion, )
- (,= all prior versionsversion)
where
version
is an integer or a series of dot-separated integers: n
[.n
[.n
[.n
]]]Although bracket and parenthesis look unmatched,
"[" is inclusive and "(" is exclusive. For example [8.0, 9.0) means everything from 8.0 up to
but not including 9.0.
A best practice is to specify the form
[
to indicate
compatibility that begins at one major release and includes all minor releases up to, but not
including, the next major release.version
, version
)The
version
property in this
context applies to a vCenter Server instance with which a remote plug-in is registered. If a
version constraint is present in the vcenter.server
object,
vsphere-ui
processes in all linked vCenter Server instances will verify
that the registration instance satisfies the version constraint. If it does not,
vsphere-ui
will not deploy the plug-in for connections to the registration
instance of vCenter Server. If the version
property is absent, any
vsphere-ui
is free to deploy the plug-in if other compatibility constraints
are satisfied.- vsphere.clientUse this object to specify environments and versions of vSphere Client that can display the views served by the plug-in. When the plug-in is registered on one vCenter Server instance, and a user connects to a second vCenter Server instance, thevsphere-uiof the second instance will display plug-in views for resources managed by the registration instance only if the second instance satisfies thevsphere.clientcompatibility requirements.
- environmentsA specifier array for vCenter Servers. If propertyenvironmentsis specified in objectvcenter.server, the plug-in can only be deployed there. If this property is absent, the plug-in can be deployed from any vCenter Server it is registered with. Legal values:
- onprem
- gateway
- cloud
- versionA string containing a version or range of versions for vSphere environments. If theversionproperty is present in thevsphere.clientobject, it limits the versions that can deploy the plug-in to access resources on a vCenter Server instance where the plug-in is registered. Legal formats are:
- version
- [= an inclusive range of compatible versionsversion,version]
- (= an exclusive range of compatible versionsversion,version)
- [= a minimum versionversion, )
- (,= all prior versionsversion)
where
version
is an integer
or a series of dot-separated integers:
n
[.n
[.n
[.n
]]]