Specifying Remote Plug-in Compatibility
The vSphere Client provides a way to specify compatibility between remote plug-ins and vCenter Server versions. You can also specify 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 path applies to views that access vSphere resources managed by the registration instance of vCenter Server.
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 suppose your plug-in is incompatible with
vSphere Client versions before 7.0. In that case, you should specify a minimum version of 7.0
in the vsphere.client
object in the manifest. If a user connects to a vCenter
Server instance with an earlier version number, it will refuse 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 obects are available to specify compatibility:
-
vcenter.server
Use this object to specify environments and versions of vCenter Server on which the plug-in can be deployed. You can specify these properties:
-
environments
An array of specifiers for vCenter Server environments. If theenvironments
property is present in thevcenter.server
object, the values specified limit the environments from which the plug-in can be deployed. If theenvironments
property is absent, the plug-in can be deployed from any vCenter Server with which it was registered. Legal values are:onprem
cloud
-
version
A string containing a version or range of versions for vCenter Server instances where the plug-in can be registered and deployed. Legal formats are:
-
version = a single compatible version string
-
[version, version]
= an inclusive range of compatible versions -
(version, version)
= an exclusive range of compatible versions -
[version, )
= a minimum version -
(, version)
= all prior versions
-
-
where version is an integer or a series of dot-separated integers: n[.n[.n[.n]]]
[version, version)
to indicate
compatibility that begins at one major release and includes all minor releases up to, but not
including, the next major release.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.client
Use 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, the
vsphere-ui
of the second instance will display plug-in views for resources managed by the registration instance only if the second instance satisfies thevsphere.client
compatibility requirements.-
environments
An array of specifiers for vSphere environments. If theenvironments
property is present in thevsphere.client
object, the values specified limit the environments that can deploy the plug-in to access resources on a vCenter Server instance where the plug-in is registered. If theenvironments
property is absent, any environment can deploy the plug-in to access resources on a vCenter Server instance where the plug-in is registered. Legal values are:onprem
gateway
cloud
-
version
A string containing a version or range of versions for vSphere environments. If the
version
property is present in thevsphere.client
object, 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 = a single compatible version string
-
[version, version]
= an inclusive range of compatible versions -
(version, version)
= an exclusive range of compatible versions -
[version, )
= a minimum version -
(, version)
= all prior versions
-
-
where version is an integer
or a series of dot-separated integers:
n[.n[.n[.n]]]