The vCenter Extension vService XML Schema defines the <vServiceEnvironmentSection> in the OVF environment of the virtual machine that contains the extension. It also defines the RegisterExtension function that registers the extension with vCenter Server.

<?xml version="1.0"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
        xmlns:xs="http://www.w3.org/2001/XMLSchema"
        xmlns:evs="http://www.vmware.com/schema/vservice/ExtensionVService"
        targetNamespace="http://www.vmware.com/schema/vservice/ExtensionVService"
        elementFormDefault="qualified" attributeFormDefault="qualified">

   <!-- RegisterExtension_Type:
        The command type used in the guest API when registering as a
        vCenter extension. 
   --> 
   <complexType name="RegisterExtension_Type">
      <sequence> 
         <!-- The key of the extension to register -->
         <element name="Key" type="string" />
         <!-- The PEM-encoded certificate of the extension to register -->
         <element name="Certificate" type="string" />
         <any processContents="lax" minOccurs="0" maxOccurs="unbounded" />
      </sequence>
      <anyAttribute namespace="##any" processContents="lax"/>
   </complexType>

   <element name="RegisterExtension" type="evs:RegisterExtension_Type" />
   
   <!-- GuestApi: Contains information for the guest software about how to connect to the
        Extension vService.
   -->
   <element name="GuestApi">
     <complexType>
      <sequence>
         <!-- The URL of the Extension vService guest API -->
         <element name="URL" type="anyURI" />
         <!-- Authentication token for the Extension vService guest API -->
         <element name="Token" type="string" />
         <!-- The X509 thumbprint of the Extension vService server
           certificate.
         -->
         <element name="X509Thumbprint" type="string" />
         <any processContents="lax" minOccurs="0" maxOccurs="unbounded" />
      </sequence>
      <anyAttribute namespace="##any" processContents="lax"/>
     </complexType>
   </element>

   <!-- VCenterApi:
        Contains information for the guest software about how to connect
        to vCenter Server.
   -->

   <element name="VCenterApi">
     <complexType>
      <sequence>
         <!-- The IP address of the vCenter server -->
         <element name="IP" type="string" />
         <!-- The X509 thumbprint of the vCenter server certificate -->
         <element name="X509Thumbprint" type="string" />
         <!-- The HTTP port of the vCenter server -->
         <element name="HttpPort" type="int" />
         <!-- The HTTPS port of the vCenter server -->
         <element name="HttpsPort" type="int" />
         <!-- 
             The managed object reference of this virtual machine
             in the vCenter server
         -->
         <element name="SelfMoRef" type="string" />
         <any processContents="lax" minOccurs="0" maxOccurs="unbounded" />
      </sequence>
      <anyAttribute namespace="##any" processContents="lax"/>
     </complexType>
   </element>
</schema>