1{
2  "definitions":{
3
4  },
5  "$schema":"http://json-schema.org/draft-07/schema#",
6  "$id":"http://example.com/root.json",
7  "type":"object",
8  "title":"The Root Schema",
9  "required":[
10    "Sensors"
11  ],
12  "properties":{
13    "Sensors":{
14      "$id":"#/properties/Sensors",
15      "type":"array",
16      "title":"The Sensors Schema",
17      "items":{
18        "$id":"#/properties/Sensors/items",
19        "type":"object",
20        "title":"The Items Schema",
21        "required":[
22          "Name",
23          "Type",
24          "HotThreshold",
25          "VrThreshold",
26          "Multiplier"
27        ],
28        "properties":{
29          "Name":{
30            "$id":"#/properties/Sensors/items/properties/Name",
31            "type":"string",
32            "title":"The Name Schema",
33            "default":"",
34            "examples":[
35              "cpu0-silver-usr"
36            ],
37            "pattern":"^(.+)$"
38          },
39          "Type":{
40            "$id":"#/properties/Sensors/items/properties/Type",
41            "type":"string",
42            "title":"The Type Schema",
43            "default":"",
44            "examples":[
45              "CPU"
46            ],
47            "pattern":"^(.+)$"
48          },
49          "HotThreshold":{
50            "$id":"#/properties/Sensors/items/properties/HotThreshold",
51            "type":"array",
52            "title":"The hot threshold Schema, values are thresholds from ThrottlingSeverity::NONE to ThrottlingSeverity::SHUTDOWN",
53            "default":"NAN",
54            "maxItems":7,
55            "minItems":7,
56            "items":{
57              "$id":"#/properties/Sensors/items/properties/HotThreshold/items",
58              "type":[
59                "string",
60                "number"
61              ],
62              "title":"The Items Schema",
63              "default":"",
64              "examples":[
65                "NAN",
66                "NAN",
67                "NAN",
68                95,
69                "NAN",
70                "NAN",
71                125
72              ],
73              "pattern":"^([-+]?[0-9]*\\.?[0-9]+|NAN)$"
74            }
75          },
76          "HotHysteresis":{
77            "$id":"#/properties/Sensors/items/properties/HotHysteresis",
78            "type":"array",
79            "title":"The hot hysteresis Schema, values are thresholds from ThrottlingSeverity::NONE to ThrottlingSeverity::SHUTDOWN. Throttling status will be cleared HotThreshold - HotHysteresis.",
80            "default":null,
81            "maxItems":7,
82            "minItems":7,
83            "items":{
84              "$id":"#/properties/Sensors/items/properties/HotHysteresis/items",
85              "type":[
86                "number"
87              ],
88              "title":"The Items Schema",
89              "default":0.0,
90              "examples":[
91                0.0,
92                0.0,
93                0.0,
94                1.0,
95                1.5,
96                1.0,
97                2.0
98              ]
99            }
100          },
101          "ColdThreshold":{
102            "$id":"#/properties/Sensors/items/properties/ColdThreshold",
103            "type":"array",
104            "title":"The cold threshold Schema, values are thresholds from ThrottlingSeverity::NONE to ThrottlingSeverity::SHUTDOWN, default to NAN",
105            "default":null,
106            "maxItems":7,
107            "minItems":7,
108            "items":{
109              "$id":"#/properties/Sensors/items/properties/ColdThreshold/items",
110              "type":"string",
111              "title":"The Items Schema",
112              "default":"NAN",
113              "examples":[
114                "NAN",
115                "NAN",
116                "NAN",
117                "NAN",
118                "NAN",
119                "NAN",
120                "NAN"
121              ],
122              "pattern":"^([-+]?[0-9]*\\.?[0-9]+|NAN)$"
123            }
124          },
125          "ColdHysteresis":{
126            "$id":"#/properties/Sensors/items/properties/ColdHysteresis",
127            "type":"array",
128            "title":"The cold hysteresis Schema, values are thresholds from ThrottlingSeverity::NONE to ThrottlingSeverity::SHUTDOWN. Throttling status will be cleared ColdThreshold + ColdHysteresis.",
129            "default":null,
130            "maxItems":7,
131            "minItems":7,
132            "items":{
133              "$id":"#/properties/Sensors/items/properties/ColdHysteresis/items",
134              "type":[
135                "number"
136              ],
137              "title":"The Items Schema",
138              "default":0.0,
139              "examples":[
140                0.0,
141                0.0,
142                0.0,
143                1.0,
144                1.5,
145                1.0,
146                2.0
147              ]
148            }
149          },
150          "VrThreshold":{
151            "$id":"#/properties/Sensors/items/properties/VrThreshold",
152            "type":"string",
153            "title":"The Vrthreshold Schema",
154            "default":"",
155            "examples":[
156              "NAN"
157            ],
158            "pattern":"^(.*)$"
159          },
160          "Multiplier":{
161            "$id":"#/properties/Sensors/items/properties/Multiplier",
162            "type":"number",
163            "title":"The Multiplier Schema",
164            "default":0.001,
165            "examples":[
166              0.001
167            ],
168            "exclusiveMinimum":0.0
169          },
170          "Monitor":{
171            "$id":"#/properties/Sensors/items/properties/Monitor",
172            "type":"boolean",
173            "title":"The Monitor Schema, if the sensor will be monitored and used to trigger throttling event",
174            "default":false,
175            "examples":[
176              true
177            ]
178          }
179        }
180      }
181    },
182    "CoolingDevices":{
183      "$id":"#/properties/CoolingDevices",
184      "type":"array",
185      "title":"The Coolingdevices Schema",
186      "items":{
187        "$id":"#/properties/CoolingDevices/items",
188        "type":"object",
189        "title":"The Items Schema",
190        "required":[
191          "Name",
192          "Type"
193        ],
194        "properties":{
195          "Name":{
196            "$id":"#/properties/CoolingDevices/items/properties/Name",
197            "type":"string",
198            "title":"The Name Schema",
199            "default":"",
200            "examples":[
201              "thermal-cpufreq-0"
202            ],
203            "pattern":"^(.+)$"
204          },
205          "Type":{
206            "$id":"#/properties/CoolingDevices/items/properties/Type",
207            "type":"string",
208            "title":"The Type Schema",
209            "default":"",
210            "examples":[
211              "CPU"
212            ],
213            "pattern":"^(.+)$"
214          }
215        }
216      }
217    }
218  }
219}
220