When you prepare an OVF for a plug-in solution, the metadata available to the virtual machine includes solution properties that control how the virtual machine registers itself with a vCenter Server instance. These properties, with their subproperties and recommended practices, are as follows.

vmw.vsphereui.solutioninstall.solutionId

Subproperty Required? Value Best Practice
Category no vendor-defined vSphere Client Plugin Configuration (read-only)
Purpose: Distinguish groups of related properties
Label no vendor-defined Solution ID
Purpose: User-friendly property label
Key class ID no
Key ID Fixed value vmw.vsphereui.solutioninstall.solutionId
Purpose: Unique property identifier
Key instance ID no
Description no vendor-defined Include vendor identification
Purpose: User-friendly brief description of solution purpose
Static property yes true (checked)
Purpose: Distinguish a fixed property of the solution
Type Fixed value String choice
Purpose: Data format
User configurable Fixed value true (checked)
Choice list yes vendor-defined Reverse domain name notation, in quotes, single value
Purpose: Uniquely identify solution (for single plug-in solution can be same as plug-in ID)
Default value yes vendor-defined Value from choice list
Purpose: Assign ID value to deployed solution

vmw.vsphereui.solutioninstall.pluginId

Subproperty Required? Value Best Practice
Category no vendor-defined vSphere Client Plugin Configuration (Read-only)
Purpose: Distinguesh groups of related properties
Label no vendor-defined Plugin ID
Purpose: User-friendly property label
Key class ID no
Key ID Fixed value vmw.vsphereui.solutioninstall.pluginId
Purpose: Unique property identifier
Key instance ID no
Description no vendor-defined Include vendor identification
Purpose: User-friendly brief description of plug-in or solution purpose
Static property yes true (checked)
Purpose: Distinguish a fixed property of the solution
Type Fixed value String choice
Purpose: Data format
User configurable Fixed value true (checked)
Choice list yes vendor-defined Reverse domain name notation, in quotes, single value
Purpose: Uniquely identify plug-in
Default value yes vendor-defined Value from choice list
Purpose: Assign ID value to deployed plug-in

vmw.vsphereui.solutioninstall.vCenterSupport

Subproperty Required? Value Best Practice
Category no vendor-defined vSphere Client Plugin Configuration (Read-only)
Purpose: Distinguesh groups of related properties
Label no vendor-defined vCenter Servers registration support
Purpose: User-friendly property label
Key class ID no
Key ID Fixed value vmw.vsphereui.solutioninstall.vCenterSupport
Purpose: Unique property identifier
Key instance ID no
Description no vendor-defined Include link to solution documentation
Purpose: User-friendly brief description of plug-in topology
Static property yes true (checked)
Purpose: Distinguish a fixed property of the solution
Type Fixed value String choice
Purpose: Data format
User configurable Fixed value true (checked)
Choice list yes 'Single' or 'Multiple' Specify 'Multiple' if shared server-side context or low request volume
Purpose: 'Single' restricts plug-in to registering with a single vCenter Server instance
Default value yes vendor-defined Value from choice list
Purpose: Assign chosen value to deployed plug-in

vmw.vsphereui.solutioninstall.requiredVcVersion

Note: As of vSphere 8.0 U1. Neither vSphere 8.0 nor vSphere 7.0 U3 support this property.

(optional property)

Subproperty Required? Value Best Practice
Category no vendor-defined vSphere Client Plugin Configuration (Read-only)
Purpose: Distinguish groups of related properties
Label no vendor-defined vCenter Servers Minimum Version
Purpose: User-friendly property label
Key class ID no
Key ID Fixed value vmw.vsphereui.solutioninstall.requiredVcVersion
Purpose: Unique property identifier
Key instance ID no
Description no vendor-defined Include link to solution documentation
Purpose: User-friendly brief explanation of reason for minimum version
Static property yes true (checked)
Purpose: Distinguish a fixed property of the solution
Type Fixed value String choice
Purpose: Data format
User configurable Fixed value true (checked)
Choice list yes vendor-defined
Purpose: Specify the minimum vCenter Server version that can support this plug-in
Default value yes vendor-defined Value from choice list
Purpose: Assign chosen value to deployed plug-in

vmw.vsphereui.solutioninstall.legacyExtensionId

(optional property)
Subproperty Required? Value Best Practice
Category no vendor-defined vSphere Client Plugin Configuration (Read-only)
Purpose: Distinguesh groups of related properties
Label no vendor-defined Legacy Extension ID
Purpose: User-friendly property label
Key class ID no
Key ID Fixed value vmw.vsphereui.solutioninstall.legacyExtensionId
Purpose: Unique property identifier
Key instance ID no
Description no vendor-defined Include vendor identification, link to documentation
Purpose: Brief description of legacy plug-in replacement strategy
Static property yes true (checked)
Purpose: Distinguish a fixed property of the solution
Type Fixed value String choice
Purpose: Data format
User configurable Fixed value true (checked)
Choice list yes vendor-defined Reverse domain name notation, in quotes, single value
Purpose: Identify the plug-in that this plug-in replaces; facilitate check for legacy plug-in already installed
Default value yes vendor-defined Value from choice list
Purpose: Assign chosen value to deployed plug-in

vmw.vsphereui.solutioninstall.preventInstallationWhenLegacyExtension

(optional property)
Subproperty Required? Value Best Practice
Category no vendor-defined vSphere Client Plugin Configuration (Read-only)
Purpose: Distinguish groups of related properties
Label no vendor-defined Prevent installation if legacy extension
Purpose: User-friendly property label
Key class ID no
Key ID Fixed value vmw.vsphereui.solutioninstall.preventInstallationWhenLegacyExtension
Purpose: Unique property identifier
Key instance ID no
Description no vendor-defined Include vendor identification, link to documentation
Purpose: Brief description of legacy plug-in replacement strategy
Static property yes true (checked)
Purpose: Distinguish a fixed property of the solution
Type Fixed value String choice
Purpose: Data format
User configurable Fixed value true (checked)
Choice list Fixed value 'true' or 'false'
Purpose: Indicate condition for replacing legacy plug already installed
Default value yes vendor-defined Value from choice list
Purpose: Assign chosen value to deployed plug-in

Plug-in Properties XML Example

An example of the <ProductSection> of an OVF file, containing the three required plug-in properties with example values, follows:
    <ProductSection>
      <Info>Information about the installed software</Info>
      <Product>Photonique</Product>
      <Vendor>Example Inc.</Vendor>
      <Version>4.0</Version>
      <FullVersion>4.0</FullVersion>
      <Category>vSphere Client Plugin Configuration (Read-only)</Category>
      <Property ovf:qualifiers="ValueMap{&quot;Single&quot;}" ovf:userConfigurable="true" ovf:value="Single" ovf:type="string" ovf:key="vmw.vsphereui.solutioninstall.vCenterSupport">
        <Label>vCenter Servers registration support</Label>
        <Description/>
      </Property>
      <Property ovf:qualifiers="ValueMap{&quot;com.example.solution.id&quot;}" ovf:userConfigurable="true" ovf:value="com.example.solution.id" ovf:type="string" ovf:key="vmw.vsphereui.solutioninstall.solutionId">
        <Label>Solution ID</Label>
        <Description/>
      </Property>
      <Property ovf:qualifiers="ValueMap{&quot;com.example.plugin.id&quot;}" ovf:userConfigurable="true" ovf:value="com.example.plugin.id" ovf:type="string" ovf:key="vmw.vsphereui.solutioninstall.pluginId">
        <Label>Plugin ID</Label>
        <Description/>
      </Property>
    </ProductSection>