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