<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0">

  <xs:element name="config-template-definition" type="configTemplateDefinition"/>

  <xs:complexType name="gen_config-template-definition-versions">
    <xs:sequence>
      <xs:element maxOccurs="unbounded" minOccurs="0" name="version" type="xs:int"/>
    </xs:sequence>
    <xs:attribute name="uri" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="gen_config-template-def-info-config-templates-config-templates">
    <xs:sequence>
      <xs:element minOccurs="0" name="id" type="xs:int">
        <xs:annotation>
          <xs:appinfo>
            <space-appinfo>
              <read-only/>
            </space-appinfo>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="name" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <space-appinfo>
              <read-only/>
            </space-appinfo>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="href" type="xs:string" use="required">
      <xs:annotation>
        <xs:appinfo>
          <space-appinfo>
            <link>/api/space/config-template-management/config-templates/{id}</link>
          </space-appinfo>
        </xs:appinfo>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="uri" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="gen_config-template-def-info-config-templates">
    <xs:sequence>
      <xs:element maxOccurs="unbounded" minOccurs="0" name="config-template" type="gen_config-template-def-info-config-templates-config-templates"/>
    </xs:sequence>
    <xs:attribute name="uri" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="configTemplateDefinition">
    <xs:sequence>
      <xs:element minOccurs="0" name="id" type="xs:int">
        <xs:annotation>
          <xs:appinfo>
            <space-appinfo>
              <read-only/>
            </space-appinfo>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="name" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <space-appinfo>
              <read-only/>
            </space-appinfo>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="description" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <space-appinfo>
              <read-only/>
            </space-appinfo>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="versions" type="gen_config-template-definition-versions">
        <xs:annotation>
          <xs:appinfo>
            <space-appinfo>
              <collection/>
            </space-appinfo>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="state" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <space-appinfo>
              <read-only/>
            </space-appinfo>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="published" type="xs:boolean">
        <xs:annotation>
          <xs:appinfo>
            <space-appinfo>
              <read-only/>
            </space-appinfo>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="os-version" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <space-appinfo>
              <read-only/>
            </space-appinfo>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="current-version" type="xs:int">
        <xs:annotation>
          <xs:appinfo>
            <space-appinfo>
              <read-only/>
            </space-appinfo>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="device-family" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <space-appinfo>
              <read-only/>
            </space-appinfo>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="last-updated-by" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <space-appinfo>
              <read-only/>
            </space-appinfo>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="last-update-time" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <space-appinfo>
              <read-only/>
            </space-appinfo>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="config-templates" type="gen_config-template-def-info-config-templates">
        <xs:annotation>
          <xs:appinfo>
            <space-appinfo>
              <collection/>
              <read-only/>
            </space-appinfo>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="domain-name" type="xs:string"/>
      <xs:element name="domain-id" type="xs:int"/>
      <xs:element minOccurs="0" name="domain" type="hateoasMethodObject">
        <xs:annotation>
          <xs:appinfo>
            <space-appinfo>
              <read-only/>
            </space-appinfo>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="configuration" type="hateoasMethodObject">
        <xs:annotation>
          <xs:appinfo>
            <space-appinfo>
              <read-only/>
            </space-appinfo>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="uri" type="xs:string"/>
    <xs:attribute name="href" type="xs:string">
      <xs:annotation>
        <xs:appinfo>
          <space-appinfo>
            <link>/api/space/config-template-management/config-template-definitions/{id}</link>
          </space-appinfo>
        </xs:appinfo>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:complexType name="hateoasMethodObject">
    <xs:sequence/>
    <xs:attribute name="href" type="xs:string"/>
  </xs:complexType>
</xs:schema>
