@cryptotaxi247 / netdata-1 / commits / 85d122f8a

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 +}