1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/PCIeSlots.v1_6_1.json",
3    "$ref": "#/definitions/PCIeSlots",
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        "OemActions": {
35            "additionalProperties": true,
36            "description": "The available OEM-specific actions for this resource.",
37            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
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            "type": "object"
54        },
55        "PCIeLinks": {
56            "additionalProperties": false,
57            "description": "The links to other resources that are related to this resource.",
58            "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.",
59            "patternProperties": {
60                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
61                    "description": "This property shall specify a valid odata or Redfish property.",
62                    "type": [
63                        "array",
64                        "boolean",
65                        "integer",
66                        "number",
67                        "null",
68                        "object",
69                        "string"
70                    ]
71                }
72            },
73            "properties": {
74                "Oem": {
75                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
76                    "description": "The OEM extension property.",
77                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
78                },
79                "PCIeDevice": {
80                    "description": "An array of links to the PCIe devices contained in this slot.",
81                    "items": {
82                        "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.json#/definitions/PCIeDevice"
83                    },
84                    "longDescription": "This property shall contain an array of links to resources of type `PCIeDevice` with which this physical slot is associated.  If the `State` property in `Status` of this slot is `Absent`, this property shall not appear in the resource.",
85                    "readonly": true,
86                    "type": "array"
87                },
88                "PCIeDevice@odata.count": {
89                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
90                },
91                "Processors": {
92                    "description": "An array of links to the processors that are directly connected or directly bridged to this PCIe slot.",
93                    "items": {
94                        "$ref": "http://redfish.dmtf.org/schemas/v1/Processor.json#/definitions/Processor"
95                    },
96                    "longDescription": "This property shall contain an array of links to resources of type `Processor` that represent processors that are directly connected or directly bridged to this PCIe slot.",
97                    "readonly": true,
98                    "type": "array",
99                    "versionAdded": "v1_5_0"
100                },
101                "Processors@odata.count": {
102                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
103                }
104            },
105            "type": "object"
106        },
107        "PCIeSlot": {
108            "additionalProperties": false,
109            "description": "This type defines information for a PCIe slot.",
110            "longDescription": "These properties shall contain the definition for a PCIe slot for a Redfish implementation.",
111            "patternProperties": {
112                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
113                    "description": "This property shall specify a valid odata or Redfish property.",
114                    "type": [
115                        "array",
116                        "boolean",
117                        "integer",
118                        "number",
119                        "null",
120                        "object",
121                        "string"
122                    ]
123                }
124            },
125            "properties": {
126                "HotPluggable": {
127                    "description": "An indication of whether this PCIe slot supports hotplug.",
128                    "longDescription": "This property shall contain indicating whether this PCIe slot supports hotplug.",
129                    "readonly": true,
130                    "type": [
131                        "boolean",
132                        "null"
133                    ],
134                    "versionAdded": "v1_1_0"
135                },
136                "Lanes": {
137                    "description": "The number of PCIe lanes supported by this slot.",
138                    "longDescription": "This property shall contain the maximum number of PCIe lanes supported by the slot.",
139                    "maximum": 32,
140                    "readonly": true,
141                    "type": [
142                        "integer",
143                        "null"
144                    ]
145                },
146                "Links": {
147                    "$ref": "#/definitions/PCIeLinks",
148                    "description": "The links to other resources that are related to this resource.",
149                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."
150                },
151                "Location": {
152                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
153                    "description": "The location of the PCIe slot.",
154                    "longDescription": "This property shall contain part location information, including a `ServiceLabel` of the associated PCIe slot."
155                },
156                "LocationIndicatorActive": {
157                    "description": "An indicator allowing an operator to physically locate this resource.",
158                    "longDescription": "This property shall contain the state of the indicator used to physically identify or locate this resource.  A write to this property shall update the value of `IndicatorLED` in this resource, if supported, to reflect the implementation of the locating function.",
159                    "readonly": false,
160                    "type": [
161                        "boolean",
162                        "null"
163                    ],
164                    "versionAdded": "v1_4_0"
165                },
166                "Oem": {
167                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
168                    "description": "The OEM extension property.",
169                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
170                },
171                "PCIeType": {
172                    "anyOf": [
173                        {
174                            "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.json#/definitions/PCIeTypes"
175                        },
176                        {
177                            "type": "null"
178                        }
179                    ],
180                    "description": "The PCIe specification supported by this slot.",
181                    "longDescription": "This property shall contain the maximum PCIe specification that this slot supports.",
182                    "readonly": true
183                },
184                "SlotType": {
185                    "anyOf": [
186                        {
187                            "$ref": "#/definitions/SlotTypes"
188                        },
189                        {
190                            "type": "null"
191                        }
192                    ],
193                    "description": "The PCIe slot type for this slot.",
194                    "longDescription": "This property shall contain the slot type as specified by the PCIe specification.",
195                    "readonly": true
196                },
197                "Status": {
198                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
199                    "description": "The status and health of the resource and its subordinate or dependent resources.",
200                    "longDescription": "This property shall contain any status or health properties of the resource."
201                }
202            },
203            "type": "object"
204        },
205        "PCIeSlots": {
206            "additionalProperties": false,
207            "deprecated": "This schema has been deprecated in favor of the `PCIeDevice` schema.  Empty PCIe slots should be represented by `PCIeDevice` resources using the `Absent` value of the `State` property within `Status`.",
208            "description": "The `PCIeSlots` schema describes PCIe slot properties.",
209            "longDescription": "This resource shall represent a set of PCIe slot information for a Redfish implementation.",
210            "patternProperties": {
211                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
212                    "description": "This property shall specify a valid odata or Redfish property.",
213                    "type": [
214                        "array",
215                        "boolean",
216                        "integer",
217                        "number",
218                        "null",
219                        "object",
220                        "string"
221                    ]
222                }
223            },
224            "properties": {
225                "@odata.context": {
226                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
227                },
228                "@odata.etag": {
229                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
230                },
231                "@odata.id": {
232                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
233                },
234                "@odata.type": {
235                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
236                },
237                "Actions": {
238                    "$ref": "#/definitions/Actions",
239                    "description": "The available actions for this resource.",
240                    "longDescription": "This property shall contain the available actions for this resource."
241                },
242                "Description": {
243                    "anyOf": [
244                        {
245                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
246                        },
247                        {
248                            "type": "null"
249                        }
250                    ],
251                    "readonly": true
252                },
253                "Id": {
254                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
255                    "readonly": true
256                },
257                "Name": {
258                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
259                    "readonly": true
260                },
261                "Oem": {
262                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
263                    "description": "The OEM extension property.",
264                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
265                },
266                "Slots": {
267                    "description": "An array of PCI Slot information.",
268                    "items": {
269                        "$ref": "#/definitions/PCIeSlot"
270                    },
271                    "longDescription": "This array shall contain an entry for each PCIe slot, including empty slots (with no device or card installed).",
272                    "type": "array"
273                }
274            },
275            "required": [
276                "@odata.id",
277                "@odata.type",
278                "Id",
279                "Name"
280            ],
281            "type": "object",
282            "versionDeprecated": "v1_6_0"
283        },
284        "SlotTypes": {
285            "enum": [
286                "FullLength",
287                "HalfLength",
288                "LowProfile",
289                "Mini",
290                "M2",
291                "OEM",
292                "OCP3Small",
293                "OCP3Large",
294                "U2"
295            ],
296            "enumDescriptions": {
297                "FullLength": "Full-Length PCIe slot.",
298                "HalfLength": "Half-Length PCIe slot.",
299                "LowProfile": "Low-Profile or Slim PCIe slot.",
300                "M2": "PCIe M.2 slot.",
301                "Mini": "Mini PCIe slot.",
302                "OCP3Large": "Open Compute Project 3.0 large form factor slot.",
303                "OCP3Small": "Open Compute Project 3.0 small form factor slot.",
304                "OEM": "An OEM-specific slot.",
305                "U2": "U.2 / SFF-8639 slot or bay."
306            },
307            "enumVersionAdded": {
308                "OCP3Large": "v1_2_0",
309                "OCP3Small": "v1_2_0",
310                "U2": "v1_3_0"
311            },
312            "type": "string"
313        }
314    },
315    "language": "en",
316    "owningEntity": "DMTF",
317    "release": "2023.2",
318    "title": "#PCIeSlots.v1_6_1.PCIeSlots"
319}