1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/MemoryChunks.v1_6_2.json",
3    "$ref": "#/definitions/MemoryChunks",
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                "Oem": {
27                    "$ref": "#/definitions/OemActions",
28                    "description": "The available OEM-specific actions for this resource.",
29                    "longDescription": "This property shall contain the available OEM-specific actions for this resource.",
30                    "versionAdded": "v1_1_0"
31                }
32            },
33            "type": "object"
34        },
35        "AddressRangeType": {
36            "enum": [
37                "Volatile",
38                "PMEM",
39                "Block"
40            ],
41            "enumDescriptions": {
42                "Block": "Block accessible memory.",
43                "PMEM": "Byte accessible persistent memory.",
44                "Volatile": "Volatile memory."
45            },
46            "type": "string"
47        },
48        "InterleaveSet": {
49            "additionalProperties": false,
50            "description": "This an interleave set for a memory chunk.",
51            "longDescription": "This type shall describe an interleave set of which the memory chunk is a part.",
52            "patternProperties": {
53                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
54                    "description": "This property shall specify a valid odata or Redfish property.",
55                    "type": [
56                        "array",
57                        "boolean",
58                        "integer",
59                        "number",
60                        "null",
61                        "object",
62                        "string"
63                    ]
64                }
65            },
66            "properties": {
67                "Memory": {
68                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/idRef",
69                    "description": "Describes a memory device of the interleave set.",
70                    "longDescription": "This property shall contain the memory device to which these settings apply.",
71                    "readonly": true
72                },
73                "MemoryLevel": {
74                    "description": "Level of the interleave set for multi-level tiered memory.",
75                    "longDescription": "This property shall contain the level of this interleave set for multi-level tiered memory.",
76                    "readonly": true,
77                    "type": [
78                        "integer",
79                        "null"
80                    ]
81                },
82                "OffsetMiB": {
83                    "description": "Offset within the DIMM that corresponds to the start of this memory region, measured in mebibytes (MiB).",
84                    "longDescription": "This property shall contain the offset within the DIMM that corresponds to the start of this memory region, with units in MiB.",
85                    "readonly": true,
86                    "type": [
87                        "integer",
88                        "null"
89                    ],
90                    "units": "MiBy"
91                },
92                "RegionId": {
93                    "description": "DIMM region identifier.",
94                    "longDescription": "This property shall contain the DIMM region identifier.",
95                    "readonly": true,
96                    "type": [
97                        "string",
98                        "null"
99                    ]
100                },
101                "SizeMiB": {
102                    "description": "Size of this memory region measured in mebibytes (MiB).",
103                    "longDescription": "This property shall contain the size of this memory region, with units in MiB.",
104                    "readonly": true,
105                    "type": [
106                        "integer",
107                        "null"
108                    ],
109                    "units": "MiBy"
110                }
111            },
112            "type": "object"
113        },
114        "Links": {
115            "additionalProperties": false,
116            "description": "The links to other resources that are related to this resource.",
117            "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.",
118            "patternProperties": {
119                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
120                    "description": "This property shall specify a valid odata or Redfish property.",
121                    "type": [
122                        "array",
123                        "boolean",
124                        "integer",
125                        "number",
126                        "null",
127                        "object",
128                        "string"
129                    ]
130                }
131            },
132            "properties": {
133                "CXLLogicalDevices": {
134                    "description": "An array of links to the CXL logical devices associated with this memory chunk.",
135                    "items": {
136                        "$ref": "http://redfish.dmtf.org/schemas/v1/CXLLogicalDevice.json#/definitions/CXLLogicalDevice"
137                    },
138                    "longDescription": "This property shall contain an array of links to resources of type `CXLLogicalDevice` that represent the CXL logical devices associated with this memory chunk.",
139                    "readonly": true,
140                    "type": "array",
141                    "versionAdded": "v1_5_0"
142                },
143                "CXLLogicalDevices@odata.count": {
144                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
145                },
146                "Endpoints": {
147                    "description": "An array of links to the endpoints that connect to this memory chunk.",
148                    "items": {
149                        "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint"
150                    },
151                    "longDescription": "This property shall contain a link to the resources of type `Endpoint` with which this memory chunk is associated.",
152                    "readonly": true,
153                    "type": "array",
154                    "versionAdded": "v1_3_0"
155                },
156                "Endpoints@odata.count": {
157                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
158                },
159                "MemoryRegions": {
160                    "description": "An array of links to the memory regions for which this memory chunk provides capacity.",
161                    "items": {
162                        "$ref": "http://redfish.dmtf.org/schemas/v1/MemoryRegion.json#/definitions/MemoryRegion"
163                    },
164                    "longDescription": "This property shall contain an array of links to resources of type `MemoryRegion` that represent the memory regions for which this memory chunk provides capacity.",
165                    "readonly": true,
166                    "type": "array",
167                    "versionAdded": "v1_6_0"
168                },
169                "MemoryRegions@odata.count": {
170                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
171                },
172                "Oem": {
173                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
174                    "description": "The OEM extension property.",
175                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
176                }
177            },
178            "type": "object"
179        },
180        "MediaLocation": {
181            "enum": [
182                "Local",
183                "Remote",
184                "Mixed"
185            ],
186            "enumDescriptions": {
187                "Local": "The memory chunk was created using local media.",
188                "Mixed": "The memory chunk was created using both local media and remote media accessible through a fabric.",
189                "Remote": "The memory chunk was created using remote media accessible through a fabric."
190            },
191            "type": "string"
192        },
193        "MemoryChunks": {
194            "additionalProperties": false,
195            "description": "The `MemoryChunks` schema contains the definition of a memory chunk and its configuration.",
196            "longDescription": "This resource shall represent memory chunks and interleave sets in a Redfish implementation.",
197            "patternProperties": {
198                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
199                    "description": "This property shall specify a valid odata or Redfish property.",
200                    "type": [
201                        "array",
202                        "boolean",
203                        "integer",
204                        "number",
205                        "null",
206                        "object",
207                        "string"
208                    ]
209                }
210            },
211            "properties": {
212                "@odata.context": {
213                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
214                },
215                "@odata.etag": {
216                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
217                },
218                "@odata.id": {
219                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
220                },
221                "@odata.type": {
222                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
223                },
224                "Actions": {
225                    "$ref": "#/definitions/Actions",
226                    "description": "The available actions for this resource.",
227                    "longDescription": "This property shall contain the available actions for this resource.",
228                    "versionAdded": "v1_1_0"
229                },
230                "AddressRangeOffsetMiB": {
231                    "description": "Offset of the memory chunk in the address range in MiB.",
232                    "longDescription": "The value of this property shall be the offset of the memory chunk in the address range in MiB.",
233                    "readonly": true,
234                    "type": [
235                        "integer",
236                        "null"
237                    ],
238                    "units": "MiBy",
239                    "versionAdded": "v1_3_0"
240                },
241                "AddressRangeType": {
242                    "anyOf": [
243                        {
244                            "$ref": "#/definitions/AddressRangeType"
245                        },
246                        {
247                            "type": "null"
248                        }
249                    ],
250                    "description": "Memory type of this memory chunk.",
251                    "longDescription": "This property shall contain the type of memory chunk.",
252                    "readonly": true
253                },
254                "Description": {
255                    "anyOf": [
256                        {
257                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
258                        },
259                        {
260                            "type": "null"
261                        }
262                    ],
263                    "readonly": true
264                },
265                "DisplayName": {
266                    "description": "A user-configurable string to name the memory chunk.",
267                    "longDescription": "This property shall contain a user-configurable string to name the memory chunk.",
268                    "readonly": false,
269                    "type": [
270                        "string",
271                        "null"
272                    ],
273                    "versionAdded": "v1_4_0"
274                },
275                "Id": {
276                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
277                    "readonly": true
278                },
279                "InterleaveSets": {
280                    "description": "The interleave sets for the memory chunk.",
281                    "items": {
282                        "$ref": "#/definitions/InterleaveSet"
283                    },
284                    "longDescription": "These properties shall represent the interleave sets for the memory chunk.  If not specified by the client during a create operation, the memory chunk shall be created across all available memory within the memory domain.",
285                    "type": "array"
286                },
287                "IsMirrorEnabled": {
288                    "description": "An indication of whether memory mirroring is enabled for this memory chunk.",
289                    "longDescription": "This property shall indicate whether memory mirroring is enabled for this memory chunk.",
290                    "readonly": true,
291                    "type": [
292                        "boolean",
293                        "null"
294                    ]
295                },
296                "IsSpare": {
297                    "description": "An indication of whether sparing is enabled for this memory chunk.",
298                    "longDescription": "This property shall indicate whether sparing is enabled for this memory chunk.",
299                    "readonly": true,
300                    "type": [
301                        "boolean",
302                        "null"
303                    ]
304                },
305                "Links": {
306                    "$ref": "#/definitions/Links",
307                    "description": "The links to other resources that are related to this resource.",
308                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.",
309                    "versionAdded": "v1_3_0"
310                },
311                "MediaLocation": {
312                    "anyOf": [
313                        {
314                            "$ref": "#/definitions/MediaLocation"
315                        },
316                        {
317                            "type": "null"
318                        }
319                    ],
320                    "description": "The location of the memory media for this memory chunk.",
321                    "longDescription": "This property shall contain the location of the memory media for this memory chunk.",
322                    "readonly": false,
323                    "versionAdded": "v1_5_0"
324                },
325                "MemoryChunkSizeMiB": {
326                    "description": "Size of the memory chunk measured in mebibytes (MiB).",
327                    "longDescription": "This property shall contain the size of the memory chunk in MiB.",
328                    "readonly": true,
329                    "type": [
330                        "integer",
331                        "null"
332                    ],
333                    "units": "MiBy"
334                },
335                "Name": {
336                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
337                    "readonly": true
338                },
339                "Oem": {
340                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
341                    "description": "The OEM extension property.",
342                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
343                },
344                "RequestedOperationalState": {
345                    "anyOf": [
346                        {
347                            "$ref": "#/definitions/OperationalState"
348                        },
349                        {
350                            "type": "null"
351                        }
352                    ],
353                    "description": "The requested operational state of this memory chunk.",
354                    "longDescription": "This property shall contain the requested operational state of this memory chunk.",
355                    "readonly": false,
356                    "versionAdded": "v1_5_0"
357                },
358                "Status": {
359                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
360                    "description": "The status and health of the resource and its subordinate or dependent resources.",
361                    "longDescription": "This property shall contain any status or health properties of the resource.",
362                    "versionAdded": "v1_2_0"
363                }
364            },
365            "required": [
366                "AddressRangeType",
367                "@odata.id",
368                "@odata.type",
369                "Id",
370                "Name"
371            ],
372            "type": "object"
373        },
374        "OemActions": {
375            "additionalProperties": true,
376            "description": "The available OEM-specific actions for this resource.",
377            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
378            "patternProperties": {
379                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
380                    "description": "This property shall specify a valid odata or Redfish property.",
381                    "type": [
382                        "array",
383                        "boolean",
384                        "integer",
385                        "number",
386                        "null",
387                        "object",
388                        "string"
389                    ]
390                }
391            },
392            "properties": {},
393            "type": "object"
394        },
395        "OperationalState": {
396            "enum": [
397                "Online",
398                "Offline"
399            ],
400            "enumDescriptions": {
401                "Offline": "Memory chunk cannot be used.  Consumers of this memory chunk should perform cleanup operations as needed to prepare for the removal of this memory chunk.",
402                "Online": "Memory chunk can be used."
403            },
404            "type": "string"
405        }
406    },
407    "language": "en",
408    "owningEntity": "DMTF",
409    "release": "2023.2",
410    "title": "#MemoryChunks.v1_6_2.MemoryChunks"
411}