Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
1 result

collected-data.xsd

Blame
  • collected-data.xsd 3.67 KiB
    <?xml version="1.0" encoding="UTF-8"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <xsd:element name="collected-data" type="CollectedData" />
    
        <xsd:complexType name="CollectedData">
            <xsd:all>
                <xsd:element name="agent-version" type="Version" minOccurs="1" />
                <xsd:element name="point-info" type="PointInfo" minOccurs="1" />
                <xsd:element name="interfaces" type="Interfaces" minOccurs="1" />
                <xsd:element name="machine-type" minOccurs="1">
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:string">
                            <xsd:pattern value="client|server"/>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:element>
                <xsd:element name="inventory" type="Inventory" minOccurs="1" />
                <xsd:element name="user-history" type="UserHistory" minOccurs="1" />
                <xsd:element name="mirrors-timestamp" type="xsd:string" minOccurs="1" />
            </xsd:all>
        </xsd:complexType>
    
        <xsd:simpleType  name="Version">
            <xsd:restriction  base="xsd:string">
                <xsd:pattern  value="[0-9]+.[0-9]+.[0-9]+" />
            </xsd:restriction>
        </xsd:simpleType>
    
        <xsd:complexType name="Interfaces">
            <xsd:sequence>
                <xsd:element name="interface" type="Interface" minOccurs="1" maxOccurs="unbounded" />
            </xsd:sequence>
        </xsd:complexType>
    
        <xsd:complexType name="Interface">
            <xsd:attribute name="name" type="xsd:string" use="required" />
            <xsd:attribute name="mac-address" type="MacAddress" use="required" />
        </xsd:complexType>
    
        <xsd:simpleType  name="MacAddress">
            <xsd:restriction  base="xsd:string">
                <xsd:pattern  value="[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}" />
            </xsd:restriction>
        </xsd:simpleType>
    
        <xsd:complexType name="Inventory">
            <xsd:all>
                <xsd:element name="processor" type="xsd:string" minOccurs="1" />
                <xsd:element name="memory" type="xsd:integer" minOccurs="1" />
                <xsd:element name="os" type="xsd:string" minOccurs="1" />
                <xsd:element name="distro" type="xsd:string" minOccurs="1" />
                <xsd:element name="kernel" type="xsd:string" minOccurs="1" />
                <xsd:element name="disks" type="Disks" minOccurs="1" />
            </xsd:all>
        </xsd:complexType>
    
        <xsd:complexType name="Disks">
            <xsd:sequence>
                <xsd:element name="disk" type="Disk" minOccurs="1" maxOccurs="unbounded" />
            </xsd:sequence>
        </xsd:complexType>
    
        <xsd:complexType name="Disk">
            <xsd:all>
                <xsd:element name="id" type="xsd:integer" />
                <xsd:element name="model" type="xsd:string" />
                <xsd:element name="size" type="xsd:integer" />
                <xsd:element name="used" type="xsd:integer" />
            </xsd:all>
        </xsd:complexType>
    
        <xsd:complexType name="UserHistory">
            <xsd:sequence>
                <xsd:element name="user" type="User" minOccurs="0" maxOccurs="unbounded" />
            </xsd:sequence>
        </xsd:complexType>
    
        <xsd:complexType name="User">
            <xsd:all>
                <xsd:element name="id" type="xsd:integer" />
                <xsd:element name="name" type="xsd:string" />
                <xsd:element name="login" type="xsd:string" />
                <xsd:element name="logout" type="xsd:string" />
            </xsd:all>
        </xsd:complexType>
    
        <xsd:complexType name="PointInfo">
            <xsd:all>
                <xsd:element name="idpoint" type="xsd:integer" />
                <xsd:element name="user_count" type="xsd:integer" />
            </xsd:all>
        </xsd:complexType>
    </xsd:schema>