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

  <xs:element name="add-device-discovery-rule-by-csv-request" type="addDeviceDiscoveryRuleByCsvRequest"/>

  <xs:complexType name="gen_add-device-discovery-rule-by-csv-request-device-targets-device-targets-device-ssh-credentials-device-ssh-credentials">
    <xs:sequence>
       <xs:element name="id" type="xs:int">
         <xs:annotation>
          <xs:appinfo>
            <space-appinfo>
                <read-only/>
            </space-appinfo>
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="username" type="xs:string"/>
      <xs:element minOccurs="0" name="pass-phrase" type="xs:string"/>
      <xs:element minOccurs="0" name="credential-type" type="credentialTypeEnum"/>
      <xs:element minOccurs="0" name="private-key" type="xs:string"/>
      <xs:element default="false" name="keybased" type="xs:boolean"/>
      <xs:element name="password" type="xs:string"/>
      <xs:element minOccurs="0" name="upload-key-username" type="xs:string"/>
      <xs:element minOccurs="0" name="upload-key-password" type="xs:string"/>
    </xs:sequence>
    <xs:attribute name="uri" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="gen_add-device-discovery-rule-by-csv-request-device-targets-device-targets-device-ssh-credentials">
    <xs:sequence>
      <xs:element maxOccurs="unbounded" minOccurs="0" name="device-ssh-credential" type="gen_add-device-discovery-rule-by-csv-request-device-targets-device-targets-device-ssh-credentials-device-ssh-credentials"/>
    </xs:sequence>
    <xs:attribute name="uri" type="xs:string"/>
    <xs:attribute name="total" type="xs:int"/>
  </xs:complexType>

  <xs:complexType name="gen_add-device-discovery-rule-by-csv-request-device-targets-device-targets-device-fingerprints-device-fingerprints">
    <xs:sequence>
       <xs:element name="id" type="xs:int">
         <xs:annotation>
            <xs:appinfo>
              <space-appinfo>
                 <read-only/>
             </space-appinfo>
            </xs:appinfo>
         </xs:annotation>
      </xs:element>
      <xs:element name="host-name" type="xs:string"/>
      <xs:element name="fingerprint" type="xs:string"/>
    </xs:sequence>
    <xs:attribute name="uri" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="gen_add-device-discovery-rule-by-csv-request-device-targets-device-targets-device-fingerprints">
    <xs:sequence>
      <xs:element maxOccurs="unbounded" minOccurs="0" name="device-fingerprint" type="gen_add-device-discovery-rule-by-csv-request-device-targets-device-targets-device-fingerprints-device-fingerprints"/>
    </xs:sequence>
    <xs:attribute name="uri" type="xs:string"/>
    <xs:attribute name="total" type="xs:int"/>
  </xs:complexType>

  <xs:complexType name="gen_add-device-discovery-rule-by-csv-request-add-device-discovery-rule-by-csv-request-device-targets-device-targets-tag-list">
    <xs:sequence>
      <xs:element maxOccurs="unbounded" minOccurs="0" name="tag" type="xs:string"/>
    </xs:sequence>
    <xs:attribute name="uri" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="gen_add-device-discovery-rule-by-csv-request-device-targets-device-targets">
    <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="device-ssh-credentials" type="gen_add-device-discovery-rule-by-csv-request-device-targets-device-targets-device-ssh-credentials">
            <xs:annotation>
               <xs:appinfo>
                  <space-appinfo>
                     <collection/>
                  </space-appinfo>
               </xs:appinfo>
            </xs:annotation>
         </xs:element>
      <xs:element name="upper-ip" type="xs:string"/>
      <xs:element minOccurs="0" name="device-fingerprints" type="gen_add-device-discovery-rule-by-csv-request-device-targets-device-targets-device-fingerprints">
            <xs:annotation>
               <xs:appinfo>
                  <space-appinfo>
                     <collection/>
                  </space-appinfo>
               </xs:appinfo>
            </xs:annotation>
         </xs:element>
      <xs:element name="lower-ip" type="xs:string"/>
      <xs:element name="host-name" type="xs:string"/>
      <xs:element name="subnet-mask" type="xs:string"/>
      <xs:element name="base-ip" type="xs:string"/>
      <xs:element minOccurs="0" name="tags" type="gen_add-device-discovery-rule-by-csv-request-add-device-discovery-rule-by-csv-request-device-targets-device-targets-tag-list">
            <xs:annotation>
               <xs:appinfo>
                  <space-appinfo>
                     <collection/>
                  </space-appinfo>
               </xs:appinfo>
            </xs:annotation>
         </xs:element>
      <xs:element name="ip-address" type="xs:string"/>
    </xs:sequence>
    <xs:attribute name="uri" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="gen_add-device-discovery-rule-by-csv-request-device-targets">
    <xs:sequence>
      <xs:element maxOccurs="unbounded" minOccurs="0" name="device-target" type="gen_add-device-discovery-rule-by-csv-request-device-targets-device-targets"/>
    </xs:sequence>
    <xs:attribute name="uri" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="gen_add-device-discovery-rule-by-csv-request-device-snmp-details">
    <xs:sequence>
      <xs:element name="authentication-password" type="xs:string"/>
      <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 name="privacy-password" type="xs:string"/>
      <xs:element name="snmpv1v2c-community" type="xs:string"/>
      <xs:element name="user-name" type="xs:string"/>
      <xs:element name="snmp-auth-type" type="snmpUserAuthenticationTypeEnum"/>
      <xs:element name="privacy-type" type="snmpPrivacyTypeEnum"/>
    </xs:sequence>
    <xs:attribute name="uri" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="gen_add-device-discovery-rule-by-csv-request-discovery-action-params-discovery-action-params">
    <xs:sequence>
      <xs:element name="parameter" type="xs:string"/>
      <xs:element name="parameter-value" type="xs:string"/>
    </xs:sequence>
    <xs:attribute name="uri" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="gen_add-device-discovery-rule-by-csv-request-discovery-action-params">
    <xs:sequence>
      <xs:element maxOccurs="unbounded" minOccurs="0" name="discovery-action-additional-param" type="gen_add-device-discovery-rule-by-csv-request-discovery-action-params-discovery-action-params"/>
    </xs:sequence>
    <xs:attribute name="uri" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="addDeviceDiscoveryRuleByCsvRequest">
    <xs:sequence>
      <xs:element minOccurs="0" name="id" type="xs:int">
            <xs:annotation>
               <xs:appinfo>
                  <space-appinfo>
                     <filterable/>
                     <read-only/>
                     <sortable/>
                  </space-appinfo>
               </xs:appinfo>
            </xs:annotation>
         </xs:element>
      <xs:element name="discovery-profile-name" type="xs:string">
     	 <xs:annotation>
           <xs:appinfo>
              <space-appinfo>
                  <filterable/>
                  <sortable/>
              </space-appinfo>
           </xs:appinfo>
         </xs:annotation>
      </xs:element>
      <xs:element name="target-details" type="xs:string">
         <xs:annotation>
            <xs:appinfo>
              <space-appinfo>
                  <filterable/>
                  <sortable/>
              </space-appinfo>
            </xs:appinfo>
         </xs:annotation>
      </xs:element>
      <xs:element default="false" name="use-ping" type="xs:boolean"/>
      <xs:element default="false" name="use-nat" type="xs:boolean"/>
      <xs:element default="true" minOccurs="0" name="sharable" type="xs:boolean"/>
      <xs:element default="false" name="use-snmp" type="xs:boolean"/>
      <xs:element name="device-targets" type="gen_add-device-discovery-rule-by-csv-request-device-targets">
            <xs:annotation>
               <xs:appinfo>
                  <space-appinfo>
                     <collection/>
                  </space-appinfo>
               </xs:appinfo>
            </xs:annotation>
         </xs:element>
      <xs:element name="device-snmp-details" type="gen_add-device-discovery-rule-by-csv-request-device-snmp-details"/>
      <xs:element name="device-snmp-version" type="deviceSnmpVersionEnum">
         <xs:annotation>
            <xs:appinfo>
              <space-appinfo>
                 <filterable/>
                 <sortable/>
              </space-appinfo>
            </xs:appinfo>
         </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="discovery-action-additional-params" type="gen_add-device-discovery-rule-by-csv-request-discovery-action-params">
            <xs:annotation>
               <xs:appinfo>
                  <space-appinfo>
                     <collection/>
                  </space-appinfo>
               </xs:appinfo>
            </xs:annotation>
         </xs:element>
    </xs:sequence>
    <xs:attribute name="uri" type="xs:string"/>
  </xs:complexType>

  <xs:simpleType name="credentialTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="CREDENTIAL_BASED"/>
      <xs:enumeration value="KEY_BASED"/>
      <xs:enumeration value="CUSTOM_KEY_BASED"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="snmpUserAuthenticationTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="MD5"/>
      <xs:enumeration value="SHA1"/>
      <xs:enumeration value="NONE"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="snmpPrivacyTypeEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="AES128"/>
      <xs:enumeration value="AES192"/>
      <xs:enumeration value="AES256"/>
      <xs:enumeration value="DES"/>
      <xs:enumeration value="NONE"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="deviceSnmpVersionEnum">
    <xs:restriction base="xs:string">
      <xs:enumeration value="NOT_APPLICABLE"/>
      <xs:enumeration value="SNMPV1V2C"/>
      <xs:enumeration value="SNMPV3"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
