{
    "additionalProperties": false,
    "definitions": {
        "comparison": {
            "enum": [
                "=",
                "!=",
                "==",
                "!==",
                "<=",
                ">=",
                "<",
                ">",
                "starts",
                "ends",
                "contains",
                "regex"
            ],
            "type": "string"
        },
        "oid_group": {
            "oneOf": [
                {
                    "pattern": "^(\\.\\d+)+\\.?$",
                    "type": "string"
                },
                {
                    "items": {
                        "pattern": "^(\\.\\d+)+\\.?$",
                        "type": "string"
                    },
                    "type": "array"
                }
            ]
        },
        "regex_group": {
            "oneOf": [
                {
                    "type": "string"
                },
                {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            ]
        },
        "snmpget": {
            "additionalProperties": false,
            "properties": {
                "mib": {
                    "type": "string"
                },
                "mib_dir": {
                    "type": "string"
                },
                "oid": {
                    "type": "string"
                },
                "op": {
                    "$ref": "#/definitions/comparison"
                },
                "options": {
                    "pattern": "^-",
                    "type": "string"
                },
                "value": {
                    "anyOf": [
                        {
                            "type": [
                                "boolean",
                                "string"
                            ]
                        },
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    ]
                }
            },
            "required": [
                "oid",
                "value"
            ],
            "type": "object"
        },
        "string_group": {
            "oneOf": [
                {
                    "type": "string"
                },
                {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            ]
        }
    },
    "properties": {
        "bad_hrSystemUptime": {
            "type": "boolean"
        },
        "bad_if": {
            "items": {
                "type": "string"
            },
            "type": "array"
        },
        "bad_ifXEntry": {
            "items": {
                "type": "string"
            },
            "type": "array"
        },
        "bad_if_regexp": {
            "$ref": "#/definitions/regex_group"
        },
        "bad_snmpEngineTime": {
            "type": "boolean"
        },
        "bad_uptime": {
            "type": "boolean"
        },
        "discovery": {
            "items": {
                "additionalProperties": false,
                "minProperties": 1,
                "properties": {
                    "snmpget": {
                        "$ref": "#/definitions/snmpget"
                    },
                    "snmpget_except": {
                        "$ref": "#/definitions/snmpget"
                    },
                    "sysDescr": {
                        "$ref": "#/definitions/string_group"
                    },
                    "sysDescr_except": {
                        "$ref": "#/definitions/string_group"
                    },
                    "sysDescr_regex": {
                        "$ref": "#/definitions/regex_group"
                    },
                    "sysDescr_regex_except": {
                        "$ref": "#/definitions/regex_group"
                    },
                    "sysObjectID": {
                        "$ref": "#/definitions/oid_group"
                    },
                    "sysObjectID_except": {
                        "$ref": "#/definitions/oid_group"
                    },
                    "sysObjectID_regex": {
                        "$ref": "#/definitions/regex_group"
                    },
                    "sysObjectID_regex_except": {
                        "$ref": "#/definitions/regex_group"
                    }
                },
                "type": "object"
            },
            "type": "array"
        },
        "discovery_modules": {
            "additionalProperties": false,
            "properties": {
                "applications": {
                    "type": "boolean"
                },
                "arp-table": {
                    "type": "boolean"
                },
                "bgp-peers": {
                    "type": "boolean"
                },
                "charge": {
                    "type": "boolean"
                },
                "cisco-cef": {
                    "type": "boolean"
                },
                "cisco-mac-accounting": {
                    "type": "boolean"
                },
                "cisco-otv": {
                    "type": "boolean"
                },
                "cisco-pw": {
                    "type": "boolean"
                },
                "cisco-sla": {
                    "type": "boolean"
                },
                "cisco-vrf-lite": {
                    "type": "boolean"
                },
                "discovery-protocols": {
                    "type": "boolean"
                },
                "diskio": {
                    "type": "boolean"
                },
                "entity-physical": {
                    "type": "boolean"
                },
                "fdb-table": {
                    "type": "boolean"
                },
                "hr-device": {
                    "type": "boolean"
                },
                "ip6-addresses": {
                    "type": "boolean"
                },
                "ipmi": {
                    "type": "boolean"
                },
                "ipv4-addresses": {
                    "type": "boolean"
                },
                "ipv6-address": {
                    "type": "boolean"
                },
                "ipv6-addresses": {
                    "type": "boolean"
                },
                "junose-atm-vp": {
                    "type": "boolean"
                },
                "libvirt-vminfo": {
                    "type": "boolean"
                },
                "loadbalancers": {
                    "type": "boolean"
                },
                "mef": {
                    "type": "boolean"
                },
                "mempools": {
                    "type": "boolean"
                },
                "ntp": {
                    "type": "boolean"
                },
                "ospf": {
                    "type": "boolean"
                },
                "ports": {
                    "type": "boolean"
                },
                "ports-stack": {
                    "type": "boolean"
                },
                "processors": {
                    "type": "boolean"
                },
                "sensors": {
                    "type": "boolean"
                },
                "services": {
                    "type": "boolean"
                },
                "storage": {
                    "type": "boolean"
                },
                "stp": {
                    "type": "boolean"
                },
                "toner": {
                    "type": "boolean"
                },
                "ucd-diskio": {
                    "type": "boolean"
                },
                "ucd-mib": {
                    "type": "boolean"
                },
                "vlans": {
                    "type": "boolean"
                },
                "vmware-vminfo": {
                    "type": "boolean"
                },
                "vrf": {
                    "type": "boolean"
                },
                "wireless": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "empty_ifdescr": {
            "type": "boolean"
        },
        "good_if": {
            "items": {
                "type": "string"
            },
            "type": "array"
        },
        "group": {
            "type": "string"
        },
        "icon": {
            "type": "string"
        },
        "icons": {
            "items": {
                "type": "string"
            },
            "type": "array"
        },
        "ifXmcbc": {
            "type": "boolean"
        },
        "ifname": {
            "type": "boolean"
        },
        "ignore_mount_string": {
            "items": {
                "type": "string"
            },
            "type": "array"
        },
        "mib_dir": {
            "$ref": "#/definitions/string_group"
        },
        "nobulk": {
            "type": "boolean"
        },
        "os": {
            "type": "string"
        },
        "over": {
            "items": {
                "additionalProperties": false,
                "properties": {
                    "graph": {
                        "type": "string"
                    },
                    "text": {
                        "type": "string"
                    }
                },
                "required": [
                    "graph",
                    "text"
                ],
                "type": "object"
            },
            "type": "array"
        },
        "poller_modules": {
            "additionalProperties": false,
            "properties": {
                "applications": {
                    "type": "boolean"
                },
                "arp-table": {
                    "type": "boolean"
                },
                "aruba-controller": {
                    "type": "boolean"
                },
                "bgp-peers": {
                    "type": "boolean"
                },
                "cipsec-tunnels": {
                    "type": "boolean"
                },
                "cisco-ace-loadbalancer": {
                    "type": "boolean"
                },
                "cisco-ace-serverfarms": {
                    "type": "boolean"
                },
                "cisco-asa-firewall": {
                    "type": "boolean"
                },
                "cisco-cbqos": {
                    "type": "boolean"
                },
                "cisco-cef": {
                    "type": "boolean"
                },
                "cisco-ipsec-flow-monitor": {
                    "type": "boolean"
                },
                "cisco-mac-accounting": {
                    "type": "boolean"
                },
                "cisco-otv": {
                    "type": "boolean"
                },
                "cisco-remote-access-monitor": {
                    "type": "boolean"
                },
                "cisco-sla": {
                    "type": "boolean"
                },
                "cisco-voice": {
                    "type": "boolean"
                },
                "cisco-vpdn": {
                    "type": "boolean"
                },
                "cisco-vrf-lite": {
                    "type": "boolean"
                },
                "entity-physical": {
                    "type": "boolean"
                },
                "fdb-table": {
                    "type": "boolean"
                },
                "hr-mib": {
                    "type": "boolean"
                },
                "ipSystemStats": {
                    "type": "boolean"
                },
                "ipmi": {
                    "type": "boolean"
                },
                "junose-atm-vp": {
                    "type": "boolean"
                },
                "libvirt-vminfo": {
                    "type": "boolean"
                },
                "loadbalancers": {
                    "type": "boolean"
                },
                "mef": {
                    "type": "boolean"
                },
                "mempools": {
                    "type": "boolean"
                },
                "mib": {
                    "type": "boolean"
                },
                "netscaler-vsvr": {
                    "type": "boolean"
                },
                "netstats": {
                    "type": "boolean"
                },
                "ntp": {
                    "type": "boolean"
                },
                "ospf": {
                    "type": "boolean"
                },
                "ports": {
                    "type": "boolean"
                },
                "processors": {
                    "type": "boolean"
                },
                "services": {
                    "type": "boolean"
                },
                "storage": {
                    "type": "boolean"
                },
                "stp": {
                    "type": "boolean"
                },
                "tnms-nbi": {
                    "type": "boolean"
                },
                "toner": {
                    "type": "boolean"
                },
                "ucd-diskio": {
                    "type": "boolean"
                },
                "ucd-mib": {
                    "type": "boolean"
                },
                "vlans": {
                    "type": "boolean"
                },
                "vmware-vminfo": {
                    "type": "boolean"
                },
                "wifi": {
                    "type": "boolean"
                },
                "wireless": {
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "processor_stacked": {
            "type": "boolean"
        },
        "register_mibs": {
            "type": "object"
        },
        "rfc1628_compat": {
            "type": "boolean"
        },
        "snmp_max_oid": {
            "type": "string"
        },
        "text": {
            "type": "string"
        },
        "type": {
            "type": "string"
        }
    },
    "required": [
        "os",
        "text",
        "type"
    ],
    "type": "object"
}