Solutions must provide data about their health status to vCenter Server in XML documents.

The health status XML documents that a solutions pushes to vCenter Server must conform to the VMware health schema.

<?xml version="1.0" encoding="utf-8"?>
 <xs:schema targetNamespace="http://www.vmware.com/vi/healthservice"
             elementFormDefault="qualified"
             xmlns="http://www.vmware.com/vi/healthservice"
             xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0">

   <xs:complexType name="healthType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <xs:element name="status" minOccurs="1" maxOccurs="1">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="green" />
            <xs:enumeration value="yellow" />
            <xs:enumeration value="red" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="message" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType mixed="true">
          <xs:sequence>
            <xs:element name="param" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
          <xs:attribute name="id" type="xs:string" use="required"/>
          <xs:attribute name="level" use="required">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="info" />
                <xs:enumeration value="warning" />
                <xs:enumeration value="alert" />
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
          <xs:attribute name="time" type="xs:dateTime" use="required"/>
        </xs:complexType>
      </xs:element>
      <xs:element name="health" type="healthType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="id" type="xs:string" use="required"/>
   </xs:complexType>

   <xs:element name="vimhealth">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="health" type="healthType" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="schemaVersion" type="xs:decimal" use="required"/>
    </xs:complexType>
   </xs:element>
</xs:schema>