{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "definitions": {},
    "id": "https://itssimple.se/share/u/haproxy.json",
    "properties": {
        "backend": {
            "id": "/properties/backend",
            "items": {
                "id": "/properties/backend/items",
                "properties": {
                    "name": {
                        "id": "/properties/backend/items/properties/name",
                        "type": "string"
                    },
                    "servers": {
                        "id": "/properties/backend/items/properties/servers",
                        "items": {
                            "id": "/properties/backend/items/properties/servers/items",
                            "properties": {
                                "host": {
                                    "id": "/properties/backend/items/properties/servers/items/properties/host",
                                    "type": "string"
                                },
                                "name": {
                                    "id": "/properties/backend/items/properties/servers/items/properties/name",
                                    "type": "string"
                                },
                                "options": {
                                    "id": "/properties/backend/items/properties/servers/items/properties/options",
                                    "items": {},
                                    "type": "array"
                                },
                                "port": {
                                    "id": "/properties/backend/items/properties/servers/items/properties/port",
                                    "type": "integer"
                                }
                            },
                            "type": "object"
                        },
                        "type": "array"
                    }
                },
                "type": "object"
            },
            "type": "array"
        },
        "defaults": {
            "id": "/properties/defaults",
            "properties": {
                "balance": {
                    "id": "/properties/defaults/properties/balance",
                    "type": "string"
                },
                "errorfile": {
                    "id": "/properties/defaults/properties/errorfile",
                    "properties": {
                        "400": {
                            "id": "/properties/defaults/properties/errorfile/properties/400",
                            "type": "string"
                        },
                        "403": {
                            "id": "/properties/defaults/properties/errorfile/properties/403",
                            "type": "string"
                        },
                        "408": {
                            "id": "/properties/defaults/properties/errorfile/properties/408",
                            "type": "string"
                        },
                        "500": {
                            "id": "/properties/defaults/properties/errorfile/properties/500",
                            "type": "string"
                        },
                        "502": {
                            "id": "/properties/defaults/properties/errorfile/properties/502",
                            "type": "string"
                        },
                        "503": {
                            "id": "/properties/defaults/properties/errorfile/properties/503",
                            "type": "string"
                        },
                        "504": {
                            "id": "/properties/defaults/properties/errorfile/properties/504",
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "log": {
                    "id": "/properties/defaults/properties/log",
                    "type": "string"
                },
                "maxconn": {
                    "id": "/properties/defaults/properties/maxconn",
                    "type": "integer"
                },
                "mode": {
                    "id": "/properties/defaults/properties/mode",
                    "type": "string"
                },
                "option": {
                    "id": "/properties/defaults/properties/option",
                    "properties": {
                        "contstats": {
                            "id": "/properties/defaults/properties/option/properties/contstats",
                            "type": "boolean"
                        },
                        "dontlognull": {
                            "id": "/properties/defaults/properties/option/properties/dontlognull",
                            "type": "boolean"
                        },
                        "forwardfor": {
                            "id": "/properties/defaults/properties/option/properties/forwardfor",
                            "type": "boolean"
                        },
                        "http-server-close": {
                            "id": "/properties/defaults/properties/option/properties/http-server-close",
                            "type": "boolean"
                        },
                        "httplog": {
                            "id": "/properties/defaults/properties/option/properties/httplog",
                            "type": "boolean"
                        },
                        "redispatch": {
                            "id": "/properties/defaults/properties/option/properties/redispatch",
                            "type": "boolean"
                        }
                    },
                    "type": "object"
                },
                "retries": {
                    "id": "/properties/defaults/properties/retries",
                    "type": "integer"
                },
                "timeout": {
                    "id": "/properties/defaults/properties/timeout",
                    "properties": {
                        "client": {
                            "id": "/properties/defaults/properties/timeout/properties/client",
                            "type": "string"
                        },
                        "connect": {
                            "id": "/properties/defaults/properties/timeout/properties/connect",
                            "type": "string"
                        },
                        "http-request": {
                            "id": "/properties/defaults/properties/timeout/properties/http-request",
                            "type": "string"
                        },
                        "queue": {
                            "id": "/properties/defaults/properties/timeout/properties/queue",
                            "type": "string"
                        },
                        "server": {
                            "id": "/properties/defaults/properties/timeout/properties/server",
                            "type": "string"
                        },
                        "tarpit": {
                            "id": "/properties/defaults/properties/timeout/properties/tarpit",
                            "type": "string"
                        },
                        "tunnel": {
                            "id": "/properties/defaults/properties/timeout/properties/tunnel",
                            "type": "string"
                        }
                    },
                    "type": "object"
                }
            },
            "type": "object"
        },
        "frontend": {
            "id": "/properties/frontend",
            "items": {
                "id": "/properties/frontend/items",
                "properties": {
                    "acl": {
                        "id": "/properties/frontend/items/properties/acl",
                        "items": {
                            "id": "/properties/frontend/items/properties/acl/items",
                            "properties": {
                                "conditions": {
                                    "id": "/properties/frontend/items/properties/acl/items/properties/conditions",
                                    "items": {
                                        "id": "/properties/frontend/items/properties/acl/items/properties/conditions/items",
                                        "type": "string"
                                    },
                                    "type": "array"
                                },
                                "name": {
                                    "id": "/properties/frontend/items/properties/acl/items/properties/name",
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "type": "array"
                    },
                    "bind": {
                        "id": "/properties/frontend/items/properties/bind",
                        "items": {
                            "id": "/properties/frontend/items/properties/bind/items",
                            "properties": {
                                "host": {
                                    "id": "/properties/frontend/items/properties/bind/items/properties/host",
                                    "type": "string"
                                },
                                "options": {
                                    "id": "/properties/frontend/items/properties/bind/items/properties/options",
                                    "type": [
                                        "boolean",
                                        "array"
                                    ]
                                }
                            },
                            "type": "object"
                        },
                        "type": "array"
                    },
                    "capture": {
                        "id": "/properties/frontend/items/properties/capture",
                        "properties": {
                            "request": {
                                "id": "/properties/frontend/items/properties/capture/properties/request",
                                "items": {
                                    "id": "/properties/frontend/items/properties/capture/properties/request/items",
                                    "items": {
                                        "id": "/properties/frontend/items/properties/capture/properties/request/items/items",
                                        "type": [
                                            "object",
                                            "string",
                                            "integer"
                                        ]
                                    },
                                    "type": "array"
                                },
                                "type": "array"
                            },
                            "response": {
                                "id": "/properties/frontend/items/properties/capture/properties/response",
                                "items": {
                                    "id": "/properties/frontend/items/properties/capture/properties/response/items",
                                    "items": {
                                        "id": "/properties/frontend/items/properties/capture/properties/response/items/items",
                                        "type": [
                                            "object",
                                            "string",
                                            "integer"
                                        ]
                                    },
                                    "type": "array"
                                },
                                "type": "array"
                            }
                        },
                        "type": "object"
                    },
                    "default_backend": {
                        "id": "/properties/frontend/items/properties/default_backend",
                        "type": "string"
                    },
                    "name": {
                        "id": "/properties/frontend/items/properties/name",
                        "type": "string"
                    },
                    "rspidel": {
                        "id": "/properties/frontend/items/properties/rspidel",
                        "items": {
                            "id": "/properties/frontend/items/properties/rspidel/items",
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "use_backend": {
                        "id": "/properties/frontend/items/properties/use_backend",
                        "items": {
                            "id": "/properties/frontend/items/properties/use_backend/items",
                            "properties": {
                                "backend": {
                                    "id": "/properties/frontend/items/properties/use_backend/items/properties/backend",
                                    "type": "string"
                                },
                                "conditions": {
                                    "id": "/properties/frontend/items/properties/use_backend/items/properties/conditions",
                                    "items": {
                                        "id": "/properties/frontend/items/properties/use_backend/items/properties/conditions/items",
                                        "type": "string"
                                    },
                                    "type": "array"
                                }
                            },
                            "type": "object"
                        },
                        "type": "array"
                    }
                },
                "type": "object"
            },
            "type": "array"
        },
        "global": {
            "id": "/properties/global",
            "properties": {
                "ca-base": {
                    "id": "/properties/global/properties/ca-base",
                    "type": "string"
                },
                "chroot": {
                    "id": "/properties/global/properties/chroot",
                    "type": "string"
                },
                "crt-base": {
                    "id": "/properties/global/properties/crt-base",
                    "type": "string"
                },
                "daemon": {
                    "id": "/properties/global/properties/daemon",
                    "type": "boolean"
                },
                "group": {
                    "id": "/properties/global/properties/group",
                    "type": "string"
                },
                "hard-stop-after": {
                    "id": "/properties/global/properties/hard-stop-after",
                    "type": "string"
                },
                "log": {
                    "id": "/properties/global/properties/log",
                    "items": {
                        "id": "/properties/global/properties/log/items",
                        "properties": {
                            "facility": {
                                "id": "/properties/global/properties/log/items/properties/facility",
                                "type": "string"
                            },
                            "path": {
                                "id": "/properties/global/properties/log/items/properties/path",
                                "type": "string"
                            }
                        },
                        "type": "object"
                    },
                    "type": "array"
                },
                "maxconn": {
                    "id": "/properties/global/properties/maxconn",
                    "type": "integer"
                },
                "spread-checks": {
                    "id": "/properties/global/properties/spread-checks",
                    "type": "integer"
                },
                "ssl-default-bind-ciphers": {
                    "id": "/properties/global/properties/ssl-default-bind-ciphers",
                    "type": "string"
                },
                "ssl-default-bind-options": {
                    "id": "/properties/global/properties/ssl-default-bind-options",
                    "type": "string"
                },
                "ssl-server-verify": {
                    "id": "/properties/global/properties/ssl-server-verify",
                    "type": "string"
                },
                "stats": {
                    "id": "/properties/global/properties/stats",
                    "properties": {
                        "socket": {
                            "id": "/properties/global/properties/stats/properties/socket",
                            "type": "string"
                        },
                        "timeout": {
                            "id": "/properties/global/properties/stats/properties/timeout",
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "tune": {
                    "id": "/properties/global/properties/tune",
                    "properties": {
                        "bufsize": {
                            "id": "/properties/global/properties/tune/properties/bufsize",
                            "type": "integer"
                        },
                        "maxrewrite": {
                            "id": "/properties/global/properties/tune/properties/maxrewrite",
                            "type": "integer"
                        },
                        "ssl": {
                            "id": "/properties/global/properties/tune/properties/ssl",
                            "properties": {
                                "default-dh-param": {
                                    "id": "/properties/global/properties/tune/properties/ssl/properties/default-dh-param",
                                    "type": "integer"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "type": "object"
                },
                "user": {
                    "id": "/properties/global/properties/user",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "listen": {
            "id": "/properties/listen",
            "items": {},
            "type": "array"
        },
        "userlists": {
            "id": "/properties/userlists",
            "items": {
                "id": "/properties/userlists/items",
                "properties": {
                    "groups": {
                        "id": "/properties/userlists/items/properties/groups",
                        "items": {
                            "id": "/properties/userlists/items/properties/groups/items",
                            "properties": {
                                "name": {
                                    "id": "/properties/userlists/items/properties/groups/items/properties/name",
                                    "type": "string"
                                },
                                "users": {
                                    "id": "/properties/userlists/items/properties/groups/items/properties/users",
                                    "items": {
                                        "id": "/properties/userlists/items/properties/groups/items/properties/users/items",
                                        "type": "string"
                                    },
                                    "type": "array"
                                }
                            },
                            "type": "object"
                        },
                        "type": "array"
                    },
                    "name": {
                        "id": "/properties/userlists/items/properties/name",
                        "type": "string"
                    },
                    "users": {
                        "id": "/properties/userlists/items/properties/users",
                        "items": {
                            "id": "/properties/userlists/items/properties/users/items",
                            "properties": {
                                "groups": {
                                    "id": "/properties/userlists/items/properties/users/items/properties/groups",
                                    "items": {},
                                    "type": "array"
                                },
                                "name": {
                                    "id": "/properties/userlists/items/properties/users/items/properties/name",
                                    "type": "string"
                                },
                                "password": {
                                    "id": "/properties/userlists/items/properties/users/items/properties/password",
                                    "type": "string"
                                },
                                "password-type": {
                                    "id": "/properties/userlists/items/properties/users/items/properties/password-type",
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "type": "array"
                    }
                },
                "type": "object"
            },
            "type": "array"
        }
    },
    "type": "object"
}