{
    "additionalProperties": false,
    "properties": {
        "Warning!": {
            "type": "string"
        },
        "config": {
            "additionalProperties": {
                "additionalProperties": false,
                "anyOf": [
                    {
                        "properties": {
                            "type": {
                                "const": "select"
                            }
                        },
                        "required": [
                            "options"
                        ]
                    },
                    {
                        "not": {
                            "required": [
                                "options"
                            ]
                        },
                        "properties": {
                            "type": {
                                "enum": [
                                    "integer",
                                    "text",
                                    "boolean",
                                    "array",
                                    "password",
                                    "email",
                                    "color",
                                    "float",
                                    "graph",
                                    "dashboard-select",
                                    "snmp3auth",
                                    "ldap-groups",
                                    "ad-groups"
                                ],
                                "type": "string"
                            }
                        }
                    }
                ],
                "dependencies": {
                    "group": {
                        "required": [
                            "order",
                            "section"
                        ]
                    },
                    "order": {
                        "required": [
                            "group",
                            "section"
                        ]
                    },
                    "section": {
                        "required": [
                            "group",
                            "order"
                        ]
                    }
                },
                "properties": {
                    "default": {},
                    "disabled": {
                        "type": "boolean"
                    },
                    "group": {
                        "type": "string"
                    },
                    "hidden": {
                        "type": "boolean"
                    },
                    "options": {
                        "minProperties": 2,
                        "type": "object"
                    },
                    "order": {
                        "type": "integer"
                    },
                    "section": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string"
                    },
                    "units": {
                        "type": "string"
                    },
                    "validate": {
                        "propertyNames": {
                            "pattern": "^value",
                            "type": "string"
                        }
                    },
                    "when": {
                        "properties": {
                            "operator": {
                                "enum": [
                                    "equals",
                                    "in"
                                ],
                                "type": "string"
                            },
                            "setting": {
                                "type": "string"
                            },
                            "value": {
                                "type": [
                                    "string",
                                    "array"
                                ]
                            }
                        }
                    }
                },
                "required": [
                    "type"
                ],
                "type": "object"
            },
            "propertyNames": {
                "pattern": "^[a-zA-Z0-9_.\\-]+$"
            },
            "type": "object"
        }
    },
    "required": [
        "Warning!",
        "config"
    ],
    "type": "object"
}