1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/CXLLogicalDevice.v1_2_0.json",
3    "$ref": "#/definitions/CXLLogicalDevice",
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                }
31            },
32            "type": "object"
33        },
34        "CXLLogicalDevice": {
35            "additionalProperties": false,
36            "description": "The `CXLLogicalDevice` schema contains the properties of a CXL logical device within a PCIe device.",
37            "longDescription": "This resource shall represent a CXL logical device that is a part of a PCIe device.",
38            "patternProperties": {
39                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
40                    "description": "This property shall specify a valid odata or Redfish property.",
41                    "type": [
42                        "array",
43                        "boolean",
44                        "integer",
45                        "number",
46                        "null",
47                        "object",
48                        "string"
49                    ]
50                }
51            },
52            "properties": {
53                "@odata.context": {
54                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
55                },
56                "@odata.etag": {
57                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
58                },
59                "@odata.id": {
60                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
61                },
62                "@odata.type": {
63                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
64                },
65                "Actions": {
66                    "$ref": "#/definitions/Actions",
67                    "description": "The available actions for this resource.",
68                    "longDescription": "This property shall contain the available actions for this resource."
69                },
70                "Description": {
71                    "anyOf": [
72                        {
73                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
74                        },
75                        {
76                            "type": "null"
77                        }
78                    ],
79                    "readonly": true
80                },
81                "Id": {
82                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
83                    "readonly": true
84                },
85                "Identifiers": {
86                    "description": "The durable names for the CXL logical device.",
87                    "items": {
88                        "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Identifier"
89                    },
90                    "longDescription": "This property shall contain a list of all known durable names for the associated CXL logical device.",
91                    "type": "array"
92                },
93                "Links": {
94                    "$ref": "#/definitions/Links",
95                    "description": "The links to other resources that are related to this resource.",
96                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."
97                },
98                "Log": {
99                    "$ref": "http://redfish.dmtf.org/schemas/v1/LogService.json#/definitions/LogService",
100                    "description": "The link to the log service associated with this CXL logical device.",
101                    "longDescription": "This property shall contain a link to a resource of type `LogService`.",
102                    "readonly": true
103                },
104                "MemoryRegions": {
105                    "$ref": "http://redfish.dmtf.org/schemas/v1/MemoryRegionCollection.json#/definitions/MemoryRegionCollection",
106                    "description": "The link to the collection of memory regions associated with this CXL logical device.",
107                    "longDescription": "This property shall contain a link to a resource collection of type `MemoryRegionCollection` that represents the memory regions associated with this CXL logical device.",
108                    "readonly": true,
109                    "versionAdded": "v1_1_0"
110                },
111                "MemorySizeMiB": {
112                    "description": "The memory region size defined in this CXL logical device.",
113                    "longDescription": "This property shall contain the memory region size defined in this CXL logical device in mebibytes (MiB).",
114                    "readonly": true,
115                    "type": "integer",
116                    "units": "MiBy"
117                },
118                "Name": {
119                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
120                    "readonly": true
121                },
122                "Oem": {
123                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
124                    "description": "The OEM extension property.",
125                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
126                },
127                "QoS": {
128                    "$ref": "#/definitions/QoS",
129                    "description": "The quality of service configuration for this CXL logical device.",
130                    "longDescription": "This property shall contain the quality of service configuration for this CXL logical device."
131                },
132                "QoSTelemetryCapabilities": {
133                    "$ref": "#/definitions/QoSTelemetryCapabilities",
134                    "description": "The quality of service telemetry capabilities for this CXL logical device.",
135                    "longDescription": "This property shall contain the quality of service telemetry capabilities for this CXL logical device."
136                },
137                "SemanticsSupported": {
138                    "description": "The semantics supported by this CXL logical device.",
139                    "items": {
140                        "$ref": "#/definitions/CXLSemantic"
141                    },
142                    "longDescription": "This property shall contain the CXL Specification-defined semantics that are supported by this CXL logical device.",
143                    "readonly": true,
144                    "type": "array"
145                },
146                "Status": {
147                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
148                    "description": "The status and health of the resource and its subordinate or dependent resources.",
149                    "longDescription": "This property shall contain any status or health properties of the resource."
150                }
151            },
152            "required": [
153                "@odata.id",
154                "@odata.type",
155                "Id",
156                "Name"
157            ],
158            "type": "object"
159        },
160        "CXLSemantic": {
161            "enum": [
162                "CXLio",
163                "CXLcache",
164                "CXLmem"
165            ],
166            "enumDescriptions": {
167                "CXLcache": "CXL caching protocol semantic.",
168                "CXLio": "CXL I/O semantic.",
169                "CXLmem": "CXL memory access semantic."
170            },
171            "enumLongDescriptions": {
172                "CXLcache": "This value shall indicate the device conforms with the CXL Specification-defined 'CXL.cache' semantic.",
173                "CXLio": "This value shall indicate the device conforms with the CXL Specification-defined 'CXL.io' semantic.",
174                "CXLmem": "This value shall indicate the device conforms with the CXL Specification-defined 'CXL.mem' semantic."
175            },
176            "type": "string"
177        },
178        "Links": {
179            "additionalProperties": false,
180            "description": "The links to other resources that are related to this resource.",
181            "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.",
182            "patternProperties": {
183                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
184                    "description": "This property shall specify a valid odata or Redfish property.",
185                    "type": [
186                        "array",
187                        "boolean",
188                        "integer",
189                        "number",
190                        "null",
191                        "object",
192                        "string"
193                    ]
194                }
195            },
196            "properties": {
197                "Endpoints": {
198                    "description": "An array of links to the endpoints associated with this CXL logical device.",
199                    "items": {
200                        "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint"
201                    },
202                    "longDescription": "This property shall contain an array of links to resources of type `Endpoint` that represent the endpoints associated with this CXL logical device.",
203                    "readonly": true,
204                    "type": "array"
205                },
206                "Endpoints@odata.count": {
207                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
208                },
209                "MemoryChunks": {
210                    "description": "An array of links to the memory chunks owned by this CXL logical device.",
211                    "items": {
212                        "$ref": "http://redfish.dmtf.org/schemas/v1/MemoryChunks.json#/definitions/MemoryChunks"
213                    },
214                    "longDescription": "This property shall contain an array of links to resources of type `MemoryChunks` that represent the memory chunks owned by this CXL logical device.",
215                    "readonly": true,
216                    "type": "array"
217                },
218                "MemoryChunks@odata.count": {
219                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
220                },
221                "MemoryDomains": {
222                    "description": "An array of links to the memory domains associated with this CXL logical device.",
223                    "items": {
224                        "$ref": "http://redfish.dmtf.org/schemas/v1/MemoryDomain.json#/definitions/MemoryDomain"
225                    },
226                    "longDescription": "This property shall contain an array of links to resources of type `MemoryDomain` that represent the memory domains associated with this CXL logical device.",
227                    "readonly": true,
228                    "type": "array"
229                },
230                "MemoryDomains@odata.count": {
231                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
232                },
233                "Oem": {
234                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
235                    "description": "The OEM extension property.",
236                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
237                },
238                "PCIeFunctions": {
239                    "description": "An array of links to the PCIe functions assigned to this CXL logical device.",
240                    "items": {
241                        "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeFunction.json#/definitions/PCIeFunction"
242                    },
243                    "longDescription": "This property shall contain an array of links to resources of type `PCIeFunction` that represent the PCIe functions assigned to this CXL logical device.",
244                    "readonly": true,
245                    "type": "array"
246                },
247                "PCIeFunctions@odata.count": {
248                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
249                }
250            },
251            "type": "object"
252        },
253        "OemActions": {
254            "additionalProperties": true,
255            "description": "The available OEM-specific actions for this resource.",
256            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
257            "patternProperties": {
258                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
259                    "description": "This property shall specify a valid odata or Redfish property.",
260                    "type": [
261                        "array",
262                        "boolean",
263                        "integer",
264                        "number",
265                        "null",
266                        "object",
267                        "string"
268                    ]
269                }
270            },
271            "properties": {},
272            "type": "object"
273        },
274        "QoS": {
275            "additionalProperties": false,
276            "description": "The quality of service properties for this CXL logical device.",
277            "longDescription": "This type shall contain the quality of service properties of this CXL logical device.",
278            "patternProperties": {
279                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
280                    "description": "This property shall specify a valid odata or Redfish property.",
281                    "type": [
282                        "array",
283                        "boolean",
284                        "integer",
285                        "number",
286                        "null",
287                        "object",
288                        "string"
289                    ]
290                }
291            },
292            "properties": {
293                "AllocatedBandwidth": {
294                    "description": "The bandwidth allocated to this CXL logical device as a percentage.",
295                    "longDescription": "This property shall contain the bandwidth allocated, `0` to `100`, for this CXL logical device as a percentage.",
296                    "maximum": 100,
297                    "minimum": 0,
298                    "readonly": false,
299                    "type": [
300                        "integer",
301                        "null"
302                    ],
303                    "units": "%"
304                },
305                "LimitPercent": {
306                    "description": "The bandwidth limit to this CXL logical device as a percentage.",
307                    "longDescription": "This property shall contain the bandwidth limit, `0` to `100`, for this CXL logical device as a percentage.",
308                    "maximum": 100,
309                    "minimum": 0,
310                    "readonly": false,
311                    "type": [
312                        "integer",
313                        "null"
314                    ],
315                    "units": "%"
316                }
317            },
318            "type": "object"
319        },
320        "QoSTelemetryCapabilities": {
321            "additionalProperties": false,
322            "description": "The quality of service telemetry capabilities for a CXL logical device.",
323            "longDescription": "This type shall contain the quality of service telemetry capabilities for a CXL logical device.",
324            "patternProperties": {
325                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
326                    "description": "This property shall specify a valid odata or Redfish property.",
327                    "type": [
328                        "array",
329                        "boolean",
330                        "integer",
331                        "number",
332                        "null",
333                        "object",
334                        "string"
335                    ]
336                }
337            },
338            "properties": {
339                "EgressPortBackpressureSupported": {
340                    "description": "Indicates whether the device supports the CXL Specification-defined 'Egress Port Backpressure' mechanism.",
341                    "longDescription": "This property shall indicate whether the device supports the CXL Specification-defined 'Egress Port Backpressure' mechanism.",
342                    "readonly": true,
343                    "type": [
344                        "boolean",
345                        "null"
346                    ]
347                },
348                "TemporaryThroughputReductionSupported": {
349                    "deprecated": "This property has been deprecated in favor of `TemporaryThroughputReductionSupported` in `PCIeDevice`.",
350                    "description": "Indicates whether the device supports the CXL Specification-defined 'Temporary Throughput Reduction' mechanism.",
351                    "longDescription": "This property shall indicate whether the device supports the CXL Specification-defined 'Temporary Throughput Reduction' mechanism.",
352                    "readonly": true,
353                    "type": [
354                        "boolean",
355                        "null"
356                    ],
357                    "versionDeprecated": "v1_2_0"
358                }
359            },
360            "type": "object"
361        }
362    },
363    "language": "en",
364    "owningEntity": "DMTF",
365    "release": "2024.1",
366    "title": "#CXLLogicalDevice.v1_2_0.CXLLogicalDevice"
367}