1*dd5c81e9SGunnar Mills{
2*dd5c81e9SGunnar Mills    "$id": "http://redfish.dmtf.org/schemas/v1/Control.v1_5_2.json",
3*dd5c81e9SGunnar Mills    "$ref": "#/definitions/Control",
4*dd5c81e9SGunnar Mills    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5*dd5c81e9SGunnar Mills    "copyright": "Copyright 2014-2024 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6*dd5c81e9SGunnar Mills    "definitions": {
7*dd5c81e9SGunnar Mills        "Actions": {
8*dd5c81e9SGunnar Mills            "additionalProperties": false,
9*dd5c81e9SGunnar Mills            "description": "The available actions for this resource.",
10*dd5c81e9SGunnar Mills            "longDescription": "This type shall contain the available actions for this resource.",
11*dd5c81e9SGunnar Mills            "patternProperties": {
12*dd5c81e9SGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13*dd5c81e9SGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
14*dd5c81e9SGunnar Mills                    "type": [
15*dd5c81e9SGunnar Mills                        "array",
16*dd5c81e9SGunnar Mills                        "boolean",
17*dd5c81e9SGunnar Mills                        "integer",
18*dd5c81e9SGunnar Mills                        "number",
19*dd5c81e9SGunnar Mills                        "null",
20*dd5c81e9SGunnar Mills                        "object",
21*dd5c81e9SGunnar Mills                        "string"
22*dd5c81e9SGunnar Mills                    ]
23*dd5c81e9SGunnar Mills                }
24*dd5c81e9SGunnar Mills            },
25*dd5c81e9SGunnar Mills            "properties": {
26*dd5c81e9SGunnar Mills                "#Control.ResetToDefaults": {
27*dd5c81e9SGunnar Mills                    "$ref": "#/definitions/ResetToDefaults"
28*dd5c81e9SGunnar Mills                },
29*dd5c81e9SGunnar Mills                "Oem": {
30*dd5c81e9SGunnar Mills                    "$ref": "#/definitions/OemActions",
31*dd5c81e9SGunnar Mills                    "description": "The available OEM-specific actions for this resource.",
32*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
33*dd5c81e9SGunnar Mills                }
34*dd5c81e9SGunnar Mills            },
35*dd5c81e9SGunnar Mills            "type": "object"
36*dd5c81e9SGunnar Mills        },
37*dd5c81e9SGunnar Mills        "Control": {
38*dd5c81e9SGunnar Mills            "additionalProperties": false,
39*dd5c81e9SGunnar Mills            "description": "The `Control` schema describes a control point and its properties.",
40*dd5c81e9SGunnar Mills            "longDescription": "This resource shall represent a control point for a Redfish implementation.",
41*dd5c81e9SGunnar Mills            "patternProperties": {
42*dd5c81e9SGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
43*dd5c81e9SGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
44*dd5c81e9SGunnar Mills                    "type": [
45*dd5c81e9SGunnar Mills                        "array",
46*dd5c81e9SGunnar Mills                        "boolean",
47*dd5c81e9SGunnar Mills                        "integer",
48*dd5c81e9SGunnar Mills                        "number",
49*dd5c81e9SGunnar Mills                        "null",
50*dd5c81e9SGunnar Mills                        "object",
51*dd5c81e9SGunnar Mills                        "string"
52*dd5c81e9SGunnar Mills                    ]
53*dd5c81e9SGunnar Mills                }
54*dd5c81e9SGunnar Mills            },
55*dd5c81e9SGunnar Mills            "properties": {
56*dd5c81e9SGunnar Mills                "@odata.context": {
57*dd5c81e9SGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
58*dd5c81e9SGunnar Mills                },
59*dd5c81e9SGunnar Mills                "@odata.etag": {
60*dd5c81e9SGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
61*dd5c81e9SGunnar Mills                },
62*dd5c81e9SGunnar Mills                "@odata.id": {
63*dd5c81e9SGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
64*dd5c81e9SGunnar Mills                },
65*dd5c81e9SGunnar Mills                "@odata.type": {
66*dd5c81e9SGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
67*dd5c81e9SGunnar Mills                },
68*dd5c81e9SGunnar Mills                "Accuracy": {
69*dd5c81e9SGunnar Mills                    "deprecated": "This property has been deprecated in favor of `SetPointAccuracy` to provide a range instead of a percentage.",
70*dd5c81e9SGunnar Mills                    "description": "The estimated percent error of measured versus actual values.",
71*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the percent error of the measured versus actual values of the `SetPoint` property.",
72*dd5c81e9SGunnar Mills                    "readonly": true,
73*dd5c81e9SGunnar Mills                    "type": [
74*dd5c81e9SGunnar Mills                        "number",
75*dd5c81e9SGunnar Mills                        "null"
76*dd5c81e9SGunnar Mills                    ],
77*dd5c81e9SGunnar Mills                    "units": "%",
78*dd5c81e9SGunnar Mills                    "versionDeprecated": "v1_4_0"
79*dd5c81e9SGunnar Mills                },
80*dd5c81e9SGunnar Mills                "Actions": {
81*dd5c81e9SGunnar Mills                    "$ref": "#/definitions/Actions",
82*dd5c81e9SGunnar Mills                    "description": "The available actions for this resource.",
83*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the available actions for this resource."
84*dd5c81e9SGunnar Mills                },
85*dd5c81e9SGunnar Mills                "AllowableMax": {
86*dd5c81e9SGunnar Mills                    "description": "The maximum possible setting for this control.",
87*dd5c81e9SGunnar Mills                    "excerpt": "Control",
88*dd5c81e9SGunnar Mills                    "longDescription": "This property shall indicate the maximum possible value of the `SetPoint` or `SettingMax` properties for this control.  Services shall not accept values for `SetPoint` or `SettingMax` above this value.",
89*dd5c81e9SGunnar Mills                    "readonly": true,
90*dd5c81e9SGunnar Mills                    "type": [
91*dd5c81e9SGunnar Mills                        "number",
92*dd5c81e9SGunnar Mills                        "null"
93*dd5c81e9SGunnar Mills                    ]
94*dd5c81e9SGunnar Mills                },
95*dd5c81e9SGunnar Mills                "AllowableMin": {
96*dd5c81e9SGunnar Mills                    "description": "The minimum possible setting for this control.",
97*dd5c81e9SGunnar Mills                    "excerpt": "Control",
98*dd5c81e9SGunnar Mills                    "longDescription": "This property shall indicate the minimum possible value of the `SetPoint` or `SettingMin` properties for this control.  Services shall not accept values for `SetPoint` or `SettingMin` below this value.",
99*dd5c81e9SGunnar Mills                    "readonly": true,
100*dd5c81e9SGunnar Mills                    "type": [
101*dd5c81e9SGunnar Mills                        "number",
102*dd5c81e9SGunnar Mills                        "null"
103*dd5c81e9SGunnar Mills                    ]
104*dd5c81e9SGunnar Mills                },
105*dd5c81e9SGunnar Mills                "AllowableNumericValues": {
106*dd5c81e9SGunnar Mills                    "description": "The supported values for the set point.",
107*dd5c81e9SGunnar Mills                    "excerpt": "ControlRange",
108*dd5c81e9SGunnar Mills                    "items": {
109*dd5c81e9SGunnar Mills                        "type": [
110*dd5c81e9SGunnar Mills                            "number",
111*dd5c81e9SGunnar Mills                            "null"
112*dd5c81e9SGunnar Mills                        ]
113*dd5c81e9SGunnar Mills                    },
114*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the supported values for this control.  The units shall follow the value of `SetPointUnits`.  This property should only be present when the set point or range has a limited set of supported values that cannot be accurately described using the `Increment` property.",
115*dd5c81e9SGunnar Mills                    "readonly": true,
116*dd5c81e9SGunnar Mills                    "type": "array"
117*dd5c81e9SGunnar Mills                },
118*dd5c81e9SGunnar Mills                "AssociatedSensors": {
119*dd5c81e9SGunnar Mills                    "description": "An array of links to the sensors associated with this control.",
120*dd5c81e9SGunnar Mills                    "items": {
121*dd5c81e9SGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/Sensor"
122*dd5c81e9SGunnar Mills                    },
123*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Sensor` that represent the sensors related to this control.",
124*dd5c81e9SGunnar Mills                    "readonly": true,
125*dd5c81e9SGunnar Mills                    "type": "array"
126*dd5c81e9SGunnar Mills                },
127*dd5c81e9SGunnar Mills                "AssociatedSensors@odata.count": {
128*dd5c81e9SGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
129*dd5c81e9SGunnar Mills                },
130*dd5c81e9SGunnar Mills                "ControlDelaySeconds": {
131*dd5c81e9SGunnar Mills                    "description": "The time delay in seconds before the control will activate once the value has deviated from the set point.",
132*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the time in seconds that will elapse after the control value deviates above or below the value of `SetPoint` before the control will activate.",
133*dd5c81e9SGunnar Mills                    "readonly": false,
134*dd5c81e9SGunnar Mills                    "type": [
135*dd5c81e9SGunnar Mills                        "number",
136*dd5c81e9SGunnar Mills                        "null"
137*dd5c81e9SGunnar Mills                    ]
138*dd5c81e9SGunnar Mills                },
139*dd5c81e9SGunnar Mills                "ControlLoop": {
140*dd5c81e9SGunnar Mills                    "$ref": "#/definitions/ControlLoop",
141*dd5c81e9SGunnar Mills                    "description": "The control loop details.",
142*dd5c81e9SGunnar Mills                    "excerpt": "ControlSingleLoop",
143*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the details for the control loop described by this resource."
144*dd5c81e9SGunnar Mills                },
145*dd5c81e9SGunnar Mills                "ControlMode": {
146*dd5c81e9SGunnar Mills                    "anyOf": [
147*dd5c81e9SGunnar Mills                        {
148*dd5c81e9SGunnar Mills                            "$ref": "#/definitions/ControlMode"
149*dd5c81e9SGunnar Mills                        },
150*dd5c81e9SGunnar Mills                        {
151*dd5c81e9SGunnar Mills                            "type": "null"
152*dd5c81e9SGunnar Mills                        }
153*dd5c81e9SGunnar Mills                    ],
154*dd5c81e9SGunnar Mills                    "description": "The current operating mode of the control.",
155*dd5c81e9SGunnar Mills                    "excerpt": "Control",
156*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the operating mode of the control.",
157*dd5c81e9SGunnar Mills                    "readonly": false
158*dd5c81e9SGunnar Mills                },
159*dd5c81e9SGunnar Mills                "ControlType": {
160*dd5c81e9SGunnar Mills                    "anyOf": [
161*dd5c81e9SGunnar Mills                        {
162*dd5c81e9SGunnar Mills                            "$ref": "#/definitions/ControlType"
163*dd5c81e9SGunnar Mills                        },
164*dd5c81e9SGunnar Mills                        {
165*dd5c81e9SGunnar Mills                            "type": "null"
166*dd5c81e9SGunnar Mills                        }
167*dd5c81e9SGunnar Mills                    ],
168*dd5c81e9SGunnar Mills                    "description": "The type of control.",
169*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the type of the control.",
170*dd5c81e9SGunnar Mills                    "readonly": true
171*dd5c81e9SGunnar Mills                },
172*dd5c81e9SGunnar Mills                "DeadBand": {
173*dd5c81e9SGunnar Mills                    "description": "The maximum deviation from the set point allowed before the control will activate.",
174*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the maximum deviation value allowed above or below the value of `SetPoint` before the control will activate.",
175*dd5c81e9SGunnar Mills                    "readonly": false,
176*dd5c81e9SGunnar Mills                    "type": [
177*dd5c81e9SGunnar Mills                        "number",
178*dd5c81e9SGunnar Mills                        "null"
179*dd5c81e9SGunnar Mills                    ]
180*dd5c81e9SGunnar Mills                },
181*dd5c81e9SGunnar Mills                "DefaultSetPoint": {
182*dd5c81e9SGunnar Mills                    "description": "The default set point of the control.",
183*dd5c81e9SGunnar Mills                    "excerpt": "ControlSingle",
184*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the default set point control value.  The units shall follow the value of `SetPointUnits`.  Services apply this value to the `SetPoint` property under certain conditions, such as a reset of the manager or a `ResetToDefaults` action.",
185*dd5c81e9SGunnar Mills                    "readonly": true,
186*dd5c81e9SGunnar Mills                    "type": [
187*dd5c81e9SGunnar Mills                        "number",
188*dd5c81e9SGunnar Mills                        "null"
189*dd5c81e9SGunnar Mills                    ],
190*dd5c81e9SGunnar Mills                    "versionAdded": "v1_3_0"
191*dd5c81e9SGunnar Mills                },
192*dd5c81e9SGunnar Mills                "Description": {
193*dd5c81e9SGunnar Mills                    "anyOf": [
194*dd5c81e9SGunnar Mills                        {
195*dd5c81e9SGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
196*dd5c81e9SGunnar Mills                        },
197*dd5c81e9SGunnar Mills                        {
198*dd5c81e9SGunnar Mills                            "type": "null"
199*dd5c81e9SGunnar Mills                        }
200*dd5c81e9SGunnar Mills                    ],
201*dd5c81e9SGunnar Mills                    "readonly": true
202*dd5c81e9SGunnar Mills                },
203*dd5c81e9SGunnar Mills                "Id": {
204*dd5c81e9SGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
205*dd5c81e9SGunnar Mills                    "readonly": true
206*dd5c81e9SGunnar Mills                },
207*dd5c81e9SGunnar Mills                "Implementation": {
208*dd5c81e9SGunnar Mills                    "anyOf": [
209*dd5c81e9SGunnar Mills                        {
210*dd5c81e9SGunnar Mills                            "$ref": "#/definitions/ImplementationType"
211*dd5c81e9SGunnar Mills                        },
212*dd5c81e9SGunnar Mills                        {
213*dd5c81e9SGunnar Mills                            "type": "null"
214*dd5c81e9SGunnar Mills                        }
215*dd5c81e9SGunnar Mills                    ],
216*dd5c81e9SGunnar Mills                    "description": "The implementation of the control.",
217*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the implementation of the control.",
218*dd5c81e9SGunnar Mills                    "readonly": true
219*dd5c81e9SGunnar Mills                },
220*dd5c81e9SGunnar Mills                "Increment": {
221*dd5c81e9SGunnar Mills                    "description": "The smallest increment supported for the set point.",
222*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the smallest change allowed to the value of the `SetPoint`, `SettingMin`, or `SettingMax` properties.  The units shall follow the value of `SetPointUnits`.",
223*dd5c81e9SGunnar Mills                    "readonly": true,
224*dd5c81e9SGunnar Mills                    "type": [
225*dd5c81e9SGunnar Mills                        "number",
226*dd5c81e9SGunnar Mills                        "null"
227*dd5c81e9SGunnar Mills                    ]
228*dd5c81e9SGunnar Mills                },
229*dd5c81e9SGunnar Mills                "Location": {
230*dd5c81e9SGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
231*dd5c81e9SGunnar Mills                    "description": "The location information for this control.",
232*dd5c81e9SGunnar Mills                    "longDescription": "This property shall indicate the location information for this control."
233*dd5c81e9SGunnar Mills                },
234*dd5c81e9SGunnar Mills                "Name": {
235*dd5c81e9SGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
236*dd5c81e9SGunnar Mills                    "readonly": true
237*dd5c81e9SGunnar Mills                },
238*dd5c81e9SGunnar Mills                "Oem": {
239*dd5c81e9SGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
240*dd5c81e9SGunnar Mills                    "description": "The OEM extension property.",
241*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
242*dd5c81e9SGunnar Mills                },
243*dd5c81e9SGunnar Mills                "PhysicalContext": {
244*dd5c81e9SGunnar Mills                    "anyOf": [
245*dd5c81e9SGunnar Mills                        {
246*dd5c81e9SGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/PhysicalContext.json#/definitions/PhysicalContext"
247*dd5c81e9SGunnar Mills                        },
248*dd5c81e9SGunnar Mills                        {
249*dd5c81e9SGunnar Mills                            "type": "null"
250*dd5c81e9SGunnar Mills                        }
251*dd5c81e9SGunnar Mills                    ],
252*dd5c81e9SGunnar Mills                    "description": "The area or device to which this control applies.",
253*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain a description of the affected component or region within the equipment to which this control applies.",
254*dd5c81e9SGunnar Mills                    "readonly": true
255*dd5c81e9SGunnar Mills                },
256*dd5c81e9SGunnar Mills                "PhysicalSubContext": {
257*dd5c81e9SGunnar Mills                    "anyOf": [
258*dd5c81e9SGunnar Mills                        {
259*dd5c81e9SGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/PhysicalContext.json#/definitions/PhysicalSubContext"
260*dd5c81e9SGunnar Mills                        },
261*dd5c81e9SGunnar Mills                        {
262*dd5c81e9SGunnar Mills                            "type": "null"
263*dd5c81e9SGunnar Mills                        }
264*dd5c81e9SGunnar Mills                    ],
265*dd5c81e9SGunnar Mills                    "description": "The usage or location within a device to which this control applies.",
266*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain a description of the usage or sub-region within the equipment to which this control applies.  This property generally differentiates multiple controls within the same `PhysicalContext` instance.",
267*dd5c81e9SGunnar Mills                    "readonly": true
268*dd5c81e9SGunnar Mills                },
269*dd5c81e9SGunnar Mills                "RelatedItem": {
270*dd5c81e9SGunnar Mills                    "description": "An array of links to resources that this control services.",
271*dd5c81e9SGunnar Mills                    "items": {
272*dd5c81e9SGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/idRef"
273*dd5c81e9SGunnar Mills                    },
274*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain an array of links to resources that this control services.",
275*dd5c81e9SGunnar Mills                    "readonly": true,
276*dd5c81e9SGunnar Mills                    "type": "array"
277*dd5c81e9SGunnar Mills                },
278*dd5c81e9SGunnar Mills                "RelatedItem@odata.count": {
279*dd5c81e9SGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
280*dd5c81e9SGunnar Mills                },
281*dd5c81e9SGunnar Mills                "Sensor": {
282*dd5c81e9SGunnar Mills                    "anyOf": [
283*dd5c81e9SGunnar Mills                        {
284*dd5c81e9SGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorExcerpt"
285*dd5c81e9SGunnar Mills                        },
286*dd5c81e9SGunnar Mills                        {
287*dd5c81e9SGunnar Mills                            "type": "null"
288*dd5c81e9SGunnar Mills                        }
289*dd5c81e9SGunnar Mills                    ],
290*dd5c81e9SGunnar Mills                    "description": "The sensor reading associated with this control.",
291*dd5c81e9SGunnar Mills                    "excerptCopy": "SensorExcerpt",
292*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the Sensor excerpt directly associated with this control.  The value of the `DataSourceUri` property shall reference a resource of type `Sensor`.  This property shall not be present if multiple sensors are associated with a single control."
293*dd5c81e9SGunnar Mills                },
294*dd5c81e9SGunnar Mills                "SetPoint": {
295*dd5c81e9SGunnar Mills                    "description": "The desired set point of the control.",
296*dd5c81e9SGunnar Mills                    "excerpt": "ControlSingle,ControlSingleLoop",
297*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the desired set point control value.  The units shall follow the value of `SetPointUnits`.  If the `DefaultSetPoint` property is not supported and if a user-defined set point is not configured, the property may contain `null` in responses.",
298*dd5c81e9SGunnar Mills                    "readonly": false,
299*dd5c81e9SGunnar Mills                    "type": [
300*dd5c81e9SGunnar Mills                        "number",
301*dd5c81e9SGunnar Mills                        "null"
302*dd5c81e9SGunnar Mills                    ]
303*dd5c81e9SGunnar Mills                },
304*dd5c81e9SGunnar Mills                "SetPointAccuracy": {
305*dd5c81e9SGunnar Mills                    "description": "Accuracy (+/-) of the set point.",
306*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the accuracy of the value of the `SetPoint` for this control.  The value shall be the absolute value of the maximum deviation of the `SetPoint` from its actual value.  The value shall be in units that follow the `SetPointUnits` for this control.",
307*dd5c81e9SGunnar Mills                    "readonly": true,
308*dd5c81e9SGunnar Mills                    "type": [
309*dd5c81e9SGunnar Mills                        "number",
310*dd5c81e9SGunnar Mills                        "null"
311*dd5c81e9SGunnar Mills                    ],
312*dd5c81e9SGunnar Mills                    "versionAdded": "v1_4_0"
313*dd5c81e9SGunnar Mills                },
314*dd5c81e9SGunnar Mills                "SetPointType": {
315*dd5c81e9SGunnar Mills                    "anyOf": [
316*dd5c81e9SGunnar Mills                        {
317*dd5c81e9SGunnar Mills                            "$ref": "#/definitions/SetPointType"
318*dd5c81e9SGunnar Mills                        },
319*dd5c81e9SGunnar Mills                        {
320*dd5c81e9SGunnar Mills                            "type": "null"
321*dd5c81e9SGunnar Mills                        }
322*dd5c81e9SGunnar Mills                    ],
323*dd5c81e9SGunnar Mills                    "description": "The set point type used to operate the control.",
324*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the type of set point definitions used to describe this control.",
325*dd5c81e9SGunnar Mills                    "readonly": true
326*dd5c81e9SGunnar Mills                },
327*dd5c81e9SGunnar Mills                "SetPointUnits": {
328*dd5c81e9SGunnar Mills                    "description": "The units of the set point and related properties in UCUM c/s format.",
329*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the units of the control's set point and related properties.  The value shall follow the case-sensitive symbol format defined by the Unified Code for Units of Measure (UCUM), as specified by the 'Units of measure annotation' clause of the Redfish Specification.",
330*dd5c81e9SGunnar Mills                    "readonly": true,
331*dd5c81e9SGunnar Mills                    "type": [
332*dd5c81e9SGunnar Mills                        "string",
333*dd5c81e9SGunnar Mills                        "null"
334*dd5c81e9SGunnar Mills                    ]
335*dd5c81e9SGunnar Mills                },
336*dd5c81e9SGunnar Mills                "SetPointUpdateTime": {
337*dd5c81e9SGunnar Mills                    "description": "The date and time that the set point was changed.",
338*dd5c81e9SGunnar Mills                    "format": "date-time",
339*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the date and time that the value of `SetPoint` was last changed.",
340*dd5c81e9SGunnar Mills                    "readonly": true,
341*dd5c81e9SGunnar Mills                    "type": [
342*dd5c81e9SGunnar Mills                        "string",
343*dd5c81e9SGunnar Mills                        "null"
344*dd5c81e9SGunnar Mills                    ]
345*dd5c81e9SGunnar Mills                },
346*dd5c81e9SGunnar Mills                "SettingMax": {
347*dd5c81e9SGunnar Mills                    "description": "The maximum set point in the allowed range.",
348*dd5c81e9SGunnar Mills                    "excerpt": "ControlRange",
349*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the maximum desired set point within the acceptable range.  The service shall reject values greater than the value of `AllowableMax`.  The units shall follow the value of `SetPointUnits`.",
350*dd5c81e9SGunnar Mills                    "readonly": false,
351*dd5c81e9SGunnar Mills                    "type": [
352*dd5c81e9SGunnar Mills                        "number",
353*dd5c81e9SGunnar Mills                        "null"
354*dd5c81e9SGunnar Mills                    ]
355*dd5c81e9SGunnar Mills                },
356*dd5c81e9SGunnar Mills                "SettingMin": {
357*dd5c81e9SGunnar Mills                    "description": "The minimum set point in the allowed range.",
358*dd5c81e9SGunnar Mills                    "excerpt": "ControlRange",
359*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the minimum desired set point within the acceptable range.  The service shall reject values less than the value of `AllowableMin`.  The units shall follow the value of `SetPointUnits`.",
360*dd5c81e9SGunnar Mills                    "readonly": false,
361*dd5c81e9SGunnar Mills                    "type": [
362*dd5c81e9SGunnar Mills                        "number",
363*dd5c81e9SGunnar Mills                        "null"
364*dd5c81e9SGunnar Mills                    ]
365*dd5c81e9SGunnar Mills                },
366*dd5c81e9SGunnar Mills                "Status": {
367*dd5c81e9SGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
368*dd5c81e9SGunnar Mills                    "description": "The status and health of the resource and its subordinate or dependent resources.",
369*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain any status or health properties of the resource."
370*dd5c81e9SGunnar Mills                }
371*dd5c81e9SGunnar Mills            },
372*dd5c81e9SGunnar Mills            "required": [
373*dd5c81e9SGunnar Mills                "@odata.id",
374*dd5c81e9SGunnar Mills                "@odata.type",
375*dd5c81e9SGunnar Mills                "Id",
376*dd5c81e9SGunnar Mills                "Name"
377*dd5c81e9SGunnar Mills            ],
378*dd5c81e9SGunnar Mills            "type": "object"
379*dd5c81e9SGunnar Mills        },
380*dd5c81e9SGunnar Mills        "ControlExcerpt": {
381*dd5c81e9SGunnar Mills            "additionalProperties": false,
382*dd5c81e9SGunnar Mills            "description": "The `Control` schema describes a control point and its properties.",
383*dd5c81e9SGunnar Mills            "excerpt": "Control",
384*dd5c81e9SGunnar Mills            "longDescription": "This resource shall represent a control point for a Redfish implementation.",
385*dd5c81e9SGunnar Mills            "patternProperties": {
386*dd5c81e9SGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
387*dd5c81e9SGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
388*dd5c81e9SGunnar Mills                    "type": [
389*dd5c81e9SGunnar Mills                        "array",
390*dd5c81e9SGunnar Mills                        "boolean",
391*dd5c81e9SGunnar Mills                        "integer",
392*dd5c81e9SGunnar Mills                        "number",
393*dd5c81e9SGunnar Mills                        "null",
394*dd5c81e9SGunnar Mills                        "object",
395*dd5c81e9SGunnar Mills                        "string"
396*dd5c81e9SGunnar Mills                    ]
397*dd5c81e9SGunnar Mills                }
398*dd5c81e9SGunnar Mills            },
399*dd5c81e9SGunnar Mills            "properties": {
400*dd5c81e9SGunnar Mills                "AllowableMax": {
401*dd5c81e9SGunnar Mills                    "description": "The maximum possible setting for this control.",
402*dd5c81e9SGunnar Mills                    "excerpt": "Control",
403*dd5c81e9SGunnar Mills                    "longDescription": "This property shall indicate the maximum possible value of the `SetPoint` or `SettingMax` properties for this control.  Services shall not accept values for `SetPoint` or `SettingMax` above this value.",
404*dd5c81e9SGunnar Mills                    "readonly": true,
405*dd5c81e9SGunnar Mills                    "type": [
406*dd5c81e9SGunnar Mills                        "number",
407*dd5c81e9SGunnar Mills                        "null"
408*dd5c81e9SGunnar Mills                    ]
409*dd5c81e9SGunnar Mills                },
410*dd5c81e9SGunnar Mills                "AllowableMin": {
411*dd5c81e9SGunnar Mills                    "description": "The minimum possible setting for this control.",
412*dd5c81e9SGunnar Mills                    "excerpt": "Control",
413*dd5c81e9SGunnar Mills                    "longDescription": "This property shall indicate the minimum possible value of the `SetPoint` or `SettingMin` properties for this control.  Services shall not accept values for `SetPoint` or `SettingMin` below this value.",
414*dd5c81e9SGunnar Mills                    "readonly": true,
415*dd5c81e9SGunnar Mills                    "type": [
416*dd5c81e9SGunnar Mills                        "number",
417*dd5c81e9SGunnar Mills                        "null"
418*dd5c81e9SGunnar Mills                    ]
419*dd5c81e9SGunnar Mills                },
420*dd5c81e9SGunnar Mills                "ControlMode": {
421*dd5c81e9SGunnar Mills                    "anyOf": [
422*dd5c81e9SGunnar Mills                        {
423*dd5c81e9SGunnar Mills                            "$ref": "#/definitions/ControlMode"
424*dd5c81e9SGunnar Mills                        },
425*dd5c81e9SGunnar Mills                        {
426*dd5c81e9SGunnar Mills                            "type": "null"
427*dd5c81e9SGunnar Mills                        }
428*dd5c81e9SGunnar Mills                    ],
429*dd5c81e9SGunnar Mills                    "description": "The current operating mode of the control.",
430*dd5c81e9SGunnar Mills                    "excerpt": "Control",
431*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the operating mode of the control.",
432*dd5c81e9SGunnar Mills                    "readonly": false
433*dd5c81e9SGunnar Mills                },
434*dd5c81e9SGunnar Mills                "DataSourceUri": {
435*dd5c81e9SGunnar Mills                    "description": "The link to the resource that provides the data for this control.",
436*dd5c81e9SGunnar Mills                    "excerptCopyOnly": true,
437*dd5c81e9SGunnar Mills                    "format": "uri-reference",
438*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain a URI to the resource that provides the source of the excerpt contained within this copy.  If no source resource is implemented, meaning the excerpt represents the only available data, this property shall not be present.",
439*dd5c81e9SGunnar Mills                    "readonly": true,
440*dd5c81e9SGunnar Mills                    "type": [
441*dd5c81e9SGunnar Mills                        "string",
442*dd5c81e9SGunnar Mills                        "null"
443*dd5c81e9SGunnar Mills                    ]
444*dd5c81e9SGunnar Mills                },
445*dd5c81e9SGunnar Mills                "Reading": {
446*dd5c81e9SGunnar Mills                    "description": "The reading of the sensor associated with this control.",
447*dd5c81e9SGunnar Mills                    "excerptCopyOnly": true,
448*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the value of the `Reading` property of the `Sensor` resource directly associated with this control.  This property shall not be present if multiple sensors are associated with a single control.",
449*dd5c81e9SGunnar Mills                    "readonly": true,
450*dd5c81e9SGunnar Mills                    "type": [
451*dd5c81e9SGunnar Mills                        "number",
452*dd5c81e9SGunnar Mills                        "null"
453*dd5c81e9SGunnar Mills                    ]
454*dd5c81e9SGunnar Mills                },
455*dd5c81e9SGunnar Mills                "ReadingUnits": {
456*dd5c81e9SGunnar Mills                    "description": "The units of the sensor reading associated with this control.",
457*dd5c81e9SGunnar Mills                    "excerptCopyOnly": true,
458*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the units of the sensor's reading and thresholds.  This property shall not be present if multiple sensors are associated with a single control.",
459*dd5c81e9SGunnar Mills                    "readonly": true,
460*dd5c81e9SGunnar Mills                    "type": [
461*dd5c81e9SGunnar Mills                        "string",
462*dd5c81e9SGunnar Mills                        "null"
463*dd5c81e9SGunnar Mills                    ]
464*dd5c81e9SGunnar Mills                }
465*dd5c81e9SGunnar Mills            },
466*dd5c81e9SGunnar Mills            "type": "object"
467*dd5c81e9SGunnar Mills        },
468*dd5c81e9SGunnar Mills        "ControlLoop": {
469*dd5c81e9SGunnar Mills            "additionalProperties": false,
470*dd5c81e9SGunnar Mills            "description": "The details and coefficients used to operate a control loop.",
471*dd5c81e9SGunnar Mills            "longDescription": "This type shall describe the details of a control loop.",
472*dd5c81e9SGunnar Mills            "patternProperties": {
473*dd5c81e9SGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
474*dd5c81e9SGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
475*dd5c81e9SGunnar Mills                    "type": [
476*dd5c81e9SGunnar Mills                        "array",
477*dd5c81e9SGunnar Mills                        "boolean",
478*dd5c81e9SGunnar Mills                        "integer",
479*dd5c81e9SGunnar Mills                        "number",
480*dd5c81e9SGunnar Mills                        "null",
481*dd5c81e9SGunnar Mills                        "object",
482*dd5c81e9SGunnar Mills                        "string"
483*dd5c81e9SGunnar Mills                    ]
484*dd5c81e9SGunnar Mills                }
485*dd5c81e9SGunnar Mills            },
486*dd5c81e9SGunnar Mills            "properties": {
487*dd5c81e9SGunnar Mills                "CoefficientUpdateTime": {
488*dd5c81e9SGunnar Mills                    "description": "The date and time that the control loop coefficients were changed.",
489*dd5c81e9SGunnar Mills                    "format": "date-time",
490*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the date and time that any of the coefficients for the control loop were last changed.",
491*dd5c81e9SGunnar Mills                    "readonly": true,
492*dd5c81e9SGunnar Mills                    "type": [
493*dd5c81e9SGunnar Mills                        "string",
494*dd5c81e9SGunnar Mills                        "null"
495*dd5c81e9SGunnar Mills                    ]
496*dd5c81e9SGunnar Mills                },
497*dd5c81e9SGunnar Mills                "Differential": {
498*dd5c81e9SGunnar Mills                    "description": "The differential coefficient.",
499*dd5c81e9SGunnar Mills                    "excerpt": "ControlSingleLoop",
500*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the coefficient for the differential factor in a control loop.",
501*dd5c81e9SGunnar Mills                    "readonly": false,
502*dd5c81e9SGunnar Mills                    "type": [
503*dd5c81e9SGunnar Mills                        "number",
504*dd5c81e9SGunnar Mills                        "null"
505*dd5c81e9SGunnar Mills                    ]
506*dd5c81e9SGunnar Mills                },
507*dd5c81e9SGunnar Mills                "Integral": {
508*dd5c81e9SGunnar Mills                    "description": "The integral coefficient.",
509*dd5c81e9SGunnar Mills                    "excerpt": "ControlSingleLoop",
510*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the coefficient for the integral factor in a control loop.",
511*dd5c81e9SGunnar Mills                    "readonly": false,
512*dd5c81e9SGunnar Mills                    "type": [
513*dd5c81e9SGunnar Mills                        "number",
514*dd5c81e9SGunnar Mills                        "null"
515*dd5c81e9SGunnar Mills                    ]
516*dd5c81e9SGunnar Mills                },
517*dd5c81e9SGunnar Mills                "Proportional": {
518*dd5c81e9SGunnar Mills                    "description": "The proportional coefficient.",
519*dd5c81e9SGunnar Mills                    "excerpt": "ControlSingleLoop",
520*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the coefficient for the proportional factor in a control loop.",
521*dd5c81e9SGunnar Mills                    "readonly": false,
522*dd5c81e9SGunnar Mills                    "type": [
523*dd5c81e9SGunnar Mills                        "number",
524*dd5c81e9SGunnar Mills                        "null"
525*dd5c81e9SGunnar Mills                    ]
526*dd5c81e9SGunnar Mills                }
527*dd5c81e9SGunnar Mills            },
528*dd5c81e9SGunnar Mills            "type": "object"
529*dd5c81e9SGunnar Mills        },
530*dd5c81e9SGunnar Mills        "ControlMode": {
531*dd5c81e9SGunnar Mills            "enum": [
532*dd5c81e9SGunnar Mills                "Automatic",
533*dd5c81e9SGunnar Mills                "Override",
534*dd5c81e9SGunnar Mills                "Manual",
535*dd5c81e9SGunnar Mills                "Disabled"
536*dd5c81e9SGunnar Mills            ],
537*dd5c81e9SGunnar Mills            "enumDescriptions": {
538*dd5c81e9SGunnar Mills                "Automatic": "Automatically adjust control to meet the set point.",
539*dd5c81e9SGunnar Mills                "Disabled": "The control has been disabled.",
540*dd5c81e9SGunnar Mills                "Manual": "No automatic adjustments are made to the control.",
541*dd5c81e9SGunnar Mills                "Override": "User override of the automatic set point value."
542*dd5c81e9SGunnar Mills            },
543*dd5c81e9SGunnar Mills            "type": "string"
544*dd5c81e9SGunnar Mills        },
545*dd5c81e9SGunnar Mills        "ControlRangeExcerpt": {
546*dd5c81e9SGunnar Mills            "additionalProperties": false,
547*dd5c81e9SGunnar Mills            "description": "The `Control` schema describes a control point and its properties.",
548*dd5c81e9SGunnar Mills            "excerpt": "ControlRange",
549*dd5c81e9SGunnar Mills            "longDescription": "This resource shall represent a control point for a Redfish implementation.",
550*dd5c81e9SGunnar Mills            "patternProperties": {
551*dd5c81e9SGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
552*dd5c81e9SGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
553*dd5c81e9SGunnar Mills                    "type": [
554*dd5c81e9SGunnar Mills                        "array",
555*dd5c81e9SGunnar Mills                        "boolean",
556*dd5c81e9SGunnar Mills                        "integer",
557*dd5c81e9SGunnar Mills                        "number",
558*dd5c81e9SGunnar Mills                        "null",
559*dd5c81e9SGunnar Mills                        "object",
560*dd5c81e9SGunnar Mills                        "string"
561*dd5c81e9SGunnar Mills                    ]
562*dd5c81e9SGunnar Mills                }
563*dd5c81e9SGunnar Mills            },
564*dd5c81e9SGunnar Mills            "properties": {
565*dd5c81e9SGunnar Mills                "AllowableMax": {
566*dd5c81e9SGunnar Mills                    "description": "The maximum possible setting for this control.",
567*dd5c81e9SGunnar Mills                    "excerpt": "Control",
568*dd5c81e9SGunnar Mills                    "longDescription": "This property shall indicate the maximum possible value of the `SetPoint` or `SettingMax` properties for this control.  Services shall not accept values for `SetPoint` or `SettingMax` above this value.",
569*dd5c81e9SGunnar Mills                    "readonly": true,
570*dd5c81e9SGunnar Mills                    "type": [
571*dd5c81e9SGunnar Mills                        "number",
572*dd5c81e9SGunnar Mills                        "null"
573*dd5c81e9SGunnar Mills                    ]
574*dd5c81e9SGunnar Mills                },
575*dd5c81e9SGunnar Mills                "AllowableMin": {
576*dd5c81e9SGunnar Mills                    "description": "The minimum possible setting for this control.",
577*dd5c81e9SGunnar Mills                    "excerpt": "Control",
578*dd5c81e9SGunnar Mills                    "longDescription": "This property shall indicate the minimum possible value of the `SetPoint` or `SettingMin` properties for this control.  Services shall not accept values for `SetPoint` or `SettingMin` below this value.",
579*dd5c81e9SGunnar Mills                    "readonly": true,
580*dd5c81e9SGunnar Mills                    "type": [
581*dd5c81e9SGunnar Mills                        "number",
582*dd5c81e9SGunnar Mills                        "null"
583*dd5c81e9SGunnar Mills                    ]
584*dd5c81e9SGunnar Mills                },
585*dd5c81e9SGunnar Mills                "AllowableNumericValues": {
586*dd5c81e9SGunnar Mills                    "description": "The supported values for the set point.",
587*dd5c81e9SGunnar Mills                    "excerpt": "ControlRange",
588*dd5c81e9SGunnar Mills                    "items": {
589*dd5c81e9SGunnar Mills                        "type": [
590*dd5c81e9SGunnar Mills                            "number",
591*dd5c81e9SGunnar Mills                            "null"
592*dd5c81e9SGunnar Mills                        ]
593*dd5c81e9SGunnar Mills                    },
594*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the supported values for this control.  The units shall follow the value of `SetPointUnits`.  This property should only be present when the set point or range has a limited set of supported values that cannot be accurately described using the `Increment` property.",
595*dd5c81e9SGunnar Mills                    "readonly": true,
596*dd5c81e9SGunnar Mills                    "type": "array"
597*dd5c81e9SGunnar Mills                },
598*dd5c81e9SGunnar Mills                "ControlMode": {
599*dd5c81e9SGunnar Mills                    "anyOf": [
600*dd5c81e9SGunnar Mills                        {
601*dd5c81e9SGunnar Mills                            "$ref": "#/definitions/ControlMode"
602*dd5c81e9SGunnar Mills                        },
603*dd5c81e9SGunnar Mills                        {
604*dd5c81e9SGunnar Mills                            "type": "null"
605*dd5c81e9SGunnar Mills                        }
606*dd5c81e9SGunnar Mills                    ],
607*dd5c81e9SGunnar Mills                    "description": "The current operating mode of the control.",
608*dd5c81e9SGunnar Mills                    "excerpt": "Control",
609*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the operating mode of the control.",
610*dd5c81e9SGunnar Mills                    "readonly": false
611*dd5c81e9SGunnar Mills                },
612*dd5c81e9SGunnar Mills                "DataSourceUri": {
613*dd5c81e9SGunnar Mills                    "description": "The link to the resource that provides the data for this control.",
614*dd5c81e9SGunnar Mills                    "excerptCopyOnly": true,
615*dd5c81e9SGunnar Mills                    "format": "uri-reference",
616*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain a URI to the resource that provides the source of the excerpt contained within this copy.  If no source resource is implemented, meaning the excerpt represents the only available data, this property shall not be present.",
617*dd5c81e9SGunnar Mills                    "readonly": true,
618*dd5c81e9SGunnar Mills                    "type": [
619*dd5c81e9SGunnar Mills                        "string",
620*dd5c81e9SGunnar Mills                        "null"
621*dd5c81e9SGunnar Mills                    ]
622*dd5c81e9SGunnar Mills                },
623*dd5c81e9SGunnar Mills                "Reading": {
624*dd5c81e9SGunnar Mills                    "description": "The reading of the sensor associated with this control.",
625*dd5c81e9SGunnar Mills                    "excerptCopyOnly": true,
626*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the value of the `Reading` property of the `Sensor` resource directly associated with this control.  This property shall not be present if multiple sensors are associated with a single control.",
627*dd5c81e9SGunnar Mills                    "readonly": true,
628*dd5c81e9SGunnar Mills                    "type": [
629*dd5c81e9SGunnar Mills                        "number",
630*dd5c81e9SGunnar Mills                        "null"
631*dd5c81e9SGunnar Mills                    ]
632*dd5c81e9SGunnar Mills                },
633*dd5c81e9SGunnar Mills                "ReadingUnits": {
634*dd5c81e9SGunnar Mills                    "description": "The units of the sensor reading associated with this control.",
635*dd5c81e9SGunnar Mills                    "excerptCopyOnly": true,
636*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the units of the sensor's reading and thresholds.  This property shall not be present if multiple sensors are associated with a single control.",
637*dd5c81e9SGunnar Mills                    "readonly": true,
638*dd5c81e9SGunnar Mills                    "type": [
639*dd5c81e9SGunnar Mills                        "string",
640*dd5c81e9SGunnar Mills                        "null"
641*dd5c81e9SGunnar Mills                    ]
642*dd5c81e9SGunnar Mills                },
643*dd5c81e9SGunnar Mills                "SettingMax": {
644*dd5c81e9SGunnar Mills                    "description": "The maximum set point in the allowed range.",
645*dd5c81e9SGunnar Mills                    "excerpt": "ControlRange",
646*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the maximum desired set point within the acceptable range.  The service shall reject values greater than the value of `AllowableMax`.  The units shall follow the value of `SetPointUnits`.",
647*dd5c81e9SGunnar Mills                    "readonly": false,
648*dd5c81e9SGunnar Mills                    "type": [
649*dd5c81e9SGunnar Mills                        "number",
650*dd5c81e9SGunnar Mills                        "null"
651*dd5c81e9SGunnar Mills                    ]
652*dd5c81e9SGunnar Mills                },
653*dd5c81e9SGunnar Mills                "SettingMin": {
654*dd5c81e9SGunnar Mills                    "description": "The minimum set point in the allowed range.",
655*dd5c81e9SGunnar Mills                    "excerpt": "ControlRange",
656*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the minimum desired set point within the acceptable range.  The service shall reject values less than the value of `AllowableMin`.  The units shall follow the value of `SetPointUnits`.",
657*dd5c81e9SGunnar Mills                    "readonly": false,
658*dd5c81e9SGunnar Mills                    "type": [
659*dd5c81e9SGunnar Mills                        "number",
660*dd5c81e9SGunnar Mills                        "null"
661*dd5c81e9SGunnar Mills                    ]
662*dd5c81e9SGunnar Mills                }
663*dd5c81e9SGunnar Mills            },
664*dd5c81e9SGunnar Mills            "type": "object"
665*dd5c81e9SGunnar Mills        },
666*dd5c81e9SGunnar Mills        "ControlSingleExcerpt": {
667*dd5c81e9SGunnar Mills            "additionalProperties": false,
668*dd5c81e9SGunnar Mills            "description": "The `Control` schema describes a control point and its properties.",
669*dd5c81e9SGunnar Mills            "excerpt": "ControlSingle",
670*dd5c81e9SGunnar Mills            "longDescription": "This resource shall represent a control point for a Redfish implementation.",
671*dd5c81e9SGunnar Mills            "patternProperties": {
672*dd5c81e9SGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
673*dd5c81e9SGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
674*dd5c81e9SGunnar Mills                    "type": [
675*dd5c81e9SGunnar Mills                        "array",
676*dd5c81e9SGunnar Mills                        "boolean",
677*dd5c81e9SGunnar Mills                        "integer",
678*dd5c81e9SGunnar Mills                        "number",
679*dd5c81e9SGunnar Mills                        "null",
680*dd5c81e9SGunnar Mills                        "object",
681*dd5c81e9SGunnar Mills                        "string"
682*dd5c81e9SGunnar Mills                    ]
683*dd5c81e9SGunnar Mills                }
684*dd5c81e9SGunnar Mills            },
685*dd5c81e9SGunnar Mills            "properties": {
686*dd5c81e9SGunnar Mills                "AllowableMax": {
687*dd5c81e9SGunnar Mills                    "description": "The maximum possible setting for this control.",
688*dd5c81e9SGunnar Mills                    "excerpt": "Control",
689*dd5c81e9SGunnar Mills                    "longDescription": "This property shall indicate the maximum possible value of the `SetPoint` or `SettingMax` properties for this control.  Services shall not accept values for `SetPoint` or `SettingMax` above this value.",
690*dd5c81e9SGunnar Mills                    "readonly": true,
691*dd5c81e9SGunnar Mills                    "type": [
692*dd5c81e9SGunnar Mills                        "number",
693*dd5c81e9SGunnar Mills                        "null"
694*dd5c81e9SGunnar Mills                    ]
695*dd5c81e9SGunnar Mills                },
696*dd5c81e9SGunnar Mills                "AllowableMin": {
697*dd5c81e9SGunnar Mills                    "description": "The minimum possible setting for this control.",
698*dd5c81e9SGunnar Mills                    "excerpt": "Control",
699*dd5c81e9SGunnar Mills                    "longDescription": "This property shall indicate the minimum possible value of the `SetPoint` or `SettingMin` properties for this control.  Services shall not accept values for `SetPoint` or `SettingMin` below this value.",
700*dd5c81e9SGunnar Mills                    "readonly": true,
701*dd5c81e9SGunnar Mills                    "type": [
702*dd5c81e9SGunnar Mills                        "number",
703*dd5c81e9SGunnar Mills                        "null"
704*dd5c81e9SGunnar Mills                    ]
705*dd5c81e9SGunnar Mills                },
706*dd5c81e9SGunnar Mills                "ControlMode": {
707*dd5c81e9SGunnar Mills                    "anyOf": [
708*dd5c81e9SGunnar Mills                        {
709*dd5c81e9SGunnar Mills                            "$ref": "#/definitions/ControlMode"
710*dd5c81e9SGunnar Mills                        },
711*dd5c81e9SGunnar Mills                        {
712*dd5c81e9SGunnar Mills                            "type": "null"
713*dd5c81e9SGunnar Mills                        }
714*dd5c81e9SGunnar Mills                    ],
715*dd5c81e9SGunnar Mills                    "description": "The current operating mode of the control.",
716*dd5c81e9SGunnar Mills                    "excerpt": "Control",
717*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the operating mode of the control.",
718*dd5c81e9SGunnar Mills                    "readonly": false
719*dd5c81e9SGunnar Mills                },
720*dd5c81e9SGunnar Mills                "DataSourceUri": {
721*dd5c81e9SGunnar Mills                    "description": "The link to the resource that provides the data for this control.",
722*dd5c81e9SGunnar Mills                    "excerptCopyOnly": true,
723*dd5c81e9SGunnar Mills                    "format": "uri-reference",
724*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain a URI to the resource that provides the source of the excerpt contained within this copy.  If no source resource is implemented, meaning the excerpt represents the only available data, this property shall not be present.",
725*dd5c81e9SGunnar Mills                    "readonly": true,
726*dd5c81e9SGunnar Mills                    "type": [
727*dd5c81e9SGunnar Mills                        "string",
728*dd5c81e9SGunnar Mills                        "null"
729*dd5c81e9SGunnar Mills                    ]
730*dd5c81e9SGunnar Mills                },
731*dd5c81e9SGunnar Mills                "DefaultSetPoint": {
732*dd5c81e9SGunnar Mills                    "description": "The default set point of the control.",
733*dd5c81e9SGunnar Mills                    "excerpt": "ControlSingle",
734*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the default set point control value.  The units shall follow the value of `SetPointUnits`.  Services apply this value to the `SetPoint` property under certain conditions, such as a reset of the manager or a `ResetToDefaults` action.",
735*dd5c81e9SGunnar Mills                    "readonly": true,
736*dd5c81e9SGunnar Mills                    "type": [
737*dd5c81e9SGunnar Mills                        "number",
738*dd5c81e9SGunnar Mills                        "null"
739*dd5c81e9SGunnar Mills                    ],
740*dd5c81e9SGunnar Mills                    "versionAdded": "v1_3_0"
741*dd5c81e9SGunnar Mills                },
742*dd5c81e9SGunnar Mills                "Reading": {
743*dd5c81e9SGunnar Mills                    "description": "The reading of the sensor associated with this control.",
744*dd5c81e9SGunnar Mills                    "excerptCopyOnly": true,
745*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the value of the `Reading` property of the `Sensor` resource directly associated with this control.  This property shall not be present if multiple sensors are associated with a single control.",
746*dd5c81e9SGunnar Mills                    "readonly": true,
747*dd5c81e9SGunnar Mills                    "type": [
748*dd5c81e9SGunnar Mills                        "number",
749*dd5c81e9SGunnar Mills                        "null"
750*dd5c81e9SGunnar Mills                    ]
751*dd5c81e9SGunnar Mills                },
752*dd5c81e9SGunnar Mills                "ReadingUnits": {
753*dd5c81e9SGunnar Mills                    "description": "The units of the sensor reading associated with this control.",
754*dd5c81e9SGunnar Mills                    "excerptCopyOnly": true,
755*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the units of the sensor's reading and thresholds.  This property shall not be present if multiple sensors are associated with a single control.",
756*dd5c81e9SGunnar Mills                    "readonly": true,
757*dd5c81e9SGunnar Mills                    "type": [
758*dd5c81e9SGunnar Mills                        "string",
759*dd5c81e9SGunnar Mills                        "null"
760*dd5c81e9SGunnar Mills                    ]
761*dd5c81e9SGunnar Mills                },
762*dd5c81e9SGunnar Mills                "SetPoint": {
763*dd5c81e9SGunnar Mills                    "description": "The desired set point of the control.",
764*dd5c81e9SGunnar Mills                    "excerpt": "ControlSingle,ControlSingleLoop",
765*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the desired set point control value.  The units shall follow the value of `SetPointUnits`.  If the `DefaultSetPoint` property is not supported and if a user-defined set point is not configured, the property may contain `null` in responses.",
766*dd5c81e9SGunnar Mills                    "readonly": false,
767*dd5c81e9SGunnar Mills                    "type": [
768*dd5c81e9SGunnar Mills                        "number",
769*dd5c81e9SGunnar Mills                        "null"
770*dd5c81e9SGunnar Mills                    ]
771*dd5c81e9SGunnar Mills                }
772*dd5c81e9SGunnar Mills            },
773*dd5c81e9SGunnar Mills            "type": "object"
774*dd5c81e9SGunnar Mills        },
775*dd5c81e9SGunnar Mills        "ControlSingleLoopExcerpt": {
776*dd5c81e9SGunnar Mills            "additionalProperties": false,
777*dd5c81e9SGunnar Mills            "description": "The `Control` schema describes a control point and its properties.",
778*dd5c81e9SGunnar Mills            "excerpt": "ControlSingleLoop",
779*dd5c81e9SGunnar Mills            "longDescription": "This resource shall represent a control point for a Redfish implementation.",
780*dd5c81e9SGunnar Mills            "patternProperties": {
781*dd5c81e9SGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
782*dd5c81e9SGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
783*dd5c81e9SGunnar Mills                    "type": [
784*dd5c81e9SGunnar Mills                        "array",
785*dd5c81e9SGunnar Mills                        "boolean",
786*dd5c81e9SGunnar Mills                        "integer",
787*dd5c81e9SGunnar Mills                        "number",
788*dd5c81e9SGunnar Mills                        "null",
789*dd5c81e9SGunnar Mills                        "object",
790*dd5c81e9SGunnar Mills                        "string"
791*dd5c81e9SGunnar Mills                    ]
792*dd5c81e9SGunnar Mills                }
793*dd5c81e9SGunnar Mills            },
794*dd5c81e9SGunnar Mills            "properties": {
795*dd5c81e9SGunnar Mills                "AllowableMax": {
796*dd5c81e9SGunnar Mills                    "description": "The maximum possible setting for this control.",
797*dd5c81e9SGunnar Mills                    "excerpt": "Control",
798*dd5c81e9SGunnar Mills                    "longDescription": "This property shall indicate the maximum possible value of the `SetPoint` or `SettingMax` properties for this control.  Services shall not accept values for `SetPoint` or `SettingMax` above this value.",
799*dd5c81e9SGunnar Mills                    "readonly": true,
800*dd5c81e9SGunnar Mills                    "type": [
801*dd5c81e9SGunnar Mills                        "number",
802*dd5c81e9SGunnar Mills                        "null"
803*dd5c81e9SGunnar Mills                    ]
804*dd5c81e9SGunnar Mills                },
805*dd5c81e9SGunnar Mills                "AllowableMin": {
806*dd5c81e9SGunnar Mills                    "description": "The minimum possible setting for this control.",
807*dd5c81e9SGunnar Mills                    "excerpt": "Control",
808*dd5c81e9SGunnar Mills                    "longDescription": "This property shall indicate the minimum possible value of the `SetPoint` or `SettingMin` properties for this control.  Services shall not accept values for `SetPoint` or `SettingMin` below this value.",
809*dd5c81e9SGunnar Mills                    "readonly": true,
810*dd5c81e9SGunnar Mills                    "type": [
811*dd5c81e9SGunnar Mills                        "number",
812*dd5c81e9SGunnar Mills                        "null"
813*dd5c81e9SGunnar Mills                    ]
814*dd5c81e9SGunnar Mills                },
815*dd5c81e9SGunnar Mills                "ControlLoop": {
816*dd5c81e9SGunnar Mills                    "$ref": "#/definitions/ControlLoop",
817*dd5c81e9SGunnar Mills                    "description": "The control loop details.",
818*dd5c81e9SGunnar Mills                    "excerpt": "ControlSingleLoop",
819*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the details for the control loop described by this resource."
820*dd5c81e9SGunnar Mills                },
821*dd5c81e9SGunnar Mills                "ControlMode": {
822*dd5c81e9SGunnar Mills                    "anyOf": [
823*dd5c81e9SGunnar Mills                        {
824*dd5c81e9SGunnar Mills                            "$ref": "#/definitions/ControlMode"
825*dd5c81e9SGunnar Mills                        },
826*dd5c81e9SGunnar Mills                        {
827*dd5c81e9SGunnar Mills                            "type": "null"
828*dd5c81e9SGunnar Mills                        }
829*dd5c81e9SGunnar Mills                    ],
830*dd5c81e9SGunnar Mills                    "description": "The current operating mode of the control.",
831*dd5c81e9SGunnar Mills                    "excerpt": "Control",
832*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the operating mode of the control.",
833*dd5c81e9SGunnar Mills                    "readonly": false
834*dd5c81e9SGunnar Mills                },
835*dd5c81e9SGunnar Mills                "DataSourceUri": {
836*dd5c81e9SGunnar Mills                    "description": "The link to the resource that provides the data for this control.",
837*dd5c81e9SGunnar Mills                    "excerptCopyOnly": true,
838*dd5c81e9SGunnar Mills                    "format": "uri-reference",
839*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain a URI to the resource that provides the source of the excerpt contained within this copy.  If no source resource is implemented, meaning the excerpt represents the only available data, this property shall not be present.",
840*dd5c81e9SGunnar Mills                    "readonly": true,
841*dd5c81e9SGunnar Mills                    "type": [
842*dd5c81e9SGunnar Mills                        "string",
843*dd5c81e9SGunnar Mills                        "null"
844*dd5c81e9SGunnar Mills                    ]
845*dd5c81e9SGunnar Mills                },
846*dd5c81e9SGunnar Mills                "Reading": {
847*dd5c81e9SGunnar Mills                    "description": "The reading of the sensor associated with this control.",
848*dd5c81e9SGunnar Mills                    "excerptCopyOnly": true,
849*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the value of the `Reading` property of the `Sensor` resource directly associated with this control.  This property shall not be present if multiple sensors are associated with a single control.",
850*dd5c81e9SGunnar Mills                    "readonly": true,
851*dd5c81e9SGunnar Mills                    "type": [
852*dd5c81e9SGunnar Mills                        "number",
853*dd5c81e9SGunnar Mills                        "null"
854*dd5c81e9SGunnar Mills                    ]
855*dd5c81e9SGunnar Mills                },
856*dd5c81e9SGunnar Mills                "ReadingUnits": {
857*dd5c81e9SGunnar Mills                    "description": "The units of the sensor reading associated with this control.",
858*dd5c81e9SGunnar Mills                    "excerptCopyOnly": true,
859*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the units of the sensor's reading and thresholds.  This property shall not be present if multiple sensors are associated with a single control.",
860*dd5c81e9SGunnar Mills                    "readonly": true,
861*dd5c81e9SGunnar Mills                    "type": [
862*dd5c81e9SGunnar Mills                        "string",
863*dd5c81e9SGunnar Mills                        "null"
864*dd5c81e9SGunnar Mills                    ]
865*dd5c81e9SGunnar Mills                },
866*dd5c81e9SGunnar Mills                "SetPoint": {
867*dd5c81e9SGunnar Mills                    "description": "The desired set point of the control.",
868*dd5c81e9SGunnar Mills                    "excerpt": "ControlSingle,ControlSingleLoop",
869*dd5c81e9SGunnar Mills                    "longDescription": "This property shall contain the desired set point control value.  The units shall follow the value of `SetPointUnits`.  If the `DefaultSetPoint` property is not supported and if a user-defined set point is not configured, the property may contain `null` in responses.",
870*dd5c81e9SGunnar Mills                    "readonly": false,
871*dd5c81e9SGunnar Mills                    "type": [
872*dd5c81e9SGunnar Mills                        "number",
873*dd5c81e9SGunnar Mills                        "null"
874*dd5c81e9SGunnar Mills                    ]
875*dd5c81e9SGunnar Mills                }
876*dd5c81e9SGunnar Mills            },
877*dd5c81e9SGunnar Mills            "type": "object"
878*dd5c81e9SGunnar Mills        },
879*dd5c81e9SGunnar Mills        "ControlType": {
880*dd5c81e9SGunnar Mills            "enum": [
881*dd5c81e9SGunnar Mills                "Temperature",
882*dd5c81e9SGunnar Mills                "Power",
883*dd5c81e9SGunnar Mills                "Frequency",
884*dd5c81e9SGunnar Mills                "FrequencyMHz",
885*dd5c81e9SGunnar Mills                "Pressure",
886*dd5c81e9SGunnar Mills                "PressurekPa",
887*dd5c81e9SGunnar Mills                "Valve",
888*dd5c81e9SGunnar Mills                "Percent",
889*dd5c81e9SGunnar Mills                "DutyCycle"
890*dd5c81e9SGunnar Mills            ],
891*dd5c81e9SGunnar Mills            "enumDeprecated": {
892*dd5c81e9SGunnar Mills                "Pressure": "This value has been deprecated in favor of `PressurekPa` for units consistency with the equivalent Sensor resource ReadingType value."
893*dd5c81e9SGunnar Mills            },
894*dd5c81e9SGunnar Mills            "enumDescriptions": {
895*dd5c81e9SGunnar Mills                "DutyCycle": "Duty cycle (%) control.",
896*dd5c81e9SGunnar Mills                "Frequency": "Frequency (Hz) control.",
897*dd5c81e9SGunnar Mills                "FrequencyMHz": "Frequency (MHz) control.",
898*dd5c81e9SGunnar Mills                "Percent": "Percent-based control.",
899*dd5c81e9SGunnar Mills                "Power": "Power (W) control or power limit.",
900*dd5c81e9SGunnar Mills                "Pressure": "Pressure (kPa) control.",
901*dd5c81e9SGunnar Mills                "PressurekPa": "Pressure (kPa) control.",
902*dd5c81e9SGunnar Mills                "Temperature": "Temperature (C) control or thermostat.",
903*dd5c81e9SGunnar Mills                "Valve": "Valve (% open) control."
904*dd5c81e9SGunnar Mills            },
905*dd5c81e9SGunnar Mills            "enumLongDescriptions": {
906*dd5c81e9SGunnar Mills                "DutyCycle": "This value shall indicate a control used to adjust the duty cycle, such as a PWM-based control, in percent units.  The `SetPointUnits` property shall contain `%`.",
907*dd5c81e9SGunnar Mills                "Frequency": "This value shall indicate a control used to limit the operating frequency, in hertz units, of a device, either to a single set point or within a range.  The `SetPointUnits` property shall contain `Hz`.",
908*dd5c81e9SGunnar Mills                "FrequencyMHz": "This value shall indicate a control used to limit the operating frequency, in megahertz units, of a device, either to a single set point or within a range.  The `SetPointUnits` property shall contain `MHz`.",
909*dd5c81e9SGunnar Mills                "Percent": "This value shall indicate a percent-based control, in percent units.  The `SetPointUnits` property shall contain `%`.",
910*dd5c81e9SGunnar Mills                "Power": "This value shall indicate a control used to regulate or limit maximum power consumption, in watt units, either to a single set point or within a range.  The `SetPointUnits` property shall contain `W`.",
911*dd5c81e9SGunnar Mills                "Pressure": "This value shall indicate a control used to adjust pressure in a system, in kilopascal units.  The `SetPointUnits` property shall contain `kPa`.",
912*dd5c81e9SGunnar Mills                "PressurekPa": "This value shall indicate a control used to adjust pressure in a system, in kilopascal units.  The `SetPointUnits` property shall contain `kPa`.",
913*dd5c81e9SGunnar Mills                "Temperature": "This value shall indicate a control used to regulate temperature, in degree Celsius units, either to a single set point or within a range.  The `SetPointUnits` property shall contain `Cel`.",
914*dd5c81e9SGunnar Mills                "Valve": "This value shall indicate a control used to adjust a valve in a system, in percent units.  The `SetPointUnits` property shall contain `%`.  A value of `100` shall indicate the valve is completely open, and a value of `0` shall indicate the valve is completely closed."
915*dd5c81e9SGunnar Mills            },
916*dd5c81e9SGunnar Mills            "enumVersionAdded": {
917*dd5c81e9SGunnar Mills                "DutyCycle": "v1_5_0",
918*dd5c81e9SGunnar Mills                "FrequencyMHz": "v1_1_0",
919*dd5c81e9SGunnar Mills                "Percent": "v1_5_0",
920*dd5c81e9SGunnar Mills                "Pressure": "v1_1_0",
921*dd5c81e9SGunnar Mills                "PressurekPa": "v1_3_0",
922*dd5c81e9SGunnar Mills                "Valve": "v1_3_0"
923*dd5c81e9SGunnar Mills            },
924*dd5c81e9SGunnar Mills            "enumVersionDeprecated": {
925*dd5c81e9SGunnar Mills                "Pressure": "v1_3_0"
926*dd5c81e9SGunnar Mills            },
927*dd5c81e9SGunnar Mills            "type": "string"
928*dd5c81e9SGunnar Mills        },
929*dd5c81e9SGunnar Mills        "ImplementationType": {
930*dd5c81e9SGunnar Mills            "enum": [
931*dd5c81e9SGunnar Mills                "Programmable",
932*dd5c81e9SGunnar Mills                "Direct",
933*dd5c81e9SGunnar Mills                "Monitored"
934*dd5c81e9SGunnar Mills            ],
935*dd5c81e9SGunnar Mills            "enumDescriptions": {
936*dd5c81e9SGunnar Mills                "Direct": "The set point directly affects the control value.",
937*dd5c81e9SGunnar Mills                "Monitored": "A physical control that cannot be adjusted through this interface.",
938*dd5c81e9SGunnar Mills                "Programmable": "The set point can be adjusted through this interface."
939*dd5c81e9SGunnar Mills            },
940*dd5c81e9SGunnar Mills            "type": "string"
941*dd5c81e9SGunnar Mills        },
942*dd5c81e9SGunnar Mills        "OemActions": {
943*dd5c81e9SGunnar Mills            "additionalProperties": true,
944*dd5c81e9SGunnar Mills            "description": "The available OEM-specific actions for this resource.",
945*dd5c81e9SGunnar Mills            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
946*dd5c81e9SGunnar Mills            "patternProperties": {
947*dd5c81e9SGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
948*dd5c81e9SGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
949*dd5c81e9SGunnar Mills                    "type": [
950*dd5c81e9SGunnar Mills                        "array",
951*dd5c81e9SGunnar Mills                        "boolean",
952*dd5c81e9SGunnar Mills                        "integer",
953*dd5c81e9SGunnar Mills                        "number",
954*dd5c81e9SGunnar Mills                        "null",
955*dd5c81e9SGunnar Mills                        "object",
956*dd5c81e9SGunnar Mills                        "string"
957*dd5c81e9SGunnar Mills                    ]
958*dd5c81e9SGunnar Mills                }
959*dd5c81e9SGunnar Mills            },
960*dd5c81e9SGunnar Mills            "properties": {},
961*dd5c81e9SGunnar Mills            "type": "object"
962*dd5c81e9SGunnar Mills        },
963*dd5c81e9SGunnar Mills        "ResetToDefaults": {
964*dd5c81e9SGunnar Mills            "additionalProperties": false,
965*dd5c81e9SGunnar Mills            "description": "The action resets the values of writable properties to factory defaults.",
966*dd5c81e9SGunnar Mills            "longDescription": "This action shall reset the values of writable properties in this resource to their default values as specified by the manufacturer.",
967*dd5c81e9SGunnar Mills            "parameters": {},
968*dd5c81e9SGunnar Mills            "patternProperties": {
969*dd5c81e9SGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
970*dd5c81e9SGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
971*dd5c81e9SGunnar Mills                    "type": [
972*dd5c81e9SGunnar Mills                        "array",
973*dd5c81e9SGunnar Mills                        "boolean",
974*dd5c81e9SGunnar Mills                        "integer",
975*dd5c81e9SGunnar Mills                        "number",
976*dd5c81e9SGunnar Mills                        "null",
977*dd5c81e9SGunnar Mills                        "object",
978*dd5c81e9SGunnar Mills                        "string"
979*dd5c81e9SGunnar Mills                    ]
980*dd5c81e9SGunnar Mills                }
981*dd5c81e9SGunnar Mills            },
982*dd5c81e9SGunnar Mills            "properties": {
983*dd5c81e9SGunnar Mills                "target": {
984*dd5c81e9SGunnar Mills                    "description": "Link to invoke action",
985*dd5c81e9SGunnar Mills                    "format": "uri-reference",
986*dd5c81e9SGunnar Mills                    "type": "string"
987*dd5c81e9SGunnar Mills                },
988*dd5c81e9SGunnar Mills                "title": {
989*dd5c81e9SGunnar Mills                    "description": "Friendly action name",
990*dd5c81e9SGunnar Mills                    "type": "string"
991*dd5c81e9SGunnar Mills                }
992*dd5c81e9SGunnar Mills            },
993*dd5c81e9SGunnar Mills            "type": "object",
994*dd5c81e9SGunnar Mills            "versionAdded": "v1_2_0"
995*dd5c81e9SGunnar Mills        },
996*dd5c81e9SGunnar Mills        "SetPointType": {
997*dd5c81e9SGunnar Mills            "enum": [
998*dd5c81e9SGunnar Mills                "Single",
999*dd5c81e9SGunnar Mills                "Range"
1000*dd5c81e9SGunnar Mills            ],
1001*dd5c81e9SGunnar Mills            "enumDescriptions": {
1002*dd5c81e9SGunnar Mills                "Range": "Control uses a range of values.",
1003*dd5c81e9SGunnar Mills                "Single": "Control uses a single set point."
1004*dd5c81e9SGunnar Mills            },
1005*dd5c81e9SGunnar Mills            "enumLongDescriptions": {
1006*dd5c81e9SGunnar Mills                "Range": "This value shall indicate the control utilizes a set point range for its operation.  The `SettingMin` and `SettingMax` properties shall be present for this control type.  The `SetPoint` property shall not be present for this control type.",
1007*dd5c81e9SGunnar Mills                "Single": "This value shall indicate the control utilizes a single set point for its operation.  The `SetPoint` property shall be present for this control type.  The `SettingMin` and `SettingMax` properties shall not be present for this control type."
1008*dd5c81e9SGunnar Mills            },
1009*dd5c81e9SGunnar Mills            "type": "string"
1010*dd5c81e9SGunnar Mills        }
1011*dd5c81e9SGunnar Mills    },
1012*dd5c81e9SGunnar Mills    "language": "en",
1013*dd5c81e9SGunnar Mills    "owningEntity": "DMTF",
1014*dd5c81e9SGunnar Mills    "release": "2023.3",
1015*dd5c81e9SGunnar Mills    "title": "#Control.v1_5_2.Control"
1016*dd5c81e9SGunnar Mills}