identify
The section “identify” is used to specify how the properties of a classe’s device can be retrieved. Under the “identify”, there is another section with the keyword “properties”, that contains “property readers” for the different properties.
identify:
properties:
vendor:
- detection: constant
value: "AudioCodes"
serial_number:
- detection: snmpget
oid: ".1.3.6.1.2.1.47.1.1.1.1.11.67112960"
In this case we have two property readers: “vendor” and “serial number”. Property readers are used to read out and to normalize it after. Every property reader can consist of the following parameters:
Parameters : Description
----------------------------------------------------------------------------------
1. pre_condition : Condition has to hold true to be able to read out data
2. detection : Describes how to retrieve the value
3. operators : list of operators to be used on the value after retrieving it
The conditions of “pre_condition” can be built exactly like the conditions in match The “detection” value can be one of the following:
Value : Parameters
---------------------------------------------------------------------------
1. SysDescription : pre_condition (optional), operators (optional)
2. SysObjectID : pre_condition (optional), operators (optional)
3. snmpget : pre_condition (optional), operators (optional), oid
4. constant : pre_condition (optional), operators (optional), value
There are three different operator types:
1. operator:
type : "filter"
filter_method : method result is filtered with
value : comparison value when filtering
return_on_mismatch : boolean that indicates if value is returned also when
filter fails
2. operator:
type : "switch
switch_method : method that specifies a case
cases : list of switch cases
The third type is called “modify”:
3. operator:
type : "modify"
modify_method : Method how to modify the retrieved value
...
The further parameters of this operator depend on the that is chosen:
Method : Description
----------------------------------------------------------------------------------
1. regexReplace : replace subtsrings with help of a regex
2. regexSubmatch : cut out substrings with a regex and a format
3. toUpperCase : change all letters to capital letters
4. toLowerCase : change all letters to small letters
5. addPrefix : add a prefix
6. addSuffix : add a suffix
7. multiply : multipy value with another one
8. divide : divide value by another one
9. map : 1 to 1 mapping from original value to a new one
10. insertReadValue : read other value and put it together with the current value
Method : Parameters
----------------------------------------------------------------------------------
1. regexReplace : regex, replace
2. regexSubmatch : regex, format
3. toUpperCase : /
4. toLowerCase : /
5. addPrefix : value (prefix)
6. addSuffix : value (suffix)
7. multiply : value (prop-reader)
8. divide : value (prop-reader)
9. map : ignore_on_mismatch (optional), mappings (key + value)
10. insertReadValue : read_value (prop-reader), format (how to put values together)