summaryrefslogtreecommitdiffstats
path: root/integrations/schemas/notification.json
blob: 2596ca441e54ba5a08a1cec26ee5aa3d6b05e23f (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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Netdata notification mechanism metadata.",
  "oneOf": [
    {
      "$ref": "#/$defs/entry"
    },
    {
      "type": "array",
      "minLength": 1,
      "items": {
        "$ref": "#/$defs/entry"
      }
    }
  ],
  "$defs": {
    "entry": {
      "type": "object",
      "description": "Data for a single notification method.",
      "properties": {
        "id": {
          "$ref": "./shared.json#/$defs/id"
        },
        "meta": {
          "$ref": "./shared.json#/$defs/instance"
        },
        "keywords": {
          "$ref": "./shared.json#/$defs/keywords"
        },
        "overview": {
          "type": "object",
          "description": "General information about the notification method.",
          "properties": {
            "notification_description": {
              "type": "string",
              "description": "General description of what the notification method does."
            },
            "notification_limitations": {
              "type": "string",
              "description": "Explanation of any limitations of the notification method."
            }
          },
          "required": [
            "notification_description",
            "notification_limitations"
          ]
        },
        "global_setup": {
            "type": "object",
            "description": "Flags that show which global setup sections are relevant for this notification method.",
            "properties": {
                "severity_filtering": {
                    "type": "boolean"
                },
                "http_proxy": {
                    "type": "boolean"
                }
            },
            "required": [
                "severity_filtering",
                "http_proxy"
            ]
        },
        "setup": {
          "oneOf": [
            {
              "$ref": "./shared.json#/$defs/short_setup"
            },
            {
              "$ref": "./shared.json#/$defs/full_setup"
            }
          ]
        },
        "troubleshooting": {
          "$ref": "./shared.json#/$defs/troubleshooting"
        }
      },
      "required": [
        "id",
        "meta",
        "keywords",
        "overview",
        "setup"
      ]
    }
  }
}