{ "$schema": "http://json-schema.org/schema#", "type": "object", "properties": { "mib": { "type": "string" }, "modules": { "type": "object", "properties": { "mempools": { "type": "object", "properties": { "pre-cache": {"$ref": "#/definitions/pre-cache"}, "data": { "type": "array", "items": { "properties": { "descr": { "type": "string" }, "free": { "type": "string" }, "index": { "type": [ "integer", "string" ] }, "oid": {"$ref": "#/definitions/oid"}, "percent_used": { "type": "string" }, "precision": { "type": [ "integer", "string" ] }, "skip_values": { "$ref": "#/definitions/skip_values" }, "snmp_flags": { "type": "string" }, "total": { "type": [ "integer", "string" ] }, "type": { "type": "string" }, "class": { "type": "string" }, "used": { "type": "string" }, "warn_percent": { "type": [ "integer", "string" ] }, "snmp_no_Ih_flag": { "type": "string" } }, "additionalProperties": false } } }, "additionalProperties": false, "required": [ "data" ] }, "os": { "type": "object", "properties": { "version": {"$ref": "#/definitions/oids"}, "hardware": {"$ref": "#/definitions/oids"}, "features": {"$ref": "#/definitions/oids"}, "serial": {"$ref": "#/definitions/oids"}, "lat": {"$ref": "#/definitions/oid"}, "location": {"$ref": "#/definitions/oids"}, "long": {"$ref": "#/definitions/oid"}, "sysDescr_regex": { "type": ["string", "array"] }, "version_regex": { "type": "string" }, "hardware_mib": { "type": "string" }, "hardware_regex": { "type": "string" }, "features_regex": { "type": "string" }, "serial_regex": { "type": "string" }, "location_regex": { "type": "string" }, "version_template": { "type": "string" }, "hardware_template": { "type": "string" }, "features_template": { "type": "string" }, "serial_template": { "type": "string" }, "location_template": { "type": "string" }, "version_replace": {"$ref": "#/definitions/os_replacements"}, "hardware_replace": {"$ref": "#/definitions/os_replacements"}, "features_replace": {"$ref": "#/definitions/os_replacements"}, "serial_replace": {"$ref": "#/definitions/os_replacements"} }, "additionalProperties": false }, "processors": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "oid": {"$ref": "#/definitions/oid"}, "num_oid": { "type": "string" }, "index": { "type": [ "integer", "string" ] }, "descr": { "type": "string" }, "precision": { "type": "integer" }, "value": {"$ref": "#/definitions/oid"}, "type": { "type": "string", "maxLength": 16 }, "skip_values": { "$ref": "#/definitions/skip_values" }, "entPhysicalIndex": { "type": "string" }, "warn_percent": { "type": "string" }, "snmp_flags": { "type": [ "string", "array" ] }, "snmp_no_Ih_flag": { "type": "string" } }, "additionalProperties": false, "required": [ "oid", "num_oid" ] } } }, "additionalProperties": false, "required": [ "data" ] }, "sensors": { "type": "object", "properties": { "state": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "oid": {"$ref": "#/definitions/oid"}, "value": { "type": "string" }, "group": { "type": "string" }, "low_limit": { "type": ["number", "string"] }, "low_warn_limit": { "type": ["number", "string"] }, "warn_limit": { "type": ["number", "string"] }, "high_limit": { "type": ["number", "string"] }, "skip_value_lt": { "type": "number" }, "skip_value_gt": { "type": "number" }, "num_oid": { "type": "string", "pattern": "^(\\.\\d+)+(\\.?\\{\\{ \\$(index|str_index_as_numeric) \\}\\})?(\\.\\d+)*$" }, "descr": { "type": "string" }, "index": { "type": [ "integer", "string" ] }, "user_func": { "type": "string" }, "states": { "type": "array", "items": { "type": "object", "properties": { "value": { "type": "integer" }, "descr": { "type": "string" }, "graph": { "type": "integer" }, "generic": { "type": "integer" } }, "additionalProperties": false, "required": [ "descr", "generic", "graph", "value" ] } }, "state_name": { "type": "string" }, "skip_values": { "$ref": "#/definitions/skip_values" }, "snmp_flags": { "type": [ "string", "array" ] }, "snmp_bulk": { "type": "boolean" }, "entPhysicalIndex": { "type": ["integer", "string"] }, "entPhysicalIndex_measured": { "type": [ "string", "null" ], "enum": [ "ports", null ] }, "snmp_no_Ih_flag": { "type": "string" } }, "additionalProperties": false, "required": [ "descr", "num_oid", "oid", "states" ] } }, "options": {"$ref": "#/definitions/options"} }, "required": [ "data" ] }, "voltage": {"$ref": "#/definitions/sensor"}, "fanspeed": {"$ref": "#/definitions/sensor"}, "temperature": {"$ref": "#/definitions/sensor"}, "pre-cache": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "oid": {"$ref": "#/definitions/oids"}, "snmp_flags": { "type": [ "string", "array" ] }, "snmp_no_Ih_flag": { "type": "string" } }, "additionalProperties": false, "required": [ "oid" ] } } }, "additionalProperties": false, "required": [ "data" ] }, "humidity": {"$ref": "#/definitions/sensor"}, "airflow": {"$ref": "#/definitions/sensor"}, "current": {"$ref": "#/definitions/sensor"}, "frequency": {"$ref": "#/definitions/sensor"}, "power": {"$ref": "#/definitions/sensor"}, "pressure": {"$ref": "#/definitions/sensor"}, "cooling": {"$ref": "#/definitions/sensor"}, "charge": {"$ref": "#/definitions/sensor"}, "runtime": {"$ref": "#/definitions/sensor"}, "dbm": {"$ref": "#/definitions/sensor"}, "load": {"$ref": "#/definitions/sensor"}, "chromatic_dispersion": {"$ref": "#/definitions/sensor"}, "delay": {"$ref": "#/definitions/sensor"}, "quality_factor": {"$ref": "#/definitions/sensor"}, "snr": {"$ref": "#/definitions/sensor"}, "waterflow": {"$ref": "#/definitions/sensor"}, "eer": {"$ref": "#/definitions/sensor"} } } } } }, "additionalProperties": false, "required": [ "modules" ], "definitions": { "oid": { "type": "string" }, "oids": { "type": ["string", "array"], "items": { "type": "string", "pattern": "^((?!sysDescr\\.0|^\\.?1\\.3\\.6\\.1\\.2\\.1\\.1\\.1\\.0).)*$" } }, "pre-cache": { "type": "object", "properties": { "oids": {"$ref": "#/definitions/oids"}, "snmp_flags": { "type": [ "string", "array" ] }, "snmp_no_Ih_flag": { "type": "string" } }, "additionalProperties": false, "required": [ "oids" ] }, "sensor": { "type": "object", "properties": { "data": { "type": "array", "items": { "type": "object", "properties": { "oid": { "type": "string" }, "num_oid": { "type": "string", "pattern": "^(\\.\\d+)+(\\.?\\{\\{ \\$(index|str_index_as_numeric) \\}\\})?(\\.\\d+)*$" }, "index": { "type": ["integer", "string"] }, "descr": { "type": "string" }, "divisor": { "type": "integer" }, "multiplier": { "type": "integer" }, "value": { "type": "string" }, "group": { "type": "string" }, "low_limit": { "type": ["number", "string"] }, "low_warn_limit": { "type": ["number", "string"] }, "warn_limit": { "type": ["number", "string"] }, "high_limit": { "type": ["number", "string"] }, "skip_value_lt": { "type": "number" }, "skip_value_gt": { "type": "number" }, "skip_values": { "$ref": "#/definitions/skip_values" }, "snmp_flags": { "type": [ "string", "array" ] }, "snmp_bulk": { "type": "boolean" }, "rrd_type": { "type": "string" }, "entPhysicalIndex": { "type": ["integer", "string"] }, "entPhysicalIndex_measured": { "type": [ "string", "null" ], "enum": [ "ports", null ] }, "user_func": { "type": "string" }, "snmp_no_Ih_flag": { "type": "string" } }, "additionalProperties": false, "required": [ "descr", "num_oid", "oid" ] } }, "options": { "$ref": "#/definitions/options" } }, "additionalProperties": false, "required": [ "data" ] }, "os_replacements": { "type": "array", "items": { "oneOf": [ { "type": "array", "items": { "type": "string" }, "minItems": 2, "maxItems": 2 }, { "type": "string" } ] } }, "skip_values": { "anyOf": [ { "type": "number" }, { "type": "array", "items": { "anyOf": [ { "type": "number" }, { "type": "object", "properties": { "oid": { "type": "string" }, "device": { "enum": [ "sysName", "sysObjectID", "sysDescr", "version", "hardware", "features" ] }, "op": { "$ref": "#/definitions/comparison" }, "value": { "type": ["boolean", "number", "string", "array"], "items": { "type": ["number", "string"] } } }, "additionalProperties": false, "required": [ "op", "value" ], "minProperties": 3, "maxProperties": 3 } ] } } ] }, "options": { "type": "object", "properties": { "divisor": { "type": "integer" }, "skip_values": { "$ref": "#/definitions/skip_values" }, "skip_value_gt": { "type": "integer" }, "skip_value_lt": { "type": "integer" } }, "additionalProperties": false }, "comparison": { "type": "string", "enum": [ "=", "!=", "==", "!==", "<=", ">=", "<", ">", "starts", "ends", "contains", "regex", "not_starts", "not_ends", "not_contains", "not_regex", "in_array", "not_in_array", "exists" ] } } }