Types node
The types node presents various types of data used in TrueSight Server Automation as accepted, for example, by rules, properties, or configuration objects.
The types node can contain the following data type nodes:
primitives — Built-in data types, such as Date or Boolean
Primitives data type
Primitives are the most basic data forms, such as those based on simple strings or numbers. For each primitive, you specify an ID and a name, as well as a list of operators supported by the primitive.
The ID of a primitive always begins with the Primitive: prefix.
The following XML code defines a primitive data type named Decimal.
<primitive name="Decimal" id="Primitive:Decimal">
<operators>
<operator-ref id="greater than or equal to"/>
<operator-ref rhs-type="Range:Primitive:Decimal Range" id="between"/>
<operator-ref id="equals"/>
<operator-ref id="does not equal"/>
<operator-ref rhs-backing-type="Primitive:Decimal" rhs-type="List" id="is not one of"/>
<operator-ref rhs-backing-type="Primitive:Decimal" rhs-type="List" id="is one of"/>
<operator-ref id="greater than"/>
</operators>
</primitive>
</primitives>
Enumerations data type
The enumeration data type enforces a choice of values from a closed list. The ID of an enumeration always begins with the Enumeration: prefix.
The following XML code defines an enumeration data type.
<enumeration name="ServiceErrorControlEnumeration" id="Enumeration:ServiceErrorControlEnumeration" type="Primitive:String" built-in="true">
<value name="IGNORE" id="IGNORE">IGNORE</value>
<value name="NORMAL" id="NORMAL">NORMAL</value>
<value name="SEVERE" id="SEVERE">SEVERE</value>
<value name="CRITICAL" id="CRITICAL">CRITICAL</value>
</enumeration>
</enumerations>
Ranges data type
A range defines values between two points. Supported operators are listed for each range. Currently, TrueSight Server Automation supports three ranges: Integer Range, Date Range, and Decimal Range.
The ID of a range always begins with the Range: prefix.
The following XML code defines supported ranges.
<range name="Integer Range" id="Range:Primitive:Integer Range" type="Primitive:Integer">
<operators>
<operator-ref id="equals"/>
<operator-ref id="does not equal"/>
</operators>
</range>
<range name="Date Range" id="Range:Primitive:Date Range" type="Primitive:Date">
<operators>
<operator-ref id="equals"/>
<operator-ref id="does not equal"/>
</operators>
</range>
<range name="Decimal Range" id="Range:Primitive:Decimal Range" type="Primitive:Decimal">
<operators>
<operator-ref id="equals"/>
<operator-ref id="does not equal"/>
</operators>
</range>
</ranges>
Lists data type
The list data type accepts multiple values provided by the user. For each list you specify the list type and provide a list of operators supported by the list.
The following XML code defines two lists.
<list type="Class://SystemObject/Device">
<operators>
<operator-ref rhs-type="Class://SystemObject/Device" id="contains"/>
<operator-ref id="equals"/>
<operator-ref id="does not equal"/>
</operators>
</list>
<list type="Primitive:Encrypted String">
<operators>
<operator-ref rhs-type="Primitive:Encrypted String" id="contains"/>
<operator-ref id="equals"/>
<operator-ref id="does not equal"/>
</operators>
</list>
</lists>
Property-classes data type
The property-classes data type defines property classes as configured in the Property Dictionary. For each property class, you provide a list of operators that are supported by that property class, as well as an optional list of properties included in the class.
The ID of a property class always begins with the Class: prefix, and includes the full path to the property class within the Property Dictionary (for example: //SystemObject/User).
The following XML code defines a property class.
<class visible="true" deprecated="false" name="Class://SystemObject/User" id="Class://SystemObject/User" built-in="true">
<description>Every User is an Instance of this Class</description>
<operators>
<operator-ref rhs-type="Primitive:String" id="not instance of"/>
<operator-ref rhs-type="Primitive:String" id="instance of"/>
<operator-ref id="equals"/>
<operator-ref id="does not equal"/>
</operators>
<properties>
<property deprecated="false" editable="false" built-in="true" required="true" used-in-report="false" id="DEFAULT_ROLE" type="Class://SystemObject/Role">
<description>Default Role</description>
</property>
<property deprecated="false" editable="false" built-in="true" required="true" used-in-report="false" id="FAILED_LOGINS" type="Primitive:Integer">
<description>Number of failed logins</description>
<default>
<value>0</value>
</default>
</property>
<property deprecated="false" editable="true" built-in="false" required="false" used-in-report="false" id="MY_INTEGER_ENUM" type="enumeration">
<description></description>
<enumeration type="Primitive:Integer">
<value name="intvalue1" id="intvalue1">1</value>
<value name="intvalue2" id="intvalue2">2</value>
</enumeration>
<default>
<value>1</value>
</default>
</property>
</properties>
</class>
</property-classes>
Configuration-objects data type
The configuration-objects data type defines extended objects, server objects, and configuration files, as defined in the Configuration Object Dictionary.
The following XML code defines several configuration objects.
<extended-objects>
<extended-object id="Groups">
<description></description>
<grammar-data grammar-ref="ini.gm" os="Windows" encoding="Default"/>
<command remote-execution="false">blquery $server:host$ -E "/C/Program Files/BMC Software/BladeLogic/ 8.0/share/sensors/extended_objects/groups.blq"</command>
</extended-object>
</extended-objects>
<server-objects>
<class root="false" version="1" name="Extended Object" id="Extended Object" built-in="true">
<properties>
<property name="Path" id="Path" type="Primitive:String"/>
<property name="Name" id="Name" type="Primitive:String"/>
</properties>
</class>
</server-objects>
<configuration-files>
<configuration-file id="??TARGET.WINDIR??/desktop.ini">
<grammar-data grammar-ref="ini.gm" os="Windows" encoding="Default"/>
<path>??TARGET.WINDIR??/desktop.ini</path>
</configuration-file>
</configuration-files>
</configuration-objects>