xref: /openbmc/bmcweb/features/redfish/schema/dmtf/json-schema/Fan.v1_6_0.json (revision 5ecf7b4e1bb6988dd3403fa80b723afbe2be30ae)
1*5ecf7b4eSGunnar Mills{
2*5ecf7b4eSGunnar Mills    "$id": "http://redfish.dmtf.org/schemas/v1/Fan.v1_6_0.json",
3*5ecf7b4eSGunnar Mills    "$ref": "#/definitions/Fan",
4*5ecf7b4eSGunnar Mills    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5*5ecf7b4eSGunnar Mills    "copyright": "Copyright 2014-2025 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6*5ecf7b4eSGunnar Mills    "definitions": {
7*5ecf7b4eSGunnar Mills        "Actions": {
8*5ecf7b4eSGunnar Mills            "additionalProperties": false,
9*5ecf7b4eSGunnar Mills            "description": "The available actions for this resource.",
10*5ecf7b4eSGunnar Mills            "longDescription": "This type shall contain the available actions for this resource.",
11*5ecf7b4eSGunnar Mills            "patternProperties": {
12*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
14*5ecf7b4eSGunnar Mills                    "type": [
15*5ecf7b4eSGunnar Mills                        "array",
16*5ecf7b4eSGunnar Mills                        "boolean",
17*5ecf7b4eSGunnar Mills                        "integer",
18*5ecf7b4eSGunnar Mills                        "number",
19*5ecf7b4eSGunnar Mills                        "null",
20*5ecf7b4eSGunnar Mills                        "object",
21*5ecf7b4eSGunnar Mills                        "string"
22*5ecf7b4eSGunnar Mills                    ]
23*5ecf7b4eSGunnar Mills                }
24*5ecf7b4eSGunnar Mills            },
25*5ecf7b4eSGunnar Mills            "properties": {
26*5ecf7b4eSGunnar Mills                "Oem": {
27*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/OemActions",
28*5ecf7b4eSGunnar Mills                    "description": "The available OEM-specific actions for this resource.",
29*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
30*5ecf7b4eSGunnar Mills                }
31*5ecf7b4eSGunnar Mills            },
32*5ecf7b4eSGunnar Mills            "type": "object"
33*5ecf7b4eSGunnar Mills        },
34*5ecf7b4eSGunnar Mills        "Fan": {
35*5ecf7b4eSGunnar Mills            "additionalProperties": false,
36*5ecf7b4eSGunnar Mills            "description": "The `Fan` schema describes a cooling fan unit for a computer system or similar devices contained within a chassis.  It also describes the location, such as a slot, socket, or bay, where a unit can be installed, by populating a resource instance with an absent state if a unit is not present.",
37*5ecf7b4eSGunnar Mills            "longDescription": "This resource shall represent a cooling fan for a Redfish implementation.  It may also represent a location, such as a slot, socket, or bay, where a unit may be installed, but the `State` property within the `Status` property contains `Absent`.",
38*5ecf7b4eSGunnar Mills            "patternProperties": {
39*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
40*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
41*5ecf7b4eSGunnar Mills                    "type": [
42*5ecf7b4eSGunnar Mills                        "array",
43*5ecf7b4eSGunnar Mills                        "boolean",
44*5ecf7b4eSGunnar Mills                        "integer",
45*5ecf7b4eSGunnar Mills                        "number",
46*5ecf7b4eSGunnar Mills                        "null",
47*5ecf7b4eSGunnar Mills                        "object",
48*5ecf7b4eSGunnar Mills                        "string"
49*5ecf7b4eSGunnar Mills                    ]
50*5ecf7b4eSGunnar Mills                }
51*5ecf7b4eSGunnar Mills            },
52*5ecf7b4eSGunnar Mills            "properties": {
53*5ecf7b4eSGunnar Mills                "@odata.context": {
54*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
55*5ecf7b4eSGunnar Mills                },
56*5ecf7b4eSGunnar Mills                "@odata.etag": {
57*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
58*5ecf7b4eSGunnar Mills                },
59*5ecf7b4eSGunnar Mills                "@odata.id": {
60*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
61*5ecf7b4eSGunnar Mills                },
62*5ecf7b4eSGunnar Mills                "@odata.type": {
63*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
64*5ecf7b4eSGunnar Mills                },
65*5ecf7b4eSGunnar Mills                "Actions": {
66*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/Actions",
67*5ecf7b4eSGunnar Mills                    "description": "The available actions for this resource.",
68*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the available actions for this resource."
69*5ecf7b4eSGunnar Mills                },
70*5ecf7b4eSGunnar Mills                "Assembly": {
71*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Assembly.json#/definitions/Assembly",
72*5ecf7b4eSGunnar Mills                    "description": "The link to the assembly associated with this fan.",
73*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource of type `Assembly`.",
74*5ecf7b4eSGunnar Mills                    "readonly": true
75*5ecf7b4eSGunnar Mills                },
76*5ecf7b4eSGunnar Mills                "Description": {
77*5ecf7b4eSGunnar Mills                    "anyOf": [
78*5ecf7b4eSGunnar Mills                        {
79*5ecf7b4eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
80*5ecf7b4eSGunnar Mills                        },
81*5ecf7b4eSGunnar Mills                        {
82*5ecf7b4eSGunnar Mills                            "type": "null"
83*5ecf7b4eSGunnar Mills                        }
84*5ecf7b4eSGunnar Mills                    ],
85*5ecf7b4eSGunnar Mills                    "readonly": true
86*5ecf7b4eSGunnar Mills                },
87*5ecf7b4eSGunnar Mills                "FanDiameterMm": {
88*5ecf7b4eSGunnar Mills                    "description": "The diameter of the fan assembly in millimeter units.",
89*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the diameter of the fan assembly in millimeter units.",
90*5ecf7b4eSGunnar Mills                    "minimum": 0,
91*5ecf7b4eSGunnar Mills                    "readonly": true,
92*5ecf7b4eSGunnar Mills                    "type": [
93*5ecf7b4eSGunnar Mills                        "integer",
94*5ecf7b4eSGunnar Mills                        "null"
95*5ecf7b4eSGunnar Mills                    ],
96*5ecf7b4eSGunnar Mills                    "units": "mm",
97*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_4_0"
98*5ecf7b4eSGunnar Mills                },
99*5ecf7b4eSGunnar Mills                "HotPluggable": {
100*5ecf7b4eSGunnar Mills                    "description": "An indication of whether this device can be inserted or removed while the equipment is in operation.",
101*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall indicate whether the device can be inserted or removed while the underlying equipment otherwise remains in its current operational state.  Hot-pluggable devices can become operable without altering the operational state of the underlying equipment.  Devices that cannot be inserted or removed from equipment in operation, or devices that cannot become operable without affecting the operational state of that equipment, shall not be hot-pluggable.",
102*5ecf7b4eSGunnar Mills                    "readonly": true,
103*5ecf7b4eSGunnar Mills                    "type": [
104*5ecf7b4eSGunnar Mills                        "boolean",
105*5ecf7b4eSGunnar Mills                        "null"
106*5ecf7b4eSGunnar Mills                    ]
107*5ecf7b4eSGunnar Mills                },
108*5ecf7b4eSGunnar Mills                "Id": {
109*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
110*5ecf7b4eSGunnar Mills                    "readonly": true
111*5ecf7b4eSGunnar Mills                },
112*5ecf7b4eSGunnar Mills                "Links": {
113*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/Links",
114*5ecf7b4eSGunnar Mills                    "description": "The links to other resources that are related to this resource.",
115*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.",
116*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_2_0"
117*5ecf7b4eSGunnar Mills                },
118*5ecf7b4eSGunnar Mills                "Location": {
119*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
120*5ecf7b4eSGunnar Mills                    "description": "The location of the fan.",
121*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the location information of this fan."
122*5ecf7b4eSGunnar Mills                },
123*5ecf7b4eSGunnar Mills                "LocationIndicatorActive": {
124*5ecf7b4eSGunnar Mills                    "description": "An indicator allowing an operator to physically locate this resource.",
125*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the state of the indicator used to physically identify or locate this resource.",
126*5ecf7b4eSGunnar Mills                    "readonly": false,
127*5ecf7b4eSGunnar Mills                    "type": [
128*5ecf7b4eSGunnar Mills                        "boolean",
129*5ecf7b4eSGunnar Mills                        "null"
130*5ecf7b4eSGunnar Mills                    ]
131*5ecf7b4eSGunnar Mills                },
132*5ecf7b4eSGunnar Mills                "Manufacturer": {
133*5ecf7b4eSGunnar Mills                    "description": "The manufacturer of this fan.",
134*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the name of the organization responsible for producing the fan.  This organization may be the entity from whom the fan is purchased, but this is not necessarily true.",
135*5ecf7b4eSGunnar Mills                    "readonly": true,
136*5ecf7b4eSGunnar Mills                    "type": [
137*5ecf7b4eSGunnar Mills                        "string",
138*5ecf7b4eSGunnar Mills                        "null"
139*5ecf7b4eSGunnar Mills                    ]
140*5ecf7b4eSGunnar Mills                },
141*5ecf7b4eSGunnar Mills                "Model": {
142*5ecf7b4eSGunnar Mills                    "description": "The model number for this fan.",
143*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the model information as defined by the manufacturer for this fan.",
144*5ecf7b4eSGunnar Mills                    "readonly": true,
145*5ecf7b4eSGunnar Mills                    "type": [
146*5ecf7b4eSGunnar Mills                        "string",
147*5ecf7b4eSGunnar Mills                        "null"
148*5ecf7b4eSGunnar Mills                    ]
149*5ecf7b4eSGunnar Mills                },
150*5ecf7b4eSGunnar Mills                "Name": {
151*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
152*5ecf7b4eSGunnar Mills                    "readonly": true
153*5ecf7b4eSGunnar Mills                },
154*5ecf7b4eSGunnar Mills                "Oem": {
155*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
156*5ecf7b4eSGunnar Mills                    "description": "The OEM extension property.",
157*5ecf7b4eSGunnar 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."
158*5ecf7b4eSGunnar Mills                },
159*5ecf7b4eSGunnar Mills                "PartNumber": {
160*5ecf7b4eSGunnar Mills                    "description": "The part number for this fan.",
161*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the part number as defined by the manufacturer for this fan.",
162*5ecf7b4eSGunnar Mills                    "readonly": true,
163*5ecf7b4eSGunnar Mills                    "type": [
164*5ecf7b4eSGunnar Mills                        "string",
165*5ecf7b4eSGunnar Mills                        "null"
166*5ecf7b4eSGunnar Mills                    ]
167*5ecf7b4eSGunnar Mills                },
168*5ecf7b4eSGunnar Mills                "PhysicalContext": {
169*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/PhysicalContext.json#/definitions/PhysicalContext",
170*5ecf7b4eSGunnar Mills                    "description": "The area or device associated with this fan.",
171*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain a description of the affected device or region within the chassis with which this fan is associated.",
172*5ecf7b4eSGunnar Mills                    "readonly": true
173*5ecf7b4eSGunnar Mills                },
174*5ecf7b4eSGunnar Mills                "PowerWatts": {
175*5ecf7b4eSGunnar Mills                    "anyOf": [
176*5ecf7b4eSGunnar Mills                        {
177*5ecf7b4eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorPowerExcerpt"
178*5ecf7b4eSGunnar Mills                        },
179*5ecf7b4eSGunnar Mills                        {
180*5ecf7b4eSGunnar Mills                            "type": "null"
181*5ecf7b4eSGunnar Mills                        }
182*5ecf7b4eSGunnar Mills                    ],
183*5ecf7b4eSGunnar Mills                    "description": "Power consumption (W).",
184*5ecf7b4eSGunnar Mills                    "excerptCopy": "SensorPowerExcerpt",
185*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the total power, in watt units, for this resource.  The value of the `DataSourceUri` property, if present, shall reference a resource of type `Sensor` with the `ReadingType` property containing the value `Power`.",
186*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_1_0"
187*5ecf7b4eSGunnar Mills                },
188*5ecf7b4eSGunnar Mills                "RatedSecondarySpeedRPM": {
189*5ecf7b4eSGunnar Mills                    "description": "The rated maximum rotational speed of the second rotor in a multi-rotor fan.",
190*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the rated maximum rotational speed of the second rotor in a multi-rotor fan in revolutions per minute (RPM) units.",
191*5ecf7b4eSGunnar Mills                    "readonly": true,
192*5ecf7b4eSGunnar Mills                    "type": [
193*5ecf7b4eSGunnar Mills                        "integer",
194*5ecf7b4eSGunnar Mills                        "null"
195*5ecf7b4eSGunnar Mills                    ],
196*5ecf7b4eSGunnar Mills                    "units": "{rev}/min",
197*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_6_0"
198*5ecf7b4eSGunnar Mills                },
199*5ecf7b4eSGunnar Mills                "RatedSpeedRPM": {
200*5ecf7b4eSGunnar Mills                    "description": "The rated maximum rotational speed of the fan.",
201*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the rated maximum rotational speed of the fan in revolutions per minute (RPM) units.",
202*5ecf7b4eSGunnar Mills                    "readonly": true,
203*5ecf7b4eSGunnar Mills                    "type": [
204*5ecf7b4eSGunnar Mills                        "integer",
205*5ecf7b4eSGunnar Mills                        "null"
206*5ecf7b4eSGunnar Mills                    ],
207*5ecf7b4eSGunnar Mills                    "units": "{rev}/min",
208*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_6_0"
209*5ecf7b4eSGunnar Mills                },
210*5ecf7b4eSGunnar Mills                "Replaceable": {
211*5ecf7b4eSGunnar Mills                    "description": "An indication of whether this component can be independently replaced as allowed by the vendor's replacement policy.",
212*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall indicate whether this component can be independently replaced as allowed by the vendor's replacement policy.  A value of `false` indicates the component needs to be replaced by policy as part of another component.  If the `LocationType` property of this component contains `Embedded`, this property shall contain `false`.",
213*5ecf7b4eSGunnar Mills                    "readonly": true,
214*5ecf7b4eSGunnar Mills                    "type": [
215*5ecf7b4eSGunnar Mills                        "boolean",
216*5ecf7b4eSGunnar Mills                        "null"
217*5ecf7b4eSGunnar Mills                    ],
218*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_3_0"
219*5ecf7b4eSGunnar Mills                },
220*5ecf7b4eSGunnar Mills                "SecondarySpeedPercent": {
221*5ecf7b4eSGunnar Mills                    "anyOf": [
222*5ecf7b4eSGunnar Mills                        {
223*5ecf7b4eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorFanExcerpt"
224*5ecf7b4eSGunnar Mills                        },
225*5ecf7b4eSGunnar Mills                        {
226*5ecf7b4eSGunnar Mills                            "type": "null"
227*5ecf7b4eSGunnar Mills                        }
228*5ecf7b4eSGunnar Mills                    ],
229*5ecf7b4eSGunnar Mills                    "description": "The fan speed (percent) of the second rotor in a multi-rotor fan.",
230*5ecf7b4eSGunnar Mills                    "excerptCopy": "SensorFanExcerpt",
231*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the fan speed, in percent units, for the secondary rotor of this resource.  Services should calculate the value of `Reading` by dividing `SpeedRPM` by `RatedSecondarySpeedRPM`.  The value of the `DataSourceUri` property, if present, shall reference a resource of type `Sensor` with the `ReadingType` property containing the value `Percent`.",
232*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_5_0"
233*5ecf7b4eSGunnar Mills                },
234*5ecf7b4eSGunnar Mills                "SerialNumber": {
235*5ecf7b4eSGunnar Mills                    "description": "The serial number for this fan.",
236*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the serial number as defined by the manufacturer for this fan.",
237*5ecf7b4eSGunnar Mills                    "readonly": true,
238*5ecf7b4eSGunnar Mills                    "type": [
239*5ecf7b4eSGunnar Mills                        "string",
240*5ecf7b4eSGunnar Mills                        "null"
241*5ecf7b4eSGunnar Mills                    ]
242*5ecf7b4eSGunnar Mills                },
243*5ecf7b4eSGunnar Mills                "SparePartNumber": {
244*5ecf7b4eSGunnar Mills                    "description": "The spare part number for this fan.",
245*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the spare or replacement part number as defined by the manufacturer for this fan.",
246*5ecf7b4eSGunnar Mills                    "readonly": true,
247*5ecf7b4eSGunnar Mills                    "type": [
248*5ecf7b4eSGunnar Mills                        "string",
249*5ecf7b4eSGunnar Mills                        "null"
250*5ecf7b4eSGunnar Mills                    ]
251*5ecf7b4eSGunnar Mills                },
252*5ecf7b4eSGunnar Mills                "SpeedPercent": {
253*5ecf7b4eSGunnar Mills                    "anyOf": [
254*5ecf7b4eSGunnar Mills                        {
255*5ecf7b4eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorFanExcerpt"
256*5ecf7b4eSGunnar Mills                        },
257*5ecf7b4eSGunnar Mills                        {
258*5ecf7b4eSGunnar Mills                            "type": "null"
259*5ecf7b4eSGunnar Mills                        }
260*5ecf7b4eSGunnar Mills                    ],
261*5ecf7b4eSGunnar Mills                    "description": "The fan speed (percent).",
262*5ecf7b4eSGunnar Mills                    "excerptCopy": "SensorFanExcerpt",
263*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the fan speed, in percent units, for this resource.  Services should calculate the value of `Reading` by dividing `SpeedRPM` by `RatedSpeedRPM`.  The value of the `DataSourceUri` property, if present, shall reference a resource of type `Sensor` with the `ReadingType` property containing the value `Percent`."
264*5ecf7b4eSGunnar Mills                },
265*5ecf7b4eSGunnar Mills                "Status": {
266*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
267*5ecf7b4eSGunnar Mills                    "description": "The status and health of the resource and its subordinate or dependent resources.",
268*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain any status or health properties of the resource."
269*5ecf7b4eSGunnar Mills                }
270*5ecf7b4eSGunnar Mills            },
271*5ecf7b4eSGunnar Mills            "required": [
272*5ecf7b4eSGunnar Mills                "@odata.id",
273*5ecf7b4eSGunnar Mills                "@odata.type",
274*5ecf7b4eSGunnar Mills                "Id",
275*5ecf7b4eSGunnar Mills                "Name"
276*5ecf7b4eSGunnar Mills            ],
277*5ecf7b4eSGunnar Mills            "type": "object"
278*5ecf7b4eSGunnar Mills        },
279*5ecf7b4eSGunnar Mills        "Links": {
280*5ecf7b4eSGunnar Mills            "additionalProperties": false,
281*5ecf7b4eSGunnar Mills            "description": "The links to other resources that are related to this resource.",
282*5ecf7b4eSGunnar Mills            "longDescription": "This Redfish Specification-described type shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.",
283*5ecf7b4eSGunnar Mills            "patternProperties": {
284*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
285*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
286*5ecf7b4eSGunnar Mills                    "type": [
287*5ecf7b4eSGunnar Mills                        "array",
288*5ecf7b4eSGunnar Mills                        "boolean",
289*5ecf7b4eSGunnar Mills                        "integer",
290*5ecf7b4eSGunnar Mills                        "number",
291*5ecf7b4eSGunnar Mills                        "null",
292*5ecf7b4eSGunnar Mills                        "object",
293*5ecf7b4eSGunnar Mills                        "string"
294*5ecf7b4eSGunnar Mills                    ]
295*5ecf7b4eSGunnar Mills                }
296*5ecf7b4eSGunnar Mills            },
297*5ecf7b4eSGunnar Mills            "properties": {
298*5ecf7b4eSGunnar Mills                "CoolingChassis": {
299*5ecf7b4eSGunnar Mills                    "description": "An array of links to the chassis that are directly cooled by this fan.",
300*5ecf7b4eSGunnar Mills                    "items": {
301*5ecf7b4eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis"
302*5ecf7b4eSGunnar Mills                    },
303*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Chassis` that represent the chassis directly cooled by this fan.  This property shall not be present if the fan is only providing cooling to its containing chassis.",
304*5ecf7b4eSGunnar Mills                    "readonly": true,
305*5ecf7b4eSGunnar Mills                    "type": "array",
306*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_2_0"
307*5ecf7b4eSGunnar Mills                },
308*5ecf7b4eSGunnar Mills                "CoolingChassis@odata.count": {
309*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
310*5ecf7b4eSGunnar Mills                },
311*5ecf7b4eSGunnar Mills                "Oem": {
312*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
313*5ecf7b4eSGunnar Mills                    "description": "The OEM extension property.",
314*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
315*5ecf7b4eSGunnar Mills                }
316*5ecf7b4eSGunnar Mills            },
317*5ecf7b4eSGunnar Mills            "type": "object"
318*5ecf7b4eSGunnar Mills        },
319*5ecf7b4eSGunnar Mills        "OemActions": {
320*5ecf7b4eSGunnar Mills            "additionalProperties": true,
321*5ecf7b4eSGunnar Mills            "description": "The available OEM-specific actions for this resource.",
322*5ecf7b4eSGunnar Mills            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
323*5ecf7b4eSGunnar Mills            "patternProperties": {
324*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
325*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
326*5ecf7b4eSGunnar Mills                    "type": [
327*5ecf7b4eSGunnar Mills                        "array",
328*5ecf7b4eSGunnar Mills                        "boolean",
329*5ecf7b4eSGunnar Mills                        "integer",
330*5ecf7b4eSGunnar Mills                        "number",
331*5ecf7b4eSGunnar Mills                        "null",
332*5ecf7b4eSGunnar Mills                        "object",
333*5ecf7b4eSGunnar Mills                        "string"
334*5ecf7b4eSGunnar Mills                    ]
335*5ecf7b4eSGunnar Mills                }
336*5ecf7b4eSGunnar Mills            },
337*5ecf7b4eSGunnar Mills            "properties": {},
338*5ecf7b4eSGunnar Mills            "type": "object"
339*5ecf7b4eSGunnar Mills        }
340*5ecf7b4eSGunnar Mills    },
341*5ecf7b4eSGunnar Mills    "language": "en",
342*5ecf7b4eSGunnar Mills    "owningEntity": "DMTF",
343*5ecf7b4eSGunnar Mills    "release": "2025.3",
344*5ecf7b4eSGunnar Mills    "title": "#Fan.v1_6_0.Fan"
345*5ecf7b4eSGunnar Mills}