xref: /openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/CoolingUnit.v1_2_0.json (revision 9b46bc0b4c0c58c426e9bfb5a7d90250862ca9d2)
1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/CoolingUnit.v1_2_0.json",
3    "$ref": "#/definitions/CoolingUnit",
4    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5    "copyright": "Copyright 2014-2024 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6    "definitions": {
7        "Actions": {
8            "additionalProperties": false,
9            "description": "The available actions for this resource.",
10            "longDescription": "This type shall contain the available actions for this resource.",
11            "patternProperties": {
12                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13                    "description": "This property shall specify a valid odata or Redfish property.",
14                    "type": [
15                        "array",
16                        "boolean",
17                        "integer",
18                        "number",
19                        "null",
20                        "object",
21                        "string"
22                    ]
23                }
24            },
25            "properties": {
26                "#CoolingUnit.SetMode": {
27                    "$ref": "#/definitions/SetMode"
28                },
29                "Oem": {
30                    "$ref": "#/definitions/OemActions",
31                    "description": "The available OEM-specific actions for this resource.",
32                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
33                }
34            },
35            "type": "object"
36        },
37        "CoolingEquipmentType": {
38            "enum": [
39                "CDU",
40                "HeatExchanger",
41                "ImmersionUnit"
42            ],
43            "enumDescriptions": {
44                "CDU": "A coolant distribution unit (CDU).",
45                "HeatExchanger": "A heat exchanger.",
46                "ImmersionUnit": "An immersion cooling unit."
47            },
48            "type": "string"
49        },
50        "CoolingUnit": {
51            "additionalProperties": false,
52            "description": "The `CoolingUnit` schema contains the definition for a cooling system component or unit, such as a coolant distribution unit (CDU) or a heat exchanger.",
53            "longDescription": "This resource shall represent a cooling system component or unit for a Redfish implementation.",
54            "patternProperties": {
55                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
56                    "description": "This property shall specify a valid odata or Redfish property.",
57                    "type": [
58                        "array",
59                        "boolean",
60                        "integer",
61                        "number",
62                        "null",
63                        "object",
64                        "string"
65                    ]
66                }
67            },
68            "properties": {
69                "@odata.context": {
70                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
71                },
72                "@odata.etag": {
73                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
74                },
75                "@odata.id": {
76                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
77                },
78                "@odata.type": {
79                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
80                },
81                "Actions": {
82                    "$ref": "#/definitions/Actions",
83                    "description": "The available actions for this resource.",
84                    "longDescription": "This property shall contain the available actions for this resource."
85                },
86                "Assembly": {
87                    "$ref": "http://redfish.dmtf.org/schemas/v1/Assembly.json#/definitions/Assembly",
88                    "description": "The link to the assembly associated with this cooling unit.",
89                    "longDescription": "This property shall contain a link to a resource of type `Assembly`.",
90                    "readonly": true
91                },
92                "AssetTag": {
93                    "description": "The user-assigned asset tag for this equipment.",
94                    "longDescription": "This property shall contain the user-assigned asset tag, which is an identifying string that tracks the equipment for inventory purposes.",
95                    "readonly": false,
96                    "type": [
97                        "string",
98                        "null"
99                    ]
100                },
101                "Coolant": {
102                    "$ref": "http://redfish.dmtf.org/schemas/v1/CoolingLoop.json#/definitions/Coolant",
103                    "description": "Details about the coolant used in this unit.",
104                    "longDescription": "This property shall contain details regarding the coolant contained or used by this unit."
105                },
106                "CoolantConnectorRedundancy": {
107                    "description": "The redundancy information for the coolant connectors in this cooling unit.",
108                    "items": {
109                        "$ref": "http://redfish.dmtf.org/schemas/v1/Redundancy.json#/definitions/RedundantGroup"
110                    },
111                    "longDescription": "This property shall contain redundancy information for the set of coolant connectors attached to this equipment.  The values of the `RedundancyGroup` array shall reference resources of type `CoolantConnector`.",
112                    "type": "array",
113                    "versionAdded": "v1_1_0"
114                },
115                "CoolingCapacityWatts": {
116                    "description": "The cooling capacity (W) of this equipment.",
117                    "longDescription": "This property shall contain the manufacturer-provided cooling capacity, in watt units, of this equipment.",
118                    "readonly": true,
119                    "type": [
120                        "integer",
121                        "null"
122                    ]
123                },
124                "Description": {
125                    "anyOf": [
126                        {
127                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
128                        },
129                        {
130                            "type": "null"
131                        }
132                    ],
133                    "readonly": true
134                },
135                "EnvironmentMetrics": {
136                    "$ref": "http://redfish.dmtf.org/schemas/v1/EnvironmentMetrics.json#/definitions/EnvironmentMetrics",
137                    "description": "The link to the environment metrics for this equipment.",
138                    "longDescription": "This property shall contain a link to a resource of type `EnvironmentMetrics` that specifies the environment metrics for this equipment.",
139                    "readonly": true
140                },
141                "EquipmentType": {
142                    "$ref": "#/definitions/CoolingEquipmentType",
143                    "description": "The type of equipment this resource represents.",
144                    "longDescription": "This property shall contain the type of equipment this resource represents.",
145                    "readonly": true
146                },
147                "FilterRedundancy": {
148                    "description": "The redundancy information for the groups of filters in this unit.",
149                    "items": {
150                        "$ref": "http://redfish.dmtf.org/schemas/v1/Redundancy.json#/definitions/RedundantGroup"
151                    },
152                    "longDescription": "This property shall contain redundancy information for the groups of filters in this unit.",
153                    "type": "array"
154                },
155                "Filters": {
156                    "$ref": "http://redfish.dmtf.org/schemas/v1/FilterCollection.json#/definitions/FilterCollection",
157                    "description": "A link to the filters for this equipment.",
158                    "longDescription": "This property shall contain a link to a resource collection of type `FilterCollection` that contains the filter information for this equipment.",
159                    "readonly": true
160                },
161                "FirmwareVersion": {
162                    "description": "The firmware version of this equipment.",
163                    "longDescription": "This property shall contain a string describing the firmware version of this equipment as provided by the manufacturer.",
164                    "readonly": true,
165                    "type": "string"
166                },
167                "Id": {
168                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
169                    "readonly": true
170                },
171                "LeakDetection": {
172                    "$ref": "http://redfish.dmtf.org/schemas/v1/LeakDetection.json#/definitions/LeakDetection",
173                    "description": "A link to the leak detection components associated with this equipment.",
174                    "longDescription": "This property shall contain a link to a resource of type `LeakDetection` that contains the leak detection component information for this equipment.  This link should be used when the leak detection capabilities are tied to a particular cooling unit or system which may span multiple `Chassis` resources.  For equipment represented with a single `Chassis` resource or detection inside a particular `Chassis` resource, populating the `LeakDetection` resource under `ThermalSubsystem` for the relevant `Chassis` is the preferred approach.",
175                    "readonly": true
176                },
177                "Links": {
178                    "$ref": "#/definitions/Links",
179                    "description": "The links to other resources that are related to this resource.",
180                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."
181                },
182                "Location": {
183                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
184                    "description": "The location of the equipment.",
185                    "longDescription": "This property shall contain the location information of the associated equipment."
186                },
187                "Manufacturer": {
188                    "description": "The manufacturer of this equipment.",
189                    "longDescription": "This property shall contain the name of the organization responsible for producing the equipment.  This organization may be the entity from which the equipment is purchased, but this is not necessarily true.",
190                    "readonly": true,
191                    "type": [
192                        "string",
193                        "null"
194                    ]
195                },
196                "Model": {
197                    "description": "The product model number of this equipment.",
198                    "longDescription": "This property shall contain the manufacturer-provided model information of this equipment.",
199                    "readonly": true,
200                    "type": [
201                        "string",
202                        "null"
203                    ]
204                },
205                "Name": {
206                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
207                    "readonly": true
208                },
209                "Oem": {
210                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
211                    "description": "The OEM extension property.",
212                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
213                },
214                "PartNumber": {
215                    "description": "The part number for this equipment.",
216                    "longDescription": "This property shall contain the manufacturer-provided part number for the equipment.",
217                    "readonly": true,
218                    "type": [
219                        "string",
220                        "null"
221                    ]
222                },
223                "PrimaryCoolantConnectors": {
224                    "$ref": "http://redfish.dmtf.org/schemas/v1/CoolantConnectorCollection.json#/definitions/CoolantConnectorCollection",
225                    "description": "A link to the primary coolant connectors for this equipment.",
226                    "longDescription": "This property shall contain a link to a resource collection of type `CoolantConnectorCollection` that contains the primary coolant connectors for this equipment.",
227                    "readonly": true
228                },
229                "ProductionDate": {
230                    "description": "The production or manufacturing date of this equipment.",
231                    "format": "date-time",
232                    "longDescription": "This property shall contain the date of production or manufacture for this equipment.",
233                    "readonly": true,
234                    "type": [
235                        "string",
236                        "null"
237                    ]
238                },
239                "PumpRedundancy": {
240                    "description": "The redundancy information for the groups of pumps in this unit.",
241                    "items": {
242                        "$ref": "http://redfish.dmtf.org/schemas/v1/Redundancy.json#/definitions/RedundantGroup"
243                    },
244                    "longDescription": "This property shall contain redundancy information for the groups of pumps in this unit.",
245                    "type": "array"
246                },
247                "Pumps": {
248                    "$ref": "http://redfish.dmtf.org/schemas/v1/PumpCollection.json#/definitions/PumpCollection",
249                    "description": "A link to the pumps for this equipment.",
250                    "longDescription": "This property shall contain a link to a resource collection of type `PumpCollection` that contains the pump information for this equipment.",
251                    "readonly": true
252                },
253                "Reservoirs": {
254                    "$ref": "http://redfish.dmtf.org/schemas/v1/ReservoirCollection.json#/definitions/ReservoirCollection",
255                    "description": "A link to the reservoirs for this equipment.",
256                    "longDescription": "This property shall contain a link to a resource collection of type `ReservoirCollection` that contains the reservoir information for this equipment.",
257                    "readonly": true
258                },
259                "SecondaryCoolantConnectors": {
260                    "$ref": "http://redfish.dmtf.org/schemas/v1/CoolantConnectorCollection.json#/definitions/CoolantConnectorCollection",
261                    "description": "A link to the secondary coolant connectors for this equipment.",
262                    "longDescription": "This property shall contain a link to a resource collection of type `CoolantConnectorCollection` that contains the secondary coolant connectors for this equipment.",
263                    "readonly": true
264                },
265                "SerialNumber": {
266                    "description": "The serial number for this equipment.",
267                    "longDescription": "This property shall contain a manufacturer-allocated number that identifies the equipment.",
268                    "readonly": true,
269                    "type": [
270                        "string",
271                        "null"
272                    ]
273                },
274                "Status": {
275                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
276                    "description": "The status and health of the resource and its subordinate or dependent resources.",
277                    "longDescription": "This property shall contain any status or health properties of the resource."
278                },
279                "UserLabel": {
280                    "description": "A user-assigned label.",
281                    "longDescription": "This property shall contain a user-assigned label used to identify this resource.  If a value has not been assigned by a user, the value of this property shall be an empty string.",
282                    "readonly": false,
283                    "type": "string"
284                },
285                "Version": {
286                    "description": "The hardware version of this equipment.",
287                    "longDescription": "This property shall contain the hardware version of this equipment as determined by the vendor or supplier.",
288                    "readonly": true,
289                    "type": [
290                        "string",
291                        "null"
292                    ]
293                }
294            },
295            "required": [
296                "EquipmentType",
297                "@odata.id",
298                "@odata.type",
299                "Id",
300                "Name"
301            ],
302            "type": "object"
303        },
304        "CoolingUnitMode": {
305            "enum": [
306                "Enabled",
307                "Disabled"
308            ],
309            "enumDescriptions": {
310                "Disabled": "Disable the cooling unit.",
311                "Enabled": "Enable the cooling unit."
312            },
313            "enumLongDescriptions": {
314                "Disabled": "This value shall indicate a request to disable the cooling unit.  When disabled, primary functions of the cooling unit, such as pump activity, are also disabled.  When disabled, the cooling unit may perform administrative functions, such as monitoring sensors, controlling valves, and accepting new firmware.  Upon successful completion, the `State` property within `Status`, shall contain the value `Disabled`.",
315                "Enabled": "This value shall indicate a request to enable the cooling unit.  Upon successful completion, the `State` property within `Status`, shall contain the value `Enabled`."
316            },
317            "type": "string"
318        },
319        "Links": {
320            "additionalProperties": false,
321            "description": "The links to other resources that are related to this resource.",
322            "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.",
323            "patternProperties": {
324                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
325                    "description": "This property shall specify a valid odata or Redfish property.",
326                    "type": [
327                        "array",
328                        "boolean",
329                        "integer",
330                        "number",
331                        "null",
332                        "object",
333                        "string"
334                    ]
335                }
336            },
337            "properties": {
338                "Chassis": {
339                    "description": "An array of links to the chassis that contain this equipment.",
340                    "items": {
341                        "$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis"
342                    },
343                    "longDescription": "This property shall contain an array of links to resources of type `Chassis` that represent the physical containers that contain this equipment.",
344                    "readonly": true,
345                    "type": "array"
346                },
347                "Chassis@odata.count": {
348                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
349                },
350                "Facility": {
351                    "$ref": "http://redfish.dmtf.org/schemas/v1/Facility.json#/definitions/Facility",
352                    "description": "A link to the facility that contains this equipment.",
353                    "longDescription": "This property shall contain a link to a resource of type `Facility` that represents the facility that contains this equipment.",
354                    "readonly": true
355                },
356                "ManagedBy": {
357                    "description": "An array of links to the managers responsible for managing this equipment.",
358                    "items": {
359                        "$ref": "http://redfish.dmtf.org/schemas/v1/Manager.json#/definitions/Manager"
360                    },
361                    "longDescription": "This property shall contain an array of links to resources of type `Manager` that represent the managers that manage this equipment.",
362                    "readonly": true,
363                    "type": "array"
364                },
365                "ManagedBy@odata.count": {
366                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
367                },
368                "Oem": {
369                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
370                    "description": "The OEM extension property.",
371                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
372                }
373            },
374            "type": "object"
375        },
376        "OemActions": {
377            "additionalProperties": true,
378            "description": "The available OEM-specific actions for this resource.",
379            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
380            "patternProperties": {
381                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
382                    "description": "This property shall specify a valid odata or Redfish property.",
383                    "type": [
384                        "array",
385                        "boolean",
386                        "integer",
387                        "number",
388                        "null",
389                        "object",
390                        "string"
391                    ]
392                }
393            },
394            "properties": {},
395            "type": "object"
396        },
397        "SetMode": {
398            "additionalProperties": false,
399            "description": "This action sets the operating mode of the cooling unit.",
400            "longDescription": "This action shall set the operating mode of the cooling unit.",
401            "parameters": {
402                "Mode": {
403                    "$ref": "#/definitions/CoolingUnitMode",
404                    "description": "The desired operating mode of the cooling unit.",
405                    "longDescription": "This parameter shall contain the desired operating mode of the cooling unit."
406                }
407            },
408            "patternProperties": {
409                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
410                    "description": "This property shall specify a valid odata or Redfish property.",
411                    "type": [
412                        "array",
413                        "boolean",
414                        "integer",
415                        "number",
416                        "null",
417                        "object",
418                        "string"
419                    ]
420                }
421            },
422            "properties": {
423                "target": {
424                    "description": "Link to invoke action",
425                    "format": "uri-reference",
426                    "type": "string"
427                },
428                "title": {
429                    "description": "Friendly action name",
430                    "type": "string"
431                }
432            },
433            "type": "object",
434            "versionAdded": "v1_2_0"
435        }
436    },
437    "language": "en",
438    "owningEntity": "DMTF",
439    "release": "2024.4",
440    "title": "#CoolingUnit.v1_2_0.CoolingUnit"
441}