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