Add schema and examples for notification method metadata. (#15549)
Austin S. Hemmelgarn committed
Jul 26, 2023 at 12:53 UTC
85d122f8a6c4709943825c1fcf9bffa784bd5620
3 files changed
+138
health/notifications/sample-metadata.yaml
new
+39
@@ -0,0 +1,39 @@
1
+id: ''
2
+meta:
3
+ name: ''
4
+ link: ''
5
+ categories: []
6
+ icon_filename: ''
7
+keywords: []
8
+overview:
9
+ exporter_description: ''
10
+ exporter_limitations: ''
11
+setup:
12
+ prerequisites:
13
+ list:
14
+ - title: ''
15
+ description: ''
16
+ configuration:
17
+ file:
18
+ name: ''
19
+ description: ''
20
+ options:
21
+ description: ''
22
+ folding:
23
+ title: ''
24
+ enabled: true
25
+ list:
26
+ - name: ''
27
+ default_value: ''
28
+ description: ''
29
+ required: false
30
+ examples:
31
+ folding:
32
+ enabled: true
33
+ title: ''
34
+ list:
35
+ - name: ''
36
+ folding:
37
+ enabled: false
38
+ description: ''
39
+ config: ''
integrations/notifications.yaml
new
+39
@@ -0,0 +1,39 @@
1
+- id: ''
2
+ meta:
3
+ name: ''
4
+ link: ''
5
+ categories: []
6
+ icon_filename: ''
7
+ keywords: []
8
+ overview:
9
+ notification_description: ''
10
+ notification_limitations: ''
11
+ setup:
12
+ prerequisites:
13
+ list:
14
+ - title: ''
15
+ description: ''
16
+ configuration:
17
+ file:
18
+ name: ''
19
+ description: ''
20
+ options:
21
+ description: ''
22
+ folding:
23
+ title: ''
24
+ enabled: true
25
+ list:
26
+ - name: ''
27
+ default_value: ''
28
+ description: ''
29
+ required: false
30
+ examples:
31
+ folding:
32
+ enabled: true
33
+ title: ''
34
+ list:
35
+ - name: ''
36
+ folding:
37
+ enabled: false
38
+ description: ''
39
+ config: ''
integrations/schemas/notification.json
new
+60
@@ -0,0 +1,60 @@
1
+{
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Netdata notification mechanism metadata.",
4
+ "oneOf": [
5
+ {
6
+ "$ref": "#/$defs/entry"
7
+ },
8
+ {
9
+ "type": "array",
10
+ "items": {
11
+ "$ref": "#/$defs/entry"
12
+ }
13
+ }
14
+ ],
15
+ "$def": {
16
+ "entry": {
17
+ "type": "object",
18
+ "description": "Data for a single notification method.",
19
+ "properties": {
20
+ "id": {
21
+ "$ref": "./shared.json#/$defs/id"
22
+ },
23
+ "meta": {
24
+ "$ref": "./shared.json#/$defs/instance"
25
+ },
26
+ "keywords": {
27
+ "$ref": "./shared.json#/$defs/keywords"
28
+ },
29
+ "overview": {
30
+ "type": "object",
31
+ "description": "General information about the notification method.",
32
+ "properties": {
33
+ "notification_description": {
34
+ "type": "string",
35
+ "description": "General description of what the notification method does."
36
+ },
37
+ "notification_limitations": {
38
+ "type": "string",
39
+ "description": "Explanation of any limitations of the notification method."
40
+ }
41
+ },
42
+ "required": [
43
+ "notification_description",
44
+ "notification_limitations"
45
+ ]
46
+ },
47
+ "setup": {
48
+ "$ref": "./shared.json#/$defs/setup"
49
+ }
50
+ },
51
+ "required": [
52
+ "id",
53
+ "meta",
54
+ "keywords",
55
+ "overview",
56
+ "setup"
57
+ ]
58
+ }
59
+ }
60
+}