1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/Battery.v1_3_0.json",
3    "$ref": "#/definitions/Battery",
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                "#Battery.Calibrate": {
27                    "$ref": "#/definitions/Calibrate"
28                },
29                "#Battery.Reset": {
30                    "$ref": "#/definitions/Reset"
31                },
32                "#Battery.SelfTest": {
33                    "$ref": "#/definitions/SelfTest"
34                },
35                "Oem": {
36                    "$ref": "#/definitions/OemActions",
37                    "description": "The available OEM-specific actions for this resource.",
38                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
39                }
40            },
41            "type": "object"
42        },
43        "Battery": {
44            "additionalProperties": false,
45            "description": "The `Battery` schema describes a battery unit, such as those used to provide systems with power during a power-loss event.  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.",
46            "longDescription": "This resource shall represent a battery for a Redfish implementation.  It may also represent a location, such as a slot, socket, or bay, where a unit may be installed if the `State` property within the `Status` property contains `Absent`.",
47            "patternProperties": {
48                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
49                    "description": "This property shall specify a valid odata or Redfish property.",
50                    "type": [
51                        "array",
52                        "boolean",
53                        "integer",
54                        "number",
55                        "null",
56                        "object",
57                        "string"
58                    ]
59                }
60            },
61            "properties": {
62                "@odata.context": {
63                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
64                },
65                "@odata.etag": {
66                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
67                },
68                "@odata.id": {
69                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
70                },
71                "@odata.type": {
72                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
73                },
74                "Actions": {
75                    "$ref": "#/definitions/Actions",
76                    "description": "The available actions for this resource.",
77                    "longDescription": "This property shall contain the available actions for this resource."
78                },
79                "Assembly": {
80                    "$ref": "http://redfish.dmtf.org/schemas/v1/Assembly.json#/definitions/Assembly",
81                    "description": "The link to the assembly associated with this battery.",
82                    "longDescription": "This property shall contain a link to a resource of type `Assembly`.",
83                    "readonly": true
84                },
85                "CapacityActualAmpHours": {
86                    "description": "The actual maximum capacity of this battery in amp-hour units.",
87                    "longDescription": "This property shall contain the actual maximum capacity of this battery in amp-hour units.",
88                    "minimum": 0,
89                    "readonly": true,
90                    "type": [
91                        "number",
92                        "null"
93                    ],
94                    "units": "A.h"
95                },
96                "CapacityActualWattHours": {
97                    "description": "The actual maximum capacity of this battery in watt-hour units.",
98                    "longDescription": "This property shall contain the actual maximum capacity of this battery in watt-hour units.",
99                    "minimum": 0,
100                    "readonly": true,
101                    "type": [
102                        "number",
103                        "null"
104                    ],
105                    "units": "W.h"
106                },
107                "CapacityRatedAmpHours": {
108                    "description": "The rated maximum capacity of this battery in amp-hour units.",
109                    "longDescription": "This property shall contain the rated maximum capacity of this battery in amp-hour units.",
110                    "minimum": 0,
111                    "readonly": true,
112                    "type": [
113                        "number",
114                        "null"
115                    ],
116                    "units": "A.h"
117                },
118                "CapacityRatedWattHours": {
119                    "description": "The rated maximum capacity of this battery in watt-hour units.",
120                    "longDescription": "This property shall contain the rated maximum capacity of this battery in watt-hour units.",
121                    "minimum": 0,
122                    "readonly": true,
123                    "type": [
124                        "number",
125                        "null"
126                    ],
127                    "units": "W.h"
128                },
129                "ChargeState": {
130                    "anyOf": [
131                        {
132                            "$ref": "#/definitions/ChargeState"
133                        },
134                        {
135                            "type": "null"
136                        }
137                    ],
138                    "description": "The charge state of this battery.",
139                    "longDescription": "This property shall contain the charge state of this battery.",
140                    "readonly": true
141                },
142                "Description": {
143                    "anyOf": [
144                        {
145                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
146                        },
147                        {
148                            "type": "null"
149                        }
150                    ],
151                    "readonly": true
152                },
153                "FirmwareVersion": {
154                    "description": "The firmware version for this battery.",
155                    "longDescription": "This property shall contain the firmware version as defined by the manufacturer for this battery.",
156                    "readonly": true,
157                    "type": [
158                        "string",
159                        "null"
160                    ]
161                },
162                "HotPluggable": {
163                    "description": "An indication of whether this device can be inserted or removed while the equipment is in operation.",
164                    "longDescription": "This property shall indicate whether the device can be inserted or removed while the underlying equipment otherwise remains in its current operational state.  Devices indicated as hot-pluggable shall allow the device to 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 be indicated as not hot-pluggable.",
165                    "readonly": true,
166                    "type": [
167                        "boolean",
168                        "null"
169                    ]
170                },
171                "Id": {
172                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
173                    "readonly": true
174                },
175                "Links": {
176                    "$ref": "#/definitions/Links",
177                    "description": "The links to other resources that are related to this resource.",
178                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.",
179                    "versionAdded": "v1_1_0"
180                },
181                "Location": {
182                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
183                    "description": "The location of the battery.",
184                    "longDescription": "This property shall contain the location information of this battery."
185                },
186                "LocationIndicatorActive": {
187                    "description": "An indicator allowing an operator to physically locate this resource.",
188                    "longDescription": "This property shall contain the state of the indicator used to physically identify or locate this resource.",
189                    "readonly": false,
190                    "type": [
191                        "boolean",
192                        "null"
193                    ]
194                },
195                "Manufacturer": {
196                    "description": "The manufacturer of this battery.",
197                    "longDescription": "This property shall contain the name of the organization responsible for producing the battery.  This organization may be the entity from whom the battery is purchased, but this is not necessarily true.",
198                    "readonly": true,
199                    "type": [
200                        "string",
201                        "null"
202                    ]
203                },
204                "MaxChargeRateAmps": {
205                    "description": "The maximum charge rate at the input of this battery in amp units.",
206                    "longDescription": "This property shall contain the maximum charge rate at the input of this battery in amp units.",
207                    "minimum": 0,
208                    "readonly": true,
209                    "type": [
210                        "number",
211                        "null"
212                    ],
213                    "units": "A"
214                },
215                "MaxChargeVoltage": {
216                    "description": "The maximum charge voltage across the cell pack of this battery when it is fully charged.",
217                    "longDescription": "This property shall contain the maximum charge voltage across the cell pack of this battery when it is fully charged.  This property should not be present if the battery contains an internal charger that regulates the voltage applied to the cell pack from the input of the battery.",
218                    "minimum": 0,
219                    "readonly": true,
220                    "type": [
221                        "number",
222                        "null"
223                    ],
224                    "units": "V"
225                },
226                "MaxDischargeRateAmps": {
227                    "description": "The maximum discharge rate at the output of this battery in amp units.",
228                    "longDescription": "This property shall contain the maximum discharge rate at the output of this battery in amp units.",
229                    "minimum": 0,
230                    "readonly": true,
231                    "type": [
232                        "number",
233                        "null"
234                    ],
235                    "units": "A"
236                },
237                "Metrics": {
238                    "$ref": "http://redfish.dmtf.org/schemas/v1/BatteryMetrics.json#/definitions/BatteryMetrics",
239                    "description": "The link to the battery metrics resource associated with this battery.",
240                    "longDescription": "This property shall contain a link to a resource of type `BatteryMetrics`.",
241                    "readonly": true
242                },
243                "Model": {
244                    "description": "The model number for this battery.",
245                    "longDescription": "This property shall contain the model information as defined by the manufacturer for this battery.",
246                    "readonly": true,
247                    "type": [
248                        "string",
249                        "null"
250                    ]
251                },
252                "Name": {
253                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
254                    "readonly": true
255                },
256                "NominalOutputVoltage": {
257                    "description": "The nominal output voltage of this battery.",
258                    "longDescription": "This property shall contain the nominal output voltage of this battery.",
259                    "minimum": 0,
260                    "readonly": true,
261                    "type": [
262                        "number",
263                        "null"
264                    ],
265                    "units": "V",
266                    "versionAdded": "v1_3_0"
267                },
268                "Oem": {
269                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
270                    "description": "The OEM extension property.",
271                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
272                },
273                "PartNumber": {
274                    "description": "The part number for this battery.",
275                    "longDescription": "This property shall contain the part number as defined by the manufacturer for this battery.",
276                    "readonly": true,
277                    "type": [
278                        "string",
279                        "null"
280                    ]
281                },
282                "ProductionDate": {
283                    "description": "The production or manufacturing date of this battery.",
284                    "format": "date-time",
285                    "longDescription": "This property shall contain the date of production or manufacture for this battery.",
286                    "readonly": true,
287                    "type": [
288                        "string",
289                        "null"
290                    ]
291                },
292                "Replaceable": {
293                    "description": "An indication of whether this component can be independently replaced as allowed by the vendor's replacement policy.",
294                    "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`.",
295                    "readonly": true,
296                    "type": [
297                        "boolean",
298                        "null"
299                    ],
300                    "versionAdded": "v1_2_0"
301                },
302                "SerialNumber": {
303                    "description": "The serial number for this battery.",
304                    "longDescription": "This property shall contain the serial number as defined by the manufacturer for this battery.",
305                    "readonly": true,
306                    "type": [
307                        "string",
308                        "null"
309                    ]
310                },
311                "SparePartNumber": {
312                    "description": "The spare part number for this battery.",
313                    "longDescription": "This property shall contain the spare or replacement part number as defined by the manufacturer for this battery.",
314                    "readonly": true,
315                    "type": [
316                        "string",
317                        "null"
318                    ]
319                },
320                "StateOfHealthPercent": {
321                    "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorExcerpt",
322                    "description": "The state of health (percent) of this battery.",
323                    "excerptCopy": "SensorExcerpt",
324                    "longDescription": "This property shall contain the state of health, in percent units, of this battery.  The value of the `DataSourceUri` property, if present, shall reference a resource of type `Sensor` with the `ReadingType` property containing the value `Percent`."
325                },
326                "Status": {
327                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
328                    "description": "The status and health of the resource and its subordinate or dependent resources.",
329                    "longDescription": "This property shall contain any status or health properties of the resource."
330                },
331                "Version": {
332                    "description": "The hardware version of this battery.",
333                    "longDescription": "This property shall contain the hardware version of this battery as determined by the vendor or supplier.",
334                    "readonly": true,
335                    "type": [
336                        "string",
337                        "null"
338                    ]
339                }
340            },
341            "required": [
342                "@odata.id",
343                "@odata.type",
344                "Id",
345                "Name"
346            ],
347            "type": "object"
348        },
349        "Calibrate": {
350            "additionalProperties": false,
351            "description": "This action performs a self-calibration, or learn cycle, of the battery.",
352            "longDescription": "This action shall perform a self-calibration, or learn cycle, of the battery.",
353            "parameters": {},
354            "patternProperties": {
355                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
356                    "description": "This property shall specify a valid odata or Redfish property.",
357                    "type": [
358                        "array",
359                        "boolean",
360                        "integer",
361                        "number",
362                        "null",
363                        "object",
364                        "string"
365                    ]
366                }
367            },
368            "properties": {
369                "target": {
370                    "description": "Link to invoke action",
371                    "format": "uri-reference",
372                    "type": "string"
373                },
374                "title": {
375                    "description": "Friendly action name",
376                    "type": "string"
377                }
378            },
379            "type": "object"
380        },
381        "ChargeState": {
382            "enum": [
383                "Idle",
384                "Charging",
385                "Discharging"
386            ],
387            "enumDescriptions": {
388                "Charging": "The battery is charging.",
389                "Discharging": "The battery is discharging.",
390                "Idle": "The battery is idle."
391            },
392            "enumLongDescriptions": {
393                "Charging": "This value shall indicate the battery is charging and energy is entering the battery.",
394                "Discharging": "This value shall indicate the battery is discharging and energy is leaving the battery.",
395                "Idle": "This value shall indicate the battery is idle and energy is not entering or leaving the battery.  Small amounts of energy may enter or leave the battery while in this state if the battery is regulating itself."
396            },
397            "type": "string"
398        },
399        "Links": {
400            "additionalProperties": false,
401            "description": "The links to other resources that are related to this resource.",
402            "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.",
403            "patternProperties": {
404                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
405                    "description": "This property shall specify a valid odata or Redfish property.",
406                    "type": [
407                        "array",
408                        "boolean",
409                        "integer",
410                        "number",
411                        "null",
412                        "object",
413                        "string"
414                    ]
415                }
416            },
417            "properties": {
418                "Memory": {
419                    "description": "An array of links to the memory devices to which this battery provides power during a power-loss event.",
420                    "items": {
421                        "$ref": "http://redfish.dmtf.org/schemas/v1/Memory.json#/definitions/Memory"
422                    },
423                    "longDescription": "This property shall contain an array of links to resources of type `Memory` that represent the memory devices to which this battery provides power during a power-loss event, such as battery-backed NVDIMMs.  This property shall not be present if the battery powers the containing chassis as a whole rather than individual components in a chassis.",
424                    "readonly": true,
425                    "type": "array",
426                    "versionAdded": "v1_1_0"
427                },
428                "Memory@odata.count": {
429                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
430                },
431                "Oem": {
432                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
433                    "description": "The OEM extension property.",
434                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
435                },
436                "StorageControllers": {
437                    "description": "An array of links to the storage controllers to which this battery provides power during a power-loss event.",
438                    "items": {
439                        "$ref": "http://redfish.dmtf.org/schemas/v1/StorageController.json#/definitions/StorageController"
440                    },
441                    "longDescription": "This property shall contain an array of links to resources of type `StorageController` that represent the storage controllers to which this battery provides power during a power-loss event, such as battery-backed RAID controllers.  This property shall not be present if the battery powers the containing chassis as a whole rather than individual components in a chassis.",
442                    "readonly": true,
443                    "type": "array",
444                    "versionAdded": "v1_1_0"
445                },
446                "StorageControllers@odata.count": {
447                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
448                }
449            },
450            "type": "object"
451        },
452        "OemActions": {
453            "additionalProperties": true,
454            "description": "The available OEM-specific actions for this resource.",
455            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
456            "patternProperties": {
457                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
458                    "description": "This property shall specify a valid odata or Redfish property.",
459                    "type": [
460                        "array",
461                        "boolean",
462                        "integer",
463                        "number",
464                        "null",
465                        "object",
466                        "string"
467                    ]
468                }
469            },
470            "properties": {},
471            "type": "object"
472        },
473        "Reset": {
474            "additionalProperties": false,
475            "description": "This action resets the battery.",
476            "longDescription": "This action shall reset the battery.",
477            "parameters": {
478                "ResetType": {
479                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/ResetType",
480                    "description": "The type of reset.",
481                    "longDescription": "This parameter shall contain the type of reset.  The service can accept a request without the parameter and shall perform a `GracefulRestart`."
482                }
483            },
484            "patternProperties": {
485                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
486                    "description": "This property shall specify a valid odata or Redfish property.",
487                    "type": [
488                        "array",
489                        "boolean",
490                        "integer",
491                        "number",
492                        "null",
493                        "object",
494                        "string"
495                    ]
496                }
497            },
498            "properties": {
499                "target": {
500                    "description": "Link to invoke action",
501                    "format": "uri-reference",
502                    "type": "string"
503                },
504                "title": {
505                    "description": "Friendly action name",
506                    "type": "string"
507                }
508            },
509            "type": "object"
510        },
511        "SelfTest": {
512            "additionalProperties": false,
513            "description": "This action performs a self-test of the battery.",
514            "longDescription": "This action shall perform a self-test of the battery.",
515            "parameters": {},
516            "patternProperties": {
517                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
518                    "description": "This property shall specify a valid odata or Redfish property.",
519                    "type": [
520                        "array",
521                        "boolean",
522                        "integer",
523                        "number",
524                        "null",
525                        "object",
526                        "string"
527                    ]
528                }
529            },
530            "properties": {
531                "target": {
532                    "description": "Link to invoke action",
533                    "format": "uri-reference",
534                    "type": "string"
535                },
536                "title": {
537                    "description": "Friendly action name",
538                    "type": "string"
539                }
540            },
541            "type": "object"
542        }
543    },
544    "language": "en",
545    "owningEntity": "DMTF",
546    "release": "2024.1",
547    "title": "#Battery.v1_3_0.Battery"
548}