blob: e0be5b10b8135968b8d434ca8960fba1ad233f13 [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",
James Feistbaa5c142018-12-12 17:28:36 -08003 "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
James Feistaf996fe2018-09-14 16:02:44 -07004 "definitions": {
5 "Fan": {
6 "additionalProperties": true,
7 "description": "OpenBmc oem fan properties.",
8 "patternProperties": {
9 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
10 "description": "This property shall specify a valid odata or Redfish property.",
11 "type": [
12 "array",
13 "boolean",
14 "number",
15 "null",
16 "object",
17 "string"
18 ]
19 }
20 },
21 "properties": {
22 "FanControllers": {
23 "anyOf": [
24 {
25 "$ref": "#/definitions/FanControllers"
26 },
27 {
28 "type": "null"
29 }
30 ]
31 },
32 "FanZones": {
33 "anyOf": [
34 {
35 "$ref": "#/definitions/FanZones"
36 },
37 {
38 "type": "null"
39 }
40 ]
41 },
42 "PidControllers": {
43 "anyOf": [
44 {
45 "$ref": "#/definitions/PidControllers"
46 },
47 {
48 "type": "null"
49 }
50 ]
James Feistbaa5c142018-12-12 17:28:36 -080051 },
James Feistaf8f7912019-03-29 11:52:12 -070052 "Profile": {
53 "description": "Current thermal profile.",
54 "longDescription": "Current thermal profile.",
55 "type": [
56 "string",
57 "null"
58 ]
59 },
James Feistbaa5c142018-12-12 17:28:36 -080060 "StepwiseControllers": {
61 "anyOf": [
62 {
63 "$ref": "#/definitions/StepwiseControllers"
64 },
65 {
66 "type": "null"
67 }
68 ]
James Feistaf996fe2018-09-14 16:02:44 -070069 }
70 },
71 "type": "object"
72 },
73 "FanController": {
74 "additionalProperties": false,
75 "description": "Configuration data for Fan Controllers.",
76 "patternProperties": {
77 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
78 "description": "This property shall specify a valid odata or Redfish property.",
79 "type": [
80 "array",
81 "boolean",
82 "number",
83 "null",
84 "object",
85 "string"
86 ]
87 }
88 },
89 "properties": {
90 "FFGainCoefficient": {
Gunnar Mills222f2b72020-07-08 13:53:40 -050091 "description": "Feed forward gain coefficient for the PID.",
92 "longDescription": "Feed forward gain coefficient for the PID.",
James Feistaf996fe2018-09-14 16:02:44 -070093 "type": "number"
94 },
95 "FFOffCoefficient": {
Gunnar Mills222f2b72020-07-08 13:53:40 -050096 "description": "Feed forward offset coefficient for the PID.",
97 "longDescription": "Feed forward offset coefficient for the PID.",
James Feistaf996fe2018-09-14 16:02:44 -070098 "type": "number"
99 },
100 "ICoefficient": {
Gunnar Mills222f2b72020-07-08 13:53:40 -0500101 "description": "Integral Coefficient for the PID.",
102 "longDescription": "Integral Coefficient for the PID.",
James Feistaf996fe2018-09-14 16:02:44 -0700103 "type": "number"
104 },
105 "ILimitMax": {
Gunnar Millscaa3ce32020-07-08 14:46:53 -0500106 "description": "Integral limit maximum for the PID.",
107 "longDescription": "Integral limit maximum for the PID.",
James Feistaf996fe2018-09-14 16:02:44 -0700108 "type": "number"
109 },
110 "ILimitMin": {
Gunnar Millscaa3ce32020-07-08 14:46:53 -0500111 "description": "Integral limit minimum for the PID.",
112 "longDescription": "Integral limit minimum for the PID.",
James Feistaf996fe2018-09-14 16:02:44 -0700113 "type": "number"
114 },
115 "Inputs": {
116 "description": "Input sensors to the PID controller.",
117 "items": {
118 "type": [
119 "string",
120 "null"
121 ]
122 },
123 "longDescription": "Input sensors to the PID controller.",
124 "type": "array"
125 },
James Feistaf8f7912019-03-29 11:52:12 -0700126 "NegativeHysteresis": {
127 "description": "Negative hysteresis for the controller.",
128 "longDescription": "Negative hysteresis for the controller.",
129 "type": "number"
130 },
James Feistaf996fe2018-09-14 16:02:44 -0700131 "OutLimitMax": {
Gunnar Millscaa3ce32020-07-08 14:46:53 -0500132 "description": "Output limit maximum for the pwm.",
133 "longDescription": "Output limit maximum for the pwm.",
James Feistaf996fe2018-09-14 16:02:44 -0700134 "type": "number"
135 },
136 "OutLimitMin": {
137 "description": "Output limit minimum for the pwm.",
138 "longDescription": "Output limit minimum for the pwm.",
139 "type": "number"
140 },
141 "Outputs": {
142 "description": "Output sensors to the PID controller.",
143 "items": {
144 "type": [
145 "string",
146 "null"
147 ]
148 },
149 "longDescription": "Output sensors to the PID controller.",
150 "type": "array"
151 },
152 "PCoefficient": {
Gunnar Mills222f2b72020-07-08 13:53:40 -0500153 "description": "Polynomial coefficient for the PID.",
154 "longDescription": "Polynomial coefficient for the PID.",
James Feistaf996fe2018-09-14 16:02:44 -0700155 "type": "number"
156 },
James Feistaf8f7912019-03-29 11:52:12 -0700157 "PositiveHysteresis": {
158 "description": "Positive hysteresis for the controller.",
159 "longDescription": "Positive hysteresis for the controller.",
160 "type": "number"
161 },
James Feistaf996fe2018-09-14 16:02:44 -0700162 "SlewNeg": {
163 "description": "Negative slew rate for the PID.",
164 "longDescription": "Negative slew rate for the PID.",
165 "type": "number"
166 },
167 "SlewPos": {
168 "description": "Positive slew rate for the PID.",
169 "longDescription": "Positive slew rate for the PID.",
170 "type": "number"
171 },
172 "Zones": {
173 "description": "Contains the Zones that this PID contributes to.",
174 "items": {
175 "$ref": "#/definitions/FanZone"
176 },
177 "readonly": true,
178 "type": "array"
179 },
180 "Zones@odata.count": {
181 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
182 }
183 },
184 "type": "object"
185 },
186 "FanControllers": {
187 "additionalProperties": true,
188 "description": "OpenBmc FanControllers.",
189 "longDescription": "Container for OpenBmc fan controllers.",
190 "patternProperties": {
191 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
192 "description": "This property shall specify a valid odata or Redfish property.",
193 "type": [
194 "array",
195 "boolean",
196 "number",
197 "null",
198 "object",
199 "string"
200 ]
201 }
202 },
203 "properties": {},
204 "type": "object"
205 },
206 "FanZone": {
207 "additionalProperties": false,
208 "description": "Configuration data for Fan Controllers.",
209 "patternProperties": {
210 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
211 "description": "This property shall specify a valid odata or Redfish property.",
212 "type": [
213 "array",
214 "boolean",
215 "number",
216 "null",
217 "object",
218 "string"
219 ]
220 }
221 },
222 "properties": {
223 "Chassis": {
224 "anyOf": [
225 {
226 "$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis"
227 },
228 {
229 "type": "null"
230 }
231 ],
232 "description": "The Chassis that enables this Zone.",
233 "readonly": true
234 },
235 "FailSafePercent": {
236 "description": "If the sensors are in fail-safe mode, this is the percentage to use.",
237 "longDescription": "If the sensors are in fail-safe mode, this is the percentage to use.",
238 "type": "number"
239 },
James Feistaf8f7912019-03-29 11:52:12 -0700240 "MinThermalOutput": {
James Feistaf996fe2018-09-14 16:02:44 -0700241 "description": "Minimum thermal RPM that can be set in this Zone.",
242 "longDescription": "Minimum thermal RPM that can be set in this Zone.",
243 "type": "number"
244 }
245 },
246 "type": "object"
247 },
248 "FanZones": {
249 "additionalProperties": true,
250 "description": "OpenBmc FanZones.",
251 "longDescription": "Container for OpenBmc fan zones.",
252 "patternProperties": {
253 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
254 "description": "This property shall specify a valid odata or Redfish property.",
255 "type": [
256 "array",
257 "boolean",
258 "number",
259 "null",
260 "object",
261 "string"
262 ]
263 }
264 },
265 "properties": {},
266 "type": "object"
267 },
268 "Oem": {
269 "additionalProperties": true,
270 "description": "OemManager Oem properties.",
271 "patternProperties": {
272 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
273 "description": "This property shall specify a valid odata or Redfish property.",
274 "type": [
275 "array",
276 "boolean",
277 "number",
278 "null",
279 "object",
280 "string"
281 ]
282 }
283 },
284 "properties": {
285 "OpenBmc": {
286 "anyOf": [
287 {
288 "$ref": "#/definitions/OpenBmc"
289 },
290 {
291 "type": "null"
292 }
293 ]
294 }
295 },
296 "type": "object"
297 },
298 "OpenBmc": {
299 "additionalProperties": true,
300 "description": "Oem properties for OpenBmc.",
301 "patternProperties": {
302 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
303 "description": "This property shall specify a valid odata or Redfish property.",
304 "type": [
305 "array",
306 "boolean",
307 "number",
308 "null",
309 "object",
310 "string"
311 ]
312 }
313 },
314 "properties": {
315 "Fan": {
316 "anyOf": [
317 {
318 "$ref": "#/definitions/Fan"
319 },
320 {
321 "type": "null"
322 }
323 ]
324 }
325 },
326 "type": "object"
327 },
328 "PidController": {
329 "additionalProperties": false,
330 "description": "Configuration data for Fan Controllers.",
331 "patternProperties": {
332 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
333 "description": "This property shall specify a valid odata or Redfish property.",
334 "type": [
335 "array",
336 "boolean",
337 "number",
338 "null",
339 "object",
340 "string"
341 ]
342 }
343 },
344 "properties": {
345 "FFGainCoefficient": {
Gunnar Mills222f2b72020-07-08 13:53:40 -0500346 "description": "Feed forward gain coefficient for the PID.",
347 "longDescription": "Feed forward gain coefficient for the PID.",
James Feistaf996fe2018-09-14 16:02:44 -0700348 "type": "number"
349 },
350 "FFOffCoefficient": {
Gunnar Mills222f2b72020-07-08 13:53:40 -0500351 "description": "Feed forward offset coefficient for the PID.",
352 "longDescription": "Feed forward offset coefficient for the PID.",
James Feistaf996fe2018-09-14 16:02:44 -0700353 "type": "number"
354 },
355 "ICoefficient": {
Gunnar Mills222f2b72020-07-08 13:53:40 -0500356 "description": "Integral Coefficient for the PID.",
357 "longDescription": "Integral Coefficient for the PID.",
James Feistaf996fe2018-09-14 16:02:44 -0700358 "type": "number"
359 },
360 "ILimitMax": {
Gunnar Millscaa3ce32020-07-08 14:46:53 -0500361 "description": "Integral limit maximum for the PID.",
362 "longDescription": "Integral limit maximum for the PID.",
James Feistaf996fe2018-09-14 16:02:44 -0700363 "type": "number"
364 },
365 "ILimitMin": {
Gunnar Millscaa3ce32020-07-08 14:46:53 -0500366 "description": "Integral limit minimum for the PID.",
367 "longDescription": "Integral limit minimum for the PID.",
James Feistaf996fe2018-09-14 16:02:44 -0700368 "type": "number"
369 },
370 "Inputs": {
371 "description": "Input sensors to the PID controller.",
372 "items": {
373 "type": [
374 "string",
375 "null"
376 ]
377 },
378 "longDescription": "Input sensors to the PID controller.",
379 "type": "array"
380 },
James Feistaf8f7912019-03-29 11:52:12 -0700381 "NegativeHysteresis": {
382 "description": "Negative hysteresis for the controller.",
383 "longDescription": "Negative hysteresis for the controller.",
384 "type": "number"
385 },
James Feistaf996fe2018-09-14 16:02:44 -0700386 "OutLimitMax": {
Gunnar Millscaa3ce32020-07-08 14:46:53 -0500387 "description": "Output limit maximum for the pwm.",
388 "longDescription": "Output limit maximum for the pwm.",
James Feistaf996fe2018-09-14 16:02:44 -0700389 "type": "number"
390 },
391 "OutLimitMin": {
392 "description": "Output limit minimum for the pwm.",
393 "longDescription": "Output limit minimum for the pwm.",
394 "type": "number"
395 },
396 "PCoefficient": {
Gunnar Mills222f2b72020-07-08 13:53:40 -0500397 "description": "Polynomial coefficient for the PID.",
398 "longDescription": "Polynomial coefficient for the PID.",
James Feistaf996fe2018-09-14 16:02:44 -0700399 "type": "number"
400 },
James Feistaf8f7912019-03-29 11:52:12 -0700401 "PositiveHysteresis": {
402 "description": "Positive hysteresis for the controller.",
403 "longDescription": "Positive hysteresis for the controller.",
404 "type": "number"
405 },
406 "SetPoint": {
407 "description": "Setpoint for the PID.",
408 "longDescription": "Setpoint for the PID.",
409 "type": "number"
410 },
James Feistb943aae2019-07-11 16:33:56 -0700411 "SetPointOffset": {
412 "description": "Threshold to take value from and apply to setpoint.",
413 "longDescription": "Threshold to take value from and apply to setpoint. Valid threshold names are supported.",
414 "type": "string"
415 },
James Feistaf996fe2018-09-14 16:02:44 -0700416 "SlewNeg": {
417 "description": "Negative slew rate for the PID.",
418 "longDescription": "Negative slew rate for the PID.",
419 "type": "number"
420 },
421 "SlewPos": {
422 "description": "Positive slew rate for the PID.",
423 "longDescription": "Positive slew rate for the PID.",
424 "type": "number"
425 },
426 "Zones": {
427 "description": "Contains the Zones that this PID contributes to.",
428 "items": {
429 "$ref": "#/definitions/FanZone"
430 },
431 "readonly": true,
432 "type": "array"
433 },
434 "Zones@odata.count": {
435 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
436 }
437 },
438 "type": "object"
439 },
440 "PidControllers": {
441 "additionalProperties": true,
442 "description": "OpenBmc PidControllers.",
443 "longDescription": "Container for OpenBmc pid controllers.",
444 "patternProperties": {
445 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
446 "description": "This property shall specify a valid odata or Redfish property.",
447 "type": [
448 "array",
449 "boolean",
450 "number",
451 "null",
452 "object",
453 "string"
454 ]
455 }
456 },
457 "properties": {},
458 "type": "object"
James Feistbaa5c142018-12-12 17:28:36 -0800459 },
460 "StepwiseController": {
461 "additionalProperties": false,
462 "description": "Configuration data for Stepwise Controllers.",
463 "patternProperties": {
464 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
465 "description": "This property shall specify a valid odata or Redfish property.",
466 "type": [
467 "array",
468 "boolean",
469 "number",
470 "null",
471 "object",
472 "string"
473 ]
474 }
475 },
476 "properties": {
James Feistaf8f7912019-03-29 11:52:12 -0700477 "Direction": {
478 "description": "Direction that the stepwise controller applies.",
479 "longDescription": "Direction that the stepwise controller applies. Options include Ceiling and Floor.",
480 "type": [
481 "string",
482 "null"
483 ]
484 },
James Feistbaa5c142018-12-12 17:28:36 -0800485 "Inputs": {
486 "description": "Input sensors to the Stepwise controller.",
487 "items": {
488 "type": [
489 "string",
490 "null"
491 ]
492 },
493 "longDescription": "Input sensors to the Stepwise controller.",
494 "type": "array"
495 },
496 "NegativeHysteresis": {
497 "description": "Negative Hysteresis for the stepwise controller.",
498 "longDescription": "Negative Hysteresis for the stepwise controller.",
499 "type": "number"
500 },
501 "PositiveHysteresis": {
502 "description": "Positive Hysteresis for the stepwise controller.",
503 "longDescription": "Positive Hysteresis for the stepwise controller.",
504 "type": "number"
505 },
506 "Steps": {
507 "description": "Temperature vs RPM steps for the stepwise controller.",
508 "items": {
509 "anyOf": [
510 {
511 "$ref": "#/definitions/StepwiseSteps"
512 },
513 {
514 "type": "null"
515 }
516 ]
517 },
518 "longDescription": "Temperature vs RPM steps for the stepwise controller.",
519 "type": "array"
520 },
521 "Zones": {
522 "description": "Contains the Zones that this controller contributes to.",
523 "items": {
524 "$ref": "#/definitions/FanZone"
525 },
526 "readonly": true,
527 "type": "array"
528 },
529 "Zones@odata.count": {
530 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
531 }
532 },
533 "type": "object"
534 },
535 "StepwiseControllers": {
536 "additionalProperties": true,
537 "description": "OpenBmc StepwiseControllers.",
538 "longDescription": "Container for OpenBmc Stepwise controllers.",
539 "patternProperties": {
540 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
541 "description": "This property shall specify a valid odata or Redfish property.",
542 "type": [
543 "array",
544 "boolean",
545 "number",
546 "null",
547 "object",
548 "string"
549 ]
550 }
551 },
552 "properties": {},
553 "type": "object"
554 },
555 "StepwiseSteps": {
556 "additionalProperties": false,
557 "patternProperties": {
558 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
559 "description": "This property shall specify a valid odata or Redfish property.",
560 "type": [
561 "array",
562 "boolean",
563 "number",
564 "null",
565 "object",
566 "string"
567 ]
568 }
569 },
570 "properties": {
571 "Output": {
572 "description": "Fan speed setting for step.",
573 "longDescription": "Fan speed setting for step.",
574 "type": "number"
575 },
576 "Target": {
577 "description": "Input sensor reading for step.",
578 "longDescription": "Input sensor reading for step.",
579 "type": "number"
580 }
581 },
582 "type": "object"
James Feistaf996fe2018-09-14 16:02:44 -0700583 }
584 },
585 "title": "#OemManager"
James Feistb943aae2019-07-11 16:33:56 -0700586}