blob: e0be5b10b8135968b8d434ca8960fba1ad233f13 [file] [log] [blame]
{
"$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
"copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
"definitions": {
"Fan": {
"additionalProperties": true,
"description": "OpenBmc oem fan properties.",
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {
"FanControllers": {
"anyOf": [
{
"$ref": "#/definitions/FanControllers"
},
{
"type": "null"
}
]
},
"FanZones": {
"anyOf": [
{
"$ref": "#/definitions/FanZones"
},
{
"type": "null"
}
]
},
"PidControllers": {
"anyOf": [
{
"$ref": "#/definitions/PidControllers"
},
{
"type": "null"
}
]
},
"Profile": {
"description": "Current thermal profile.",
"longDescription": "Current thermal profile.",
"type": [
"string",
"null"
]
},
"StepwiseControllers": {
"anyOf": [
{
"$ref": "#/definitions/StepwiseControllers"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
"FanController": {
"additionalProperties": false,
"description": "Configuration data for Fan Controllers.",
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {
"FFGainCoefficient": {
"description": "Feed forward gain coefficient for the PID.",
"longDescription": "Feed forward gain coefficient for the PID.",
"type": "number"
},
"FFOffCoefficient": {
"description": "Feed forward offset coefficient for the PID.",
"longDescription": "Feed forward offset coefficient for the PID.",
"type": "number"
},
"ICoefficient": {
"description": "Integral Coefficient for the PID.",
"longDescription": "Integral Coefficient for the PID.",
"type": "number"
},
"ILimitMax": {
"description": "Integral limit maximum for the PID.",
"longDescription": "Integral limit maximum for the PID.",
"type": "number"
},
"ILimitMin": {
"description": "Integral limit minimum for the PID.",
"longDescription": "Integral limit minimum for the PID.",
"type": "number"
},
"Inputs": {
"description": "Input sensors to the PID controller.",
"items": {
"type": [
"string",
"null"
]
},
"longDescription": "Input sensors to the PID controller.",
"type": "array"
},
"NegativeHysteresis": {
"description": "Negative hysteresis for the controller.",
"longDescription": "Negative hysteresis for the controller.",
"type": "number"
},
"OutLimitMax": {
"description": "Output limit maximum for the pwm.",
"longDescription": "Output limit maximum for the pwm.",
"type": "number"
},
"OutLimitMin": {
"description": "Output limit minimum for the pwm.",
"longDescription": "Output limit minimum for the pwm.",
"type": "number"
},
"Outputs": {
"description": "Output sensors to the PID controller.",
"items": {
"type": [
"string",
"null"
]
},
"longDescription": "Output sensors to the PID controller.",
"type": "array"
},
"PCoefficient": {
"description": "Polynomial coefficient for the PID.",
"longDescription": "Polynomial coefficient for the PID.",
"type": "number"
},
"PositiveHysteresis": {
"description": "Positive hysteresis for the controller.",
"longDescription": "Positive hysteresis for the controller.",
"type": "number"
},
"SlewNeg": {
"description": "Negative slew rate for the PID.",
"longDescription": "Negative slew rate for the PID.",
"type": "number"
},
"SlewPos": {
"description": "Positive slew rate for the PID.",
"longDescription": "Positive slew rate for the PID.",
"type": "number"
},
"Zones": {
"description": "Contains the Zones that this PID contributes to.",
"items": {
"$ref": "#/definitions/FanZone"
},
"readonly": true,
"type": "array"
},
"Zones@odata.count": {
"$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
}
},
"type": "object"
},
"FanControllers": {
"additionalProperties": true,
"description": "OpenBmc FanControllers.",
"longDescription": "Container for OpenBmc fan controllers.",
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {},
"type": "object"
},
"FanZone": {
"additionalProperties": false,
"description": "Configuration data for Fan Controllers.",
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {
"Chassis": {
"anyOf": [
{
"$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis"
},
{
"type": "null"
}
],
"description": "The Chassis that enables this Zone.",
"readonly": true
},
"FailSafePercent": {
"description": "If the sensors are in fail-safe mode, this is the percentage to use.",
"longDescription": "If the sensors are in fail-safe mode, this is the percentage to use.",
"type": "number"
},
"MinThermalOutput": {
"description": "Minimum thermal RPM that can be set in this Zone.",
"longDescription": "Minimum thermal RPM that can be set in this Zone.",
"type": "number"
}
},
"type": "object"
},
"FanZones": {
"additionalProperties": true,
"description": "OpenBmc FanZones.",
"longDescription": "Container for OpenBmc fan zones.",
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {},
"type": "object"
},
"Oem": {
"additionalProperties": true,
"description": "OemManager Oem properties.",
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {
"OpenBmc": {
"anyOf": [
{
"$ref": "#/definitions/OpenBmc"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
"OpenBmc": {
"additionalProperties": true,
"description": "Oem properties for OpenBmc.",
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {
"Fan": {
"anyOf": [
{
"$ref": "#/definitions/Fan"
},
{
"type": "null"
}
]
}
},
"type": "object"
},
"PidController": {
"additionalProperties": false,
"description": "Configuration data for Fan Controllers.",
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {
"FFGainCoefficient": {
"description": "Feed forward gain coefficient for the PID.",
"longDescription": "Feed forward gain coefficient for the PID.",
"type": "number"
},
"FFOffCoefficient": {
"description": "Feed forward offset coefficient for the PID.",
"longDescription": "Feed forward offset coefficient for the PID.",
"type": "number"
},
"ICoefficient": {
"description": "Integral Coefficient for the PID.",
"longDescription": "Integral Coefficient for the PID.",
"type": "number"
},
"ILimitMax": {
"description": "Integral limit maximum for the PID.",
"longDescription": "Integral limit maximum for the PID.",
"type": "number"
},
"ILimitMin": {
"description": "Integral limit minimum for the PID.",
"longDescription": "Integral limit minimum for the PID.",
"type": "number"
},
"Inputs": {
"description": "Input sensors to the PID controller.",
"items": {
"type": [
"string",
"null"
]
},
"longDescription": "Input sensors to the PID controller.",
"type": "array"
},
"NegativeHysteresis": {
"description": "Negative hysteresis for the controller.",
"longDescription": "Negative hysteresis for the controller.",
"type": "number"
},
"OutLimitMax": {
"description": "Output limit maximum for the pwm.",
"longDescription": "Output limit maximum for the pwm.",
"type": "number"
},
"OutLimitMin": {
"description": "Output limit minimum for the pwm.",
"longDescription": "Output limit minimum for the pwm.",
"type": "number"
},
"PCoefficient": {
"description": "Polynomial coefficient for the PID.",
"longDescription": "Polynomial coefficient for the PID.",
"type": "number"
},
"PositiveHysteresis": {
"description": "Positive hysteresis for the controller.",
"longDescription": "Positive hysteresis for the controller.",
"type": "number"
},
"SetPoint": {
"description": "Setpoint for the PID.",
"longDescription": "Setpoint for the PID.",
"type": "number"
},
"SetPointOffset": {
"description": "Threshold to take value from and apply to setpoint.",
"longDescription": "Threshold to take value from and apply to setpoint. Valid threshold names are supported.",
"type": "string"
},
"SlewNeg": {
"description": "Negative slew rate for the PID.",
"longDescription": "Negative slew rate for the PID.",
"type": "number"
},
"SlewPos": {
"description": "Positive slew rate for the PID.",
"longDescription": "Positive slew rate for the PID.",
"type": "number"
},
"Zones": {
"description": "Contains the Zones that this PID contributes to.",
"items": {
"$ref": "#/definitions/FanZone"
},
"readonly": true,
"type": "array"
},
"Zones@odata.count": {
"$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
}
},
"type": "object"
},
"PidControllers": {
"additionalProperties": true,
"description": "OpenBmc PidControllers.",
"longDescription": "Container for OpenBmc pid controllers.",
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {},
"type": "object"
},
"StepwiseController": {
"additionalProperties": false,
"description": "Configuration data for Stepwise Controllers.",
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {
"Direction": {
"description": "Direction that the stepwise controller applies.",
"longDescription": "Direction that the stepwise controller applies. Options include Ceiling and Floor.",
"type": [
"string",
"null"
]
},
"Inputs": {
"description": "Input sensors to the Stepwise controller.",
"items": {
"type": [
"string",
"null"
]
},
"longDescription": "Input sensors to the Stepwise controller.",
"type": "array"
},
"NegativeHysteresis": {
"description": "Negative Hysteresis for the stepwise controller.",
"longDescription": "Negative Hysteresis for the stepwise controller.",
"type": "number"
},
"PositiveHysteresis": {
"description": "Positive Hysteresis for the stepwise controller.",
"longDescription": "Positive Hysteresis for the stepwise controller.",
"type": "number"
},
"Steps": {
"description": "Temperature vs RPM steps for the stepwise controller.",
"items": {
"anyOf": [
{
"$ref": "#/definitions/StepwiseSteps"
},
{
"type": "null"
}
]
},
"longDescription": "Temperature vs RPM steps for the stepwise controller.",
"type": "array"
},
"Zones": {
"description": "Contains the Zones that this controller contributes to.",
"items": {
"$ref": "#/definitions/FanZone"
},
"readonly": true,
"type": "array"
},
"Zones@odata.count": {
"$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
}
},
"type": "object"
},
"StepwiseControllers": {
"additionalProperties": true,
"description": "OpenBmc StepwiseControllers.",
"longDescription": "Container for OpenBmc Stepwise controllers.",
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {},
"type": "object"
},
"StepwiseSteps": {
"additionalProperties": false,
"patternProperties": {
"^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
"description": "This property shall specify a valid odata or Redfish property.",
"type": [
"array",
"boolean",
"number",
"null",
"object",
"string"
]
}
},
"properties": {
"Output": {
"description": "Fan speed setting for step.",
"longDescription": "Fan speed setting for step.",
"type": "number"
},
"Target": {
"description": "Input sensor reading for step.",
"longDescription": "Input sensor reading for step.",
"type": "number"
}
},
"type": "object"
}
},
"title": "#OemManager"
}