<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:complexType name="connectionProfile">
    <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:element minOccurs="0" name="description" type="xs:string"/>
      <xs:element default="ETHERNET" minOccurs="0" name="interface-type" type="interfaceTypeEnum"/>
      <xs:element default="ge-0/0/0" minOccurs="0" name="interface-name" type="xs:string"/>
      <xs:element minOccurs="0" name="ip-type" type="xs:string"/>
      <xs:element minOccurs="0" name="use-nat" type="xs:boolean"/>
      <xs:element name="type" type="xs:string"/>
      <xs:element minOccurs="0" name="dhcp-retransmission-attempt">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <xs:maxInclusive value="6"/>
            <xs:minInclusive value="1"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element minOccurs="0" name="dhcp-retransmission-interval">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <xs:maxInclusive value="64"/>
            <xs:minInclusive value="1"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element minOccurs="0" name="dhcp-server-address" type="xs:string"/>
      <xs:element minOccurs="0" name="dhcp-update-server" type="xs:boolean"/>
      <xs:element minOccurs="0" name="dhcp-lease-never-expires" type="xs:boolean"/>
      <xs:element minOccurs="0" name="dhcp-lease-time">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <xs:maxInclusive value="64"/>
            <xs:minInclusive value="1"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element minOccurs="0" name="dhcp-default-lease" type="xs:boolean"/>
      <xs:element minOccurs="0" name="auth-protocol-type" type="xs:string"/>
      <xs:element minOccurs="0" name="user-name" type="xs:string"/>
      <xs:element minOccurs="0" name="password" type="xs:string"/>
      <xs:element minOccurs="0" name="access-profile-user-name" type="xs:string"/>
      <xs:element minOccurs="0" name="access-profile-password" type="xs:string"/>
      <xs:element minOccurs="0" name="vpi">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <xs:maxInclusive value="6000"/>
            <xs:minInclusive value="0"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element minOccurs="0" name="vci">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <xs:maxInclusive value="6000"/>
            <xs:minInclusive value="0"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element minOccurs="0" name="encapsulation-type" type="xs:string"/>
      <xs:element minOccurs="0" name="concentrator-name" type="xs:string"/>
      <xs:element minOccurs="0" name="service-name" type="xs:string"/>
      <xs:element minOccurs="0" name="time-interval">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <xs:maxInclusive value="6000"/>
            <xs:minInclusive value="0"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element minOccurs="0" name="idle-period">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <xs:maxInclusive value="6000"/>
            <xs:minInclusive value="0"/>
          </xs:restriction>
        </xs:simpleType>
      </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/device-management/modeled-device-management/connection-profiles/{id}</link>
          </space-appinfo>
        </xs:appinfo>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>
   <xs:simpleType name="interfaceTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="ETHERNET"/>
      <xs:enumeration value="ADSL"/>
    </xs:restriction>
  </xs:simpleType>
	<xs:element name="diff" type="DiffType"/>
	<xs:complexType name="DiffType">
		<xs:sequence maxOccurs="unbounded" minOccurs="0">
			<xs:choice maxOccurs="unbounded" minOccurs="0">
				<xs:element name="add" type="ContentType"/>
				<xs:element name="replace" type="ContentType"/>
				<xs:element name="remove" type="ContentType"/>
			</xs:choice>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ContentType">
		<xs:choice maxOccurs="unbounded" minOccurs="0">
		<xs:element name="connection-profile" type="connectionProfile"/>
         <xs:element minOccurs="0" name="name" type="xs:string"/>
         <xs:element minOccurs="0" name="description" type="xs:string"/>
         <xs:element default="ETHERNET" minOccurs="0" name="interface-type" type="interfaceTypeEnum"/>
         <xs:element default="ge-0/0/0" minOccurs="0" name="interface-name" type="xs:string"/>
         <xs:element minOccurs="0" name="ip-type" type="xs:string"/>
         <xs:element minOccurs="0" name="use-nat" type="xs:boolean"/>
         <xs:element name="type" type="xs:string"/>
         <xs:element minOccurs="0" name="dhcp-retransmission-attempt">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <xs:maxInclusive value="6"/>
            <xs:minInclusive value="1"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
         <xs:element minOccurs="0" name="dhcp-retransmission-interval">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <xs:maxInclusive value="64"/>
            <xs:minInclusive value="1"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
         <xs:element minOccurs="0" name="dhcp-server-address" type="xs:string"/>
         <xs:element minOccurs="0" name="dhcp-update-server" type="xs:boolean"/>
         <xs:element minOccurs="0" name="dhcp-lease-never-expires" type="xs:boolean"/>
         <xs:element minOccurs="0" name="dhcp-lease-time">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <xs:maxInclusive value="64"/>
            <xs:minInclusive value="1"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
         <xs:element minOccurs="0" name="dhcp-default-lease" type="xs:boolean"/>
         <xs:element minOccurs="0" name="auth-protocol-type" type="xs:string"/>
         <xs:element minOccurs="0" name="user-name" type="xs:string"/>
         <xs:element minOccurs="0" name="password" type="xs:string"/>
         <xs:element minOccurs="0" name="access-profile-user-name" type="xs:string"/>
         <xs:element minOccurs="0" name="access-profile-password" type="xs:string"/>
         <xs:element minOccurs="0" name="vpi">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <xs:maxInclusive value="6000"/>
            <xs:minInclusive value="0"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
         <xs:element minOccurs="0" name="vci">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <xs:maxInclusive value="6000"/>
            <xs:minInclusive value="0"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
         <xs:element minOccurs="0" name="encapsulation-type" type="xs:string"/>
         <xs:element minOccurs="0" name="concentrator-name" type="xs:string"/>
         <xs:element minOccurs="0" name="service-name" type="xs:string"/>
         <xs:element minOccurs="0" name="time-interval">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <xs:maxInclusive value="6000"/>
            <xs:minInclusive value="0"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
         <xs:element minOccurs="0" name="idle-period">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <xs:maxInclusive value="6000"/>
            <xs:minInclusive value="0"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>		
		</xs:choice>
		<xs:attribute name="sel" type="xs:string" use="required"/>
	</xs:complexType>
</xs:schema>
