summaryrefslogtreecommitdiffstats
path: root/src/go/collectors/go.d.plugin/modules/isc_dhcpd/config_schema.json
blob: e357fd86d7b95ea41229164b4847f3ad5990a3d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
{
  "jsonSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "ISC DHCP collector configuration.",
    "type": "object",
    "properties": {
      "update_every": {
        "title": "Update every",
        "description": "Data collection interval, measured in seconds.",
        "type": "integer",
        "minimum": 1,
        "default": 1
      },
      "leases_path": {
        "title": "Leases file",
        "description": "File path to the ISC DHCP server's lease database.",
        "type": "string",
        "default": "/var/lib/dhcp/dhcpd.leases",
        "pattern": "^$|^/"
      },
      "pools": {
        "title": "IP pools",
        "description": "A list of IP pools to monitor. Each pool consists of a descriptive name and corresponding IP ranges.",
        "type": [
          "array",
          "null"
        ],
        "items": {
          "title": "IP pool",
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "name": {
              "title": "Name",
              "description": "A descriptive name for the IP pool.",
              "type": "string"
            },
            "networks": {
              "title": "Networks",
              "description": "A space-separated list of [IP ranges](https://github.com/netdata/netdata/tree/master/src/go/collectors/go.d.plugin/pkg/iprange#supported-formats) for the pool.",
              "type": "string"
            }
          },
          "required": [
            "name",
            "networks"
          ]
        },
        "minItems": 1,
        "uniqueItems": true,
        "additionalItems": false
      }
    },
    "required": [
      "leases_path",
      "pools"
    ],
    "additionalProperties": false,
    "patternProperties": {
      "^name$": {}
    }
  },
  "uiSchema": {
    "uiOptions": {
      "fullPage": true
    }
  }
}