...
- USAGE – the usage of a single feature
- FEATURE – required; the name of the feature
- VERSION – the version of the feature
- USED_LICENSES – the sum of licenses used by users (including borrowed licenses, but excluding reserved licenses)
- DENIED_LICENSES – the sum of denied licenses
- BORROWED_LICENSES – the sum of licenses borrowed by users
- RESERVED_LICENSES – the sum of reserved licenses
- TOTAL_LICENSES – "UNLIMITED" or numeric value of licenses in the feature
- SHARE – the type of license sharing in use
- EXPIRES – "PERMANENT", or an empty string, or the date on which the feature is set to expire, in "YYYY-MM-dd" format - USER – the usage of the feature for a single user
- USERNAME
- HOSTNAME
- IP – the user's IP address
- USED_LICENSES – the number of licenses used by the user
- DENIED_LICENSES – the number of licenses the user was denied
- BORROW_ EXPIRE_TIME – if the used licenses are borrowed, the date when the borrow is due to expire, in "YYYY-MM-DD HH:mm" format
- CHECKOUT_TIME – required; the date on which the user checked out the licenses, in "YYYY-MM-DD HH:mm" format - RESERVATION - reservation for the feature
- TYPE - reservation type, one of: UNKNOWN, DYNAMIC, USER, USERGROUP, HOST, HOSTGROUP, IP, PROJECT, DISPLAY. Defaults to UNKNOWN.
- PATTERN - pattern describing reservation, f.e user name, ip address etc. May include wildcards. Required for type other than UNKNOWN. Defaults to '*' for Unknown.
- TOTAL - total number of reservations
- REMAINING - required; number of unused reservations.
- SINCE - indicates the beginning of reservation period; in "YYYY-MM-DD HH:mm" format
- EXPIRES_AT - indicates the end of reservation period; in "YYYY-MM-DD HH:mm" format
Important:
- USED_LICENSES and DENIED_LICENSES have to be located in separate USER entries.
- All dates and times must be in the format specified for the variable in the list above.
- Only one VENDOR name can be used.
An example of the content for a custom parser XML file is given below.
Code Block | ||
---|---|---|
| ||
<CUSTOM_STAT VENDOR="custom_testdev">
<USAGE FEATURE="App1" VERSION="12.3" USED_LICENSES="2" TOTAL_LICENSES="100" BORROWED_LICENSES="1" SHARE="TEST" EXPIRES="2012-11-20">
<USER USERNAME="user1" HOSTNAME="host1" IP="127.0.0.1" USED_LICENSES="1" CHECKOUT_TIME="2012-05-07 08:41"/>
<USER USERNAME="user2" HOSTNAME="host2" IP="127.0.0.1" USED_LICENSES="1" BORROW_EXPIRE_TIME="2012-05-07 08:43" CHECKOUT_TIME="2012-05-07 08:41"/>
<RESERVATION REMAINING="10"/>
</USAGE>
<USAGE FEATURE="App2" VERSION="1.0" USED_LICENSES="1" DENIED_LICENSES="1" TOTAL_LICENSES="UNLIMITED" RESERVED_LICENSES="1" EXPIRES=”permanent”>
<USER USERNAME="user1" HOSTNAME="host1" IP="127.0.0.1" USED_LICENSES="1" CHECKOUT_TIME="2012-05-07 08:41"/>
<USER USERNAME="user1" HOSTNAME="host1" IP="127.0.0.1" DENIED_LICENSES="1" CHECKOUT_TIME="2012-05-07 08:41"/>
<RESERVATION TYPE="USER" PATTERN="user1" TOTAL="5" />
<RESERVATION TYPE="HOST" PATTERN="host1" TOTAL="1" EXPIRES_AT="2012-01-01 00:00" />
<RESERVATION TYPE="IP" PATTERN="127.0.*.*" TOTAL="1" REMAINING="1" SINCE="2012-01-01 00:00" EXPIRES_AT="2013-01-01 00:00" />
</USAGE>
</CUSTOM_STAT> |
It is important to understand that you validate all XML structure against the following XSD schema:
Important:
- USED_LICENSES and DENIED_LICENSES have to be located in separate USER entries.
- All dates and times must be in the format specified for the variable in the list above.
- Only one VENDOR name can be used.
An example of the content for a custom parser XML file is given below.
Code Block | ||
---|---|---|
| ||
<CUSTOM_STAT VENDOR="custom_testdev">
<USAGE FEATURE="App1" VERSION="12.3" USED_LICENSES="2" TOTAL_LICENSES="100" BORROWED_LICENSES="1" SHARE="TEST" EXPIRES="2012-11-20">
<USER USERNAME="user1" HOSTNAME="host1" IP="127.0.0.1" USED_LICENSES="1" CHECKOUT_TIME="2012-05-07 08:41 | ||
Code Block | ||
| ||
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:simpleType name="xfDate"> <xs:restriction base="xs:string"> <xs:pattern value="\d{4}-\d{2}-\d{2}"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="xfDateTime"> <xs:restriction base="xs:string"> <xs:pattern value="\d{4}-\d{2}-\d{2} \d{2}:\d{2}"/> </xs:restriction> </xs:simpleType> <xs:element name="CUSTOM_STAT"> <xs:complexType> <xs:sequence> <xs:element name="USAGE" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:sequence> <xs:element name="USER" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute type="xs:string" name="USERNAME"/> <xs:attribute type="xs:string" name="HOSTNAME"/> <xs:attribute type="xs:string" name="IP"/> <USER USERNAME="user2" HOSTNAME="host2" IP="127.0.0.1" USED_LICENSES="1" BORROW_EXPIRE_TIME="2012-05-07 08:43" CHECKOUT_TIME="2012-05-07 08:41"/> </USAGE> <USAGE FEATURE="App2" VERSION="1.0" USED_LICENSES="1" DENIED_LICENSES="1" TOTAL_LICENSES="UNLIMITED" RESERVED_LICENSES="1" EXPIRES=”permanent”> <USER USERNAME="user1" HOSTNAME="host1" IP="127.0.0.1" USED_LICENSES="1" CHECKOUT_TIME="2012-05-07 08:41"/> <USER USERNAME="user1" HOSTNAME="host1" IP="127.0.0.1" DENIED_LICENSES="1" CHECKOUT_TIME="2012-05-07 08:41"/> </USAGE> </CUSTOM_STAT> |
It is important to understand that you validate all XML structure against the following XSD schema:
Code Block | ||
---|---|---|
| ||
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:simpleType name="xfDate"> <xs:attribute type="xfDateTime" name="CHECKOUT_TIME" use="required"/> <xs:attribute type="xfDateTime" name="BORROW_EXPIRE_TIME"/> <xs:restriction base="xs:string"> <xs:pattern value="\d{4}-\d{2}-\d{2}"/> </xs:restriction> </xs:simpleType> <xs:attribute type="xs:nonNegativeInteger" simpleType name="USED_LICENSESxfDateTime"/> <xs:restriction base="xs:string"> <xs:pattern value="\d{4}-\d{2}-\d{2} \d{2}:\d{2}"/> </xs:restriction> </xs:simpleType> <xs:attribute type="xs:nonNegativeInteger" element name="DENIEDCUSTOM_LICENSESSTAT"/> <xs:complexType> <xs:sequence> <xs:element name="USAGE" minOccurs="0" maxOccurs="unbounded"> </xs:extension> <xs:complexType> </xs:simpleContent><xs:sequence> </xs:complexType><xs:sequence> </xs:element> <xs:element name="USER" minOccurs="0" maxOccurs="unbounded"> </xs:sequence> <xs:sequence> <xs:complexType> <xs:element name="RESERVATION" minOccurs="0" maxOccurs="unbounded"> <xs:simpleContent> <xs:complexType> <xs:extension base="xs:string"> <xs:simpleContent> <xs:extensionattribute basetype="xs:string" name="USERNAME"/> <xs:attribute type="xs:string" name="TYPEHOSTNAME"/> <xs:attribute type="xs:string" name="PATTERNIP"/> <xs:attribute type="xs:nonNegativeIntegerxfDateTime" name="CHECKOUT_TIME" use="TOTALrequired"/> <xs:attribute type="xs:nonNegativeIntegerxfDateTime" name="REMAINING" use="requiredBORROW_EXPIRE_TIME"/> <xs:attribute type="xfDateTimexs:nonNegativeInteger" name="SINCEUSED_LICENSES"/> <xs:attribute type="xfDateTimexs:nonNegativeInteger" name="EXPIRESDENIED_ATLICENSES"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:sequence> </xs:sequence> <xs:attribute name="FEATURE" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute type="xs:float" name="VERSION"/> <xs:attribute type="xs:nonNegativeInteger" name="USED_LICENSES"/> <xs:attribute type="xs:nonNegativeInteger" name="DENIED_LICENSES"/> <xs:attribute type="xs:nonNegativeInteger" name="RESERVED_LICENSES"/> <xs:attribute type="xs:nonNegativeInteger" name="BORROWED_LICENSES"/> <xs:attribute type="xs:string" name="TOTAL_LICENSES"/> <xs:attribute type="xs:string" name="SHARE"/> <xs:attribute name="EXPIRES"> <xs:simpleType> <xs:union memberTypes="xfDate"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="permanent"/> <xs:enumeration value=""/> </xs:restriction> </xs:simpleType> </xs:union> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="VENDOR" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:minLength value="1"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> </xs:schema> |
...