master
json 94 lines 1.96 KB
Raw
1 {
2 "$schema": "http://json-schema.org/draft-07/schema#",
3 "type": "object",
4 "title": "Netdata collector taxonomy section registry.",
5 "additionalProperties": false,
6 "patternProperties": {
7 "^x_": {}
8 },
9 "properties": {
10 "taxonomy_version": {
11 "type": "integer",
12 "const": 1
13 },
14 "sections": {
15 "type": "array",
16 "items": {
17 "$ref": "#/$defs/section"
18 },
19 "minItems": 1
20 }
21 },
22 "required": [
23 "taxonomy_version",
24 "sections"
25 ],
26 "$defs": {
27 "section": {
28 "type": "object",
29 "additionalProperties": false,
30 "patternProperties": {
31 "^x_": {}
32 },
33 "properties": {
34 "id": {
35 "type": "string",
36 "pattern": "^[a-z0-9][a-z0-9_.-]*$"
37 },
38 "parent_id": {
39 "type": "string",
40 "pattern": "^[a-z0-9][a-z0-9_.-]*$"
41 },
42 "title": {
43 "type": "string",
44 "minLength": 1
45 },
46 "short_name": {
47 "type": "string",
48 "minLength": 1
49 },
50 "icon": {
51 "type": "string",
52 "pattern": "^[a-zA-Z0-9_.-]+$"
53 },
54 "section_order": {
55 "type": "integer"
56 },
57 "status": {
58 "type": "string",
59 "enum": [
60 "active",
61 "deprecated"
62 ]
63 },
64 "deprecation": {
65 "type": "object",
66 "additionalProperties": false,
67 "properties": {
68 "replacement_id": {
69 "type": "string",
70 "pattern": "^[a-z0-9][a-z0-9_.-]*$"
71 },
72 "since": {
73 "type": "string",
74 "minLength": 1
75 },
76 "removal_in": {
77 "type": "string",
78 "minLength": 1
79 }
80 },
81 "required": [
82 "since"
83 ]
84 }
85 },
86 "required": [
87 "id",
88 "title",
89 "section_order",
90 "status"
91 ]
92 }
93 }
94 }