blob: c3b4bf40a39ad4541569e6d11067766c35c93d35 [file] [log] [blame]
James Feistaf996fe2018-09-14 16:02:44 -07001{
2 "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
3 "definitions": {
4 "Fan": {
5 "additionalProperties": true,
6 "description": "OpenBmc oem fan properties.",
7 "patternProperties": {
8 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
9 "description": "This property shall specify a valid odata or Redfish property.",
10 "type": [
11 "array",
12 "boolean",
13 "number",
14 "null",
15 "object",
16 "string"
17 ]
18 }
19 },
20 "properties": {
21 "FanControllers": {
22 "anyOf": [
23 {
24 "$ref": "#/definitions/FanControllers"
25 },
26 {
27 "type": "null"
28 }
29 ]
30 },
31 "FanZones": {
32 "anyOf": [
33 {
34 "$ref": "#/definitions/FanZones"
35 },
36 {
37 "type": "null"
38 }
39 ]
40 },
41 "PidControllers": {
42 "anyOf": [
43 {
44 "$ref": "#/definitions/PidControllers"
45 },
46 {
47 "type": "null"
48 }
49 ]
50 }
51 },
52 "type": "object"
53 },
54 "FanController": {
55 "additionalProperties": false,
56 "description": "Configuration data for Fan Controllers.",
57 "patternProperties": {
58 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
59 "description": "This property shall specify a valid odata or Redfish property.",
60 "type": [
61 "array",
62 "boolean",
63 "number",
64 "null",
65 "object",
66 "string"
67 ]
68 }
69 },
70 "properties": {
71 "FFGainCoefficient": {
72 "description": "Feed forward gain coefficent for the PID.",
73 "longDescription": "Feed forward gain coefficent for the PID.",
74 "type": "number"
75 },
76 "FFOffCoefficient": {
77 "description": "Feed forward offset coefficent for the PID.",
78 "longDescription": "Feed forward offset coefficent for the PID.",
79 "type": "number"
80 },
81 "ICoefficient": {
82 "description": "Integral Coefficent for the PID.",
83 "longDescription": "Integral Coefficent for the PID.",
84 "type": "number"
85 },
86 "ILimitMax": {
87 "description": "Integral limit maxiumum for the PID.",
88 "longDescription": "Integral limit maxiumum for the PID.",
89 "type": "number"
90 },
91 "ILimitMin": {
92 "description": "Integral limit miniumum for the PID.",
93 "longDescription": "Integral limit miniumum for the PID.",
94 "type": "number"
95 },
96 "Inputs": {
97 "description": "Input sensors to the PID controller.",
98 "items": {
99 "type": [
100 "string",
101 "null"
102 ]
103 },
104 "longDescription": "Input sensors to the PID controller.",
105 "type": "array"
106 },
107 "OutLimitMax": {
108 "description": "Output limit maxiumum for the pwm.",
109 "longDescription": "Output limit maxiumum for the pwm.",
110 "type": "number"
111 },
112 "OutLimitMin": {
113 "description": "Output limit minimum for the pwm.",
114 "longDescription": "Output limit minimum for the pwm.",
115 "type": "number"
116 },
117 "Outputs": {
118 "description": "Output sensors to the PID controller.",
119 "items": {
120 "type": [
121 "string",
122 "null"
123 ]
124 },
125 "longDescription": "Output sensors to the PID controller.",
126 "type": "array"
127 },
128 "PCoefficient": {
129 "description": "Polynomial coefficent for the PID.",
130 "longDescription": "Polynomial coefficent for the PID.",
131 "type": "number"
132 },
133 "SlewNeg": {
134 "description": "Negative slew rate for the PID.",
135 "longDescription": "Negative slew rate for the PID.",
136 "type": "number"
137 },
138 "SlewPos": {
139 "description": "Positive slew rate for the PID.",
140 "longDescription": "Positive slew rate for the PID.",
141 "type": "number"
142 },
143 "Zones": {
144 "description": "Contains the Zones that this PID contributes to.",
145 "items": {
146 "$ref": "#/definitions/FanZone"
147 },
148 "readonly": true,
149 "type": "array"
150 },
151 "Zones@odata.count": {
152 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
153 }
154 },
155 "type": "object"
156 },
157 "FanControllers": {
158 "additionalProperties": true,
159 "description": "OpenBmc FanControllers.",
160 "longDescription": "Container for OpenBmc fan controllers.",
161 "patternProperties": {
162 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
163 "description": "This property shall specify a valid odata or Redfish property.",
164 "type": [
165 "array",
166 "boolean",
167 "number",
168 "null",
169 "object",
170 "string"
171 ]
172 }
173 },
174 "properties": {},
175 "type": "object"
176 },
177 "FanZone": {
178 "additionalProperties": false,
179 "description": "Configuration data for Fan Controllers.",
180 "patternProperties": {
181 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
182 "description": "This property shall specify a valid odata or Redfish property.",
183 "type": [
184 "array",
185 "boolean",
186 "number",
187 "null",
188 "object",
189 "string"
190 ]
191 }
192 },
193 "properties": {
194 "Chassis": {
195 "anyOf": [
196 {
197 "$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis"
198 },
199 {
200 "type": "null"
201 }
202 ],
203 "description": "The Chassis that enables this Zone.",
204 "readonly": true
205 },
206 "FailSafePercent": {
207 "description": "If the sensors are in fail-safe mode, this is the percentage to use.",
208 "longDescription": "If the sensors are in fail-safe mode, this is the percentage to use.",
209 "type": "number"
210 },
211 "MinThermalRpm": {
212 "description": "Minimum thermal RPM that can be set in this Zone.",
213 "longDescription": "Minimum thermal RPM that can be set in this Zone.",
214 "type": "number"
215 }
216 },
217 "type": "object"
218 },
219 "FanZones": {
220 "additionalProperties": true,
221 "description": "OpenBmc FanZones.",
222 "longDescription": "Container for OpenBmc fan zones.",
223 "patternProperties": {
224 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
225 "description": "This property shall specify a valid odata or Redfish property.",
226 "type": [
227 "array",
228 "boolean",
229 "number",
230 "null",
231 "object",
232 "string"
233 ]
234 }
235 },
236 "properties": {},
237 "type": "object"
238 },
239 "Oem": {
240 "additionalProperties": true,
241 "description": "OemManager Oem properties.",
242 "patternProperties": {
243 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
244 "description": "This property shall specify a valid odata or Redfish property.",
245 "type": [
246 "array",
247 "boolean",
248 "number",
249 "null",
250 "object",
251 "string"
252 ]
253 }
254 },
255 "properties": {
256 "OpenBmc": {
257 "anyOf": [
258 {
259 "$ref": "#/definitions/OpenBmc"
260 },
261 {
262 "type": "null"
263 }
264 ]
265 }
266 },
267 "type": "object"
268 },
269 "OpenBmc": {
270 "additionalProperties": true,
271 "description": "Oem properties for OpenBmc.",
272 "patternProperties": {
273 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
274 "description": "This property shall specify a valid odata or Redfish property.",
275 "type": [
276 "array",
277 "boolean",
278 "number",
279 "null",
280 "object",
281 "string"
282 ]
283 }
284 },
285 "properties": {
286 "Fan": {
287 "anyOf": [
288 {
289 "$ref": "#/definitions/Fan"
290 },
291 {
292 "type": "null"
293 }
294 ]
295 }
296 },
297 "type": "object"
298 },
299 "PidController": {
300 "additionalProperties": false,
301 "description": "Configuration data for Fan Controllers.",
302 "patternProperties": {
303 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
304 "description": "This property shall specify a valid odata or Redfish property.",
305 "type": [
306 "array",
307 "boolean",
308 "number",
309 "null",
310 "object",
311 "string"
312 ]
313 }
314 },
315 "properties": {
316 "FFGainCoefficient": {
317 "description": "Feed forward gain coefficent for the PID.",
318 "longDescription": "Feed forward gain coefficent for the PID.",
319 "type": "number"
320 },
321 "FFOffCoefficient": {
322 "description": "Feed forward offset coefficent for the PID.",
323 "longDescription": "Feed forward offset coefficent for the PID.",
324 "type": "number"
325 },
326 "ICoefficient": {
327 "description": "Integral Coefficent for the PID.",
328 "longDescription": "Integral Coefficent for the PID.",
329 "type": "number"
330 },
331 "ILimitMax": {
332 "description": "Integral limit maxiumum for the PID.",
333 "longDescription": "Integral limit maxiumum for the PID.",
334 "type": "number"
335 },
336 "ILimitMin": {
337 "description": "Integral limit miniumum for the PID.",
338 "longDescription": "Integral limit miniumum for the PID.",
339 "type": "number"
340 },
341 "Inputs": {
342 "description": "Input sensors to the PID controller.",
343 "items": {
344 "type": [
345 "string",
346 "null"
347 ]
348 },
349 "longDescription": "Input sensors to the PID controller.",
350 "type": "array"
351 },
352 "OutLimitMax": {
353 "description": "Output limit maxiumum for the pwm.",
354 "longDescription": "Output limit maxiumum for the pwm.",
355 "type": "number"
356 },
357 "OutLimitMin": {
358 "description": "Output limit minimum for the pwm.",
359 "longDescription": "Output limit minimum for the pwm.",
360 "type": "number"
361 },
362 "PCoefficient": {
363 "description": "Polynomial coefficent for the PID.",
364 "longDescription": "Polynomial coefficent for the PID.",
365 "type": "number"
366 },
367 "SlewNeg": {
368 "description": "Negative slew rate for the PID.",
369 "longDescription": "Negative slew rate for the PID.",
370 "type": "number"
371 },
372 "SlewPos": {
373 "description": "Positive slew rate for the PID.",
374 "longDescription": "Positive slew rate for the PID.",
375 "type": "number"
376 },
377 "Zones": {
378 "description": "Contains the Zones that this PID contributes to.",
379 "items": {
380 "$ref": "#/definitions/FanZone"
381 },
382 "readonly": true,
383 "type": "array"
384 },
385 "Zones@odata.count": {
386 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
387 }
388 },
389 "type": "object"
390 },
391 "PidControllers": {
392 "additionalProperties": true,
393 "description": "OpenBmc PidControllers.",
394 "longDescription": "Container for OpenBmc pid controllers.",
395 "patternProperties": {
396 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
397 "description": "This property shall specify a valid odata or Redfish property.",
398 "type": [
399 "array",
400 "boolean",
401 "number",
402 "null",
403 "object",
404 "string"
405 ]
406 }
407 },
408 "properties": {},
409 "type": "object"
410 }
411 },
412 "title": "#OemManager"
413}