xref: /openbmc/bmcweb/features/redfish/schema/dmtf/json-schema/Endpoint.v1_8_2.json (revision f2a8e57ede74a8252100b2281e3f4d170aa69391)
1*f2a8e57eSGunnar Mills{
2*f2a8e57eSGunnar Mills    "$id": "http://redfish.dmtf.org/schemas/v1/Endpoint.v1_8_2.json",
3*f2a8e57eSGunnar Mills    "$ref": "#/definitions/Endpoint",
4*f2a8e57eSGunnar Mills    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5*f2a8e57eSGunnar Mills    "copyright": "Copyright 2014-2024 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6*f2a8e57eSGunnar Mills    "definitions": {
7*f2a8e57eSGunnar Mills        "Actions": {
8*f2a8e57eSGunnar Mills            "additionalProperties": false,
9*f2a8e57eSGunnar Mills            "description": "The available actions for this resource.",
10*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain the available actions for this resource.",
11*f2a8e57eSGunnar Mills            "patternProperties": {
12*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
14*f2a8e57eSGunnar Mills                    "type": [
15*f2a8e57eSGunnar Mills                        "array",
16*f2a8e57eSGunnar Mills                        "boolean",
17*f2a8e57eSGunnar Mills                        "integer",
18*f2a8e57eSGunnar Mills                        "number",
19*f2a8e57eSGunnar Mills                        "null",
20*f2a8e57eSGunnar Mills                        "object",
21*f2a8e57eSGunnar Mills                        "string"
22*f2a8e57eSGunnar Mills                    ]
23*f2a8e57eSGunnar Mills                }
24*f2a8e57eSGunnar Mills            },
25*f2a8e57eSGunnar Mills            "properties": {
26*f2a8e57eSGunnar Mills                "Oem": {
27*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/OemActions",
28*f2a8e57eSGunnar Mills                    "description": "The available OEM-specific actions for this resource.",
29*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
30*f2a8e57eSGunnar Mills                }
31*f2a8e57eSGunnar Mills            },
32*f2a8e57eSGunnar Mills            "type": "object"
33*f2a8e57eSGunnar Mills        },
34*f2a8e57eSGunnar Mills        "ConnectedEntity": {
35*f2a8e57eSGunnar Mills            "additionalProperties": false,
36*f2a8e57eSGunnar Mills            "description": "Represents a remote resource that is connected to the network accessible to this endpoint.",
37*f2a8e57eSGunnar Mills            "longDescription": "This type shall represent a remote resource that is connected to a network accessible to an endpoint.",
38*f2a8e57eSGunnar Mills            "patternProperties": {
39*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
40*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
41*f2a8e57eSGunnar Mills                    "type": [
42*f2a8e57eSGunnar Mills                        "array",
43*f2a8e57eSGunnar Mills                        "boolean",
44*f2a8e57eSGunnar Mills                        "integer",
45*f2a8e57eSGunnar Mills                        "number",
46*f2a8e57eSGunnar Mills                        "null",
47*f2a8e57eSGunnar Mills                        "object",
48*f2a8e57eSGunnar Mills                        "string"
49*f2a8e57eSGunnar Mills                    ]
50*f2a8e57eSGunnar Mills                }
51*f2a8e57eSGunnar Mills            },
52*f2a8e57eSGunnar Mills            "properties": {
53*f2a8e57eSGunnar Mills                "EntityLink": {
54*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Resource",
55*f2a8e57eSGunnar Mills                    "description": "The link to the associated entity.",
56*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain a link to an entity of the type specified by the description of the `EntityType` property value.",
57*f2a8e57eSGunnar Mills                    "readonly": true
58*f2a8e57eSGunnar Mills                },
59*f2a8e57eSGunnar Mills                "EntityPciId": {
60*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/PciId",
61*f2a8e57eSGunnar Mills                    "description": "The PCI ID of the connected entity.",
62*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the PCI ID of the connected PCIe entity."
63*f2a8e57eSGunnar Mills                },
64*f2a8e57eSGunnar Mills                "EntityRole": {
65*f2a8e57eSGunnar Mills                    "anyOf": [
66*f2a8e57eSGunnar Mills                        {
67*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/EntityRole"
68*f2a8e57eSGunnar Mills                        },
69*f2a8e57eSGunnar Mills                        {
70*f2a8e57eSGunnar Mills                            "type": "null"
71*f2a8e57eSGunnar Mills                        }
72*f2a8e57eSGunnar Mills                    ],
73*f2a8e57eSGunnar Mills                    "description": "The role of the connected entity.",
74*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate if the specified entity is an initiator, target, or both.",
75*f2a8e57eSGunnar Mills                    "readonly": true
76*f2a8e57eSGunnar Mills                },
77*f2a8e57eSGunnar Mills                "EntityType": {
78*f2a8e57eSGunnar Mills                    "anyOf": [
79*f2a8e57eSGunnar Mills                        {
80*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/EntityType"
81*f2a8e57eSGunnar Mills                        },
82*f2a8e57eSGunnar Mills                        {
83*f2a8e57eSGunnar Mills                            "type": "null"
84*f2a8e57eSGunnar Mills                        }
85*f2a8e57eSGunnar Mills                    ],
86*f2a8e57eSGunnar Mills                    "description": "The type of the connected entity.",
87*f2a8e57eSGunnar Mills                    "longDescription": "This property shall indicate if type of connected entity.",
88*f2a8e57eSGunnar Mills                    "readonly": true
89*f2a8e57eSGunnar Mills                },
90*f2a8e57eSGunnar Mills                "GenZ": {
91*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/GenZ",
92*f2a8e57eSGunnar Mills                    "description": "The Gen-Z related properties for the entity.",
93*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the Gen-Z related properties for the entity.",
94*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
95*f2a8e57eSGunnar Mills                },
96*f2a8e57eSGunnar Mills                "Identifiers": {
97*f2a8e57eSGunnar Mills                    "description": "Identifiers for the remote entity.",
98*f2a8e57eSGunnar Mills                    "items": {
99*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Identifier"
100*f2a8e57eSGunnar Mills                    },
101*f2a8e57eSGunnar Mills                    "longDescription": "Identifiers for the remote entity shall be unique in the context of other resources that can reached over the connected network.",
102*f2a8e57eSGunnar Mills                    "type": "array"
103*f2a8e57eSGunnar Mills                },
104*f2a8e57eSGunnar Mills                "Oem": {
105*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
106*f2a8e57eSGunnar Mills                    "description": "The OEM extension property.",
107*f2a8e57eSGunnar 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."
108*f2a8e57eSGunnar Mills                },
109*f2a8e57eSGunnar Mills                "PciClassCode": {
110*f2a8e57eSGunnar Mills                    "deprecated": "This property has been deprecated in favor of the `ClassCode` property inside the `EntityPciId` object.",
111*f2a8e57eSGunnar Mills                    "description": "The Class Code, Subclass, and Programming Interface code of this PCIe function.",
112*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the PCI Class Code, Subclass, and Programming Interface of the PCIe device function.",
113*f2a8e57eSGunnar Mills                    "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){3}$",
114*f2a8e57eSGunnar Mills                    "readonly": true,
115*f2a8e57eSGunnar Mills                    "type": [
116*f2a8e57eSGunnar Mills                        "string",
117*f2a8e57eSGunnar Mills                        "null"
118*f2a8e57eSGunnar Mills                    ],
119*f2a8e57eSGunnar Mills                    "versionDeprecated": "v1_2_0"
120*f2a8e57eSGunnar Mills                },
121*f2a8e57eSGunnar Mills                "PciFunctionNumber": {
122*f2a8e57eSGunnar Mills                    "deprecated": "This property has been deprecated in favor of the `FunctionNumber` property inside the `EntityPciId` object.",
123*f2a8e57eSGunnar Mills                    "description": "The PCI ID of the connected entity.",
124*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the PCI Function Number of the connected PCIe entity.",
125*f2a8e57eSGunnar Mills                    "readonly": true,
126*f2a8e57eSGunnar Mills                    "type": [
127*f2a8e57eSGunnar Mills                        "integer",
128*f2a8e57eSGunnar Mills                        "null"
129*f2a8e57eSGunnar Mills                    ],
130*f2a8e57eSGunnar Mills                    "versionDeprecated": "v1_2_0"
131*f2a8e57eSGunnar Mills                }
132*f2a8e57eSGunnar Mills            },
133*f2a8e57eSGunnar Mills            "type": "object"
134*f2a8e57eSGunnar Mills        },
135*f2a8e57eSGunnar Mills        "Endpoint": {
136*f2a8e57eSGunnar Mills            "additionalProperties": false,
137*f2a8e57eSGunnar Mills            "description": "The `Endpoint` schema contains the properties of an endpoint resource that represents the properties of an entity that sends or receives protocol-defined messages over a transport.",
138*f2a8e57eSGunnar Mills            "longDescription": "This resource contains a fabric endpoint for a Redfish implementation.",
139*f2a8e57eSGunnar Mills            "patternProperties": {
140*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
141*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
142*f2a8e57eSGunnar Mills                    "type": [
143*f2a8e57eSGunnar Mills                        "array",
144*f2a8e57eSGunnar Mills                        "boolean",
145*f2a8e57eSGunnar Mills                        "integer",
146*f2a8e57eSGunnar Mills                        "number",
147*f2a8e57eSGunnar Mills                        "null",
148*f2a8e57eSGunnar Mills                        "object",
149*f2a8e57eSGunnar Mills                        "string"
150*f2a8e57eSGunnar Mills                    ]
151*f2a8e57eSGunnar Mills                }
152*f2a8e57eSGunnar Mills            },
153*f2a8e57eSGunnar Mills            "properties": {
154*f2a8e57eSGunnar Mills                "@odata.context": {
155*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
156*f2a8e57eSGunnar Mills                },
157*f2a8e57eSGunnar Mills                "@odata.etag": {
158*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
159*f2a8e57eSGunnar Mills                },
160*f2a8e57eSGunnar Mills                "@odata.id": {
161*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
162*f2a8e57eSGunnar Mills                },
163*f2a8e57eSGunnar Mills                "@odata.type": {
164*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
165*f2a8e57eSGunnar Mills                },
166*f2a8e57eSGunnar Mills                "Actions": {
167*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/Actions",
168*f2a8e57eSGunnar Mills                    "description": "The available actions for this resource.",
169*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the available actions for this resource."
170*f2a8e57eSGunnar Mills                },
171*f2a8e57eSGunnar Mills                "ConnectedEntities": {
172*f2a8e57eSGunnar Mills                    "description": "All the entities connected to this endpoint.",
173*f2a8e57eSGunnar Mills                    "items": {
174*f2a8e57eSGunnar Mills                        "$ref": "#/definitions/ConnectedEntity"
175*f2a8e57eSGunnar Mills                    },
176*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain all entities to which this endpoint allows access.",
177*f2a8e57eSGunnar Mills                    "type": "array"
178*f2a8e57eSGunnar Mills                },
179*f2a8e57eSGunnar Mills                "Description": {
180*f2a8e57eSGunnar Mills                    "anyOf": [
181*f2a8e57eSGunnar Mills                        {
182*f2a8e57eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
183*f2a8e57eSGunnar Mills                        },
184*f2a8e57eSGunnar Mills                        {
185*f2a8e57eSGunnar Mills                            "type": "null"
186*f2a8e57eSGunnar Mills                        }
187*f2a8e57eSGunnar Mills                    ],
188*f2a8e57eSGunnar Mills                    "readonly": true
189*f2a8e57eSGunnar Mills                },
190*f2a8e57eSGunnar Mills                "EndpointProtocol": {
191*f2a8e57eSGunnar Mills                    "anyOf": [
192*f2a8e57eSGunnar Mills                        {
193*f2a8e57eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Protocol.json#/definitions/Protocol"
194*f2a8e57eSGunnar Mills                        },
195*f2a8e57eSGunnar Mills                        {
196*f2a8e57eSGunnar Mills                            "type": "null"
197*f2a8e57eSGunnar Mills                        }
198*f2a8e57eSGunnar Mills                    ],
199*f2a8e57eSGunnar Mills                    "description": "The protocol supported by this endpoint.",
200*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the protocol this endpoint uses to communicate with other endpoints on this fabric.",
201*f2a8e57eSGunnar Mills                    "readonly": true
202*f2a8e57eSGunnar Mills                },
203*f2a8e57eSGunnar Mills                "HostReservationMemoryBytes": {
204*f2a8e57eSGunnar Mills                    "description": "The amount of memory in bytes that the host should allocate to connect to this endpoint.",
205*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the amount of memory in bytes that the host should allocate to connect to this endpoint.",
206*f2a8e57eSGunnar Mills                    "readonly": true,
207*f2a8e57eSGunnar Mills                    "type": [
208*f2a8e57eSGunnar Mills                        "integer",
209*f2a8e57eSGunnar Mills                        "null"
210*f2a8e57eSGunnar Mills                    ],
211*f2a8e57eSGunnar Mills                    "units": "By"
212*f2a8e57eSGunnar Mills                },
213*f2a8e57eSGunnar Mills                "IPTransportDetails": {
214*f2a8e57eSGunnar Mills                    "description": "An array of details for each IP transport supported by this endpoint.  The array structure can model multiple IP addresses for this endpoint.",
215*f2a8e57eSGunnar Mills                    "items": {
216*f2a8e57eSGunnar Mills                        "$ref": "#/definitions/IPTransportDetails"
217*f2a8e57eSGunnar Mills                    },
218*f2a8e57eSGunnar Mills                    "longDescription": "This array shall contain the details for each IP transport supported by this endpoint.",
219*f2a8e57eSGunnar Mills                    "type": "array",
220*f2a8e57eSGunnar Mills                    "versionAdded": "v1_1_0"
221*f2a8e57eSGunnar Mills                },
222*f2a8e57eSGunnar Mills                "Id": {
223*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
224*f2a8e57eSGunnar Mills                    "readonly": true
225*f2a8e57eSGunnar Mills                },
226*f2a8e57eSGunnar Mills                "Identifiers": {
227*f2a8e57eSGunnar Mills                    "description": "Identifiers for this endpoint.",
228*f2a8e57eSGunnar Mills                    "items": {
229*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Identifier"
230*f2a8e57eSGunnar Mills                    },
231*f2a8e57eSGunnar Mills                    "longDescription": "Identifiers for this endpoint shall be unique in the context of other endpoints that can reached over the connected network.",
232*f2a8e57eSGunnar Mills                    "type": "array"
233*f2a8e57eSGunnar Mills                },
234*f2a8e57eSGunnar Mills                "Links": {
235*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/Links",
236*f2a8e57eSGunnar Mills                    "description": "The links to other resources that are related to this resource.",
237*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."
238*f2a8e57eSGunnar Mills                },
239*f2a8e57eSGunnar Mills                "Name": {
240*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
241*f2a8e57eSGunnar Mills                    "readonly": true
242*f2a8e57eSGunnar Mills                },
243*f2a8e57eSGunnar Mills                "Oem": {
244*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
245*f2a8e57eSGunnar Mills                    "description": "The OEM extension property.",
246*f2a8e57eSGunnar 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."
247*f2a8e57eSGunnar Mills                },
248*f2a8e57eSGunnar Mills                "PciId": {
249*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/PciId",
250*f2a8e57eSGunnar Mills                    "description": "The PCI ID of the endpoint.",
251*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the PCI ID of the endpoint."
252*f2a8e57eSGunnar Mills                },
253*f2a8e57eSGunnar Mills                "Redundancy": {
254*f2a8e57eSGunnar Mills                    "autoExpand": true,
255*f2a8e57eSGunnar Mills                    "description": "Redundancy information for the lower-level endpoints supporting this endpoint.",
256*f2a8e57eSGunnar Mills                    "items": {
257*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Redundancy.json#/definitions/Redundancy"
258*f2a8e57eSGunnar Mills                    },
259*f2a8e57eSGunnar Mills                    "longDescription": "The values of the properties in this array shall show how this endpoint is grouped with other endpoints for form redundancy sets.",
260*f2a8e57eSGunnar Mills                    "type": "array"
261*f2a8e57eSGunnar Mills                },
262*f2a8e57eSGunnar Mills                "Redundancy@odata.count": {
263*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
264*f2a8e57eSGunnar Mills                },
265*f2a8e57eSGunnar Mills                "Status": {
266*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
267*f2a8e57eSGunnar Mills                    "description": "The status and health of the resource and its subordinate or dependent resources.",
268*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain any status or health properties of the resource."
269*f2a8e57eSGunnar Mills                }
270*f2a8e57eSGunnar Mills            },
271*f2a8e57eSGunnar Mills            "required": [
272*f2a8e57eSGunnar Mills                "@odata.id",
273*f2a8e57eSGunnar Mills                "@odata.type",
274*f2a8e57eSGunnar Mills                "Id",
275*f2a8e57eSGunnar Mills                "Name"
276*f2a8e57eSGunnar Mills            ],
277*f2a8e57eSGunnar Mills            "type": "object"
278*f2a8e57eSGunnar Mills        },
279*f2a8e57eSGunnar Mills        "EntityRole": {
280*f2a8e57eSGunnar Mills            "enum": [
281*f2a8e57eSGunnar Mills                "Initiator",
282*f2a8e57eSGunnar Mills                "Target",
283*f2a8e57eSGunnar Mills                "Both"
284*f2a8e57eSGunnar Mills            ],
285*f2a8e57eSGunnar Mills            "enumDescriptions": {
286*f2a8e57eSGunnar Mills                "Both": "The entity can both send and receive commands, messages, and other requests to or from other entities on the fabric.",
287*f2a8e57eSGunnar Mills                "Initiator": "The entity sends commands, messages, or other types of requests to other entities on the fabric, but cannot receive commands from other entities.",
288*f2a8e57eSGunnar Mills                "Target": "The entity receives commands, messages, or other types of requests from other entities on the fabric, but cannot send commands to other entities."
289*f2a8e57eSGunnar Mills            },
290*f2a8e57eSGunnar Mills            "type": "string"
291*f2a8e57eSGunnar Mills        },
292*f2a8e57eSGunnar Mills        "EntityType": {
293*f2a8e57eSGunnar Mills            "enum": [
294*f2a8e57eSGunnar Mills                "StorageInitiator",
295*f2a8e57eSGunnar Mills                "RootComplex",
296*f2a8e57eSGunnar Mills                "NetworkController",
297*f2a8e57eSGunnar Mills                "Drive",
298*f2a8e57eSGunnar Mills                "StorageExpander",
299*f2a8e57eSGunnar Mills                "DisplayController",
300*f2a8e57eSGunnar Mills                "Bridge",
301*f2a8e57eSGunnar Mills                "Processor",
302*f2a8e57eSGunnar Mills                "Volume",
303*f2a8e57eSGunnar Mills                "AccelerationFunction",
304*f2a8e57eSGunnar Mills                "MediaController",
305*f2a8e57eSGunnar Mills                "MemoryChunk",
306*f2a8e57eSGunnar Mills                "Switch",
307*f2a8e57eSGunnar Mills                "FabricBridge",
308*f2a8e57eSGunnar Mills                "Manager",
309*f2a8e57eSGunnar Mills                "StorageSubsystem",
310*f2a8e57eSGunnar Mills                "Memory",
311*f2a8e57eSGunnar Mills                "CXLDevice"
312*f2a8e57eSGunnar Mills            ],
313*f2a8e57eSGunnar Mills            "enumDescriptions": {
314*f2a8e57eSGunnar Mills                "AccelerationFunction": "The entity is an acceleration function realized through a device, such as an FPGA.",
315*f2a8e57eSGunnar Mills                "Bridge": "The entity is a PCIe bridge.",
316*f2a8e57eSGunnar Mills                "CXLDevice": "The entity is a CXL logical device.",
317*f2a8e57eSGunnar Mills                "DisplayController": "The entity is a display controller.",
318*f2a8e57eSGunnar Mills                "Drive": "The entity is a drive.",
319*f2a8e57eSGunnar Mills                "FabricBridge": "The entity is a fabric bridge.",
320*f2a8e57eSGunnar Mills                "Manager": "The entity is a manager.",
321*f2a8e57eSGunnar Mills                "MediaController": "The entity is a media controller.",
322*f2a8e57eSGunnar Mills                "Memory": "The entity is a memory device.",
323*f2a8e57eSGunnar Mills                "MemoryChunk": "The entity is a memory chunk.",
324*f2a8e57eSGunnar Mills                "NetworkController": "The entity is a network controller.",
325*f2a8e57eSGunnar Mills                "Processor": "The entity is a processor.",
326*f2a8e57eSGunnar Mills                "RootComplex": "The entity is a PCIe root complex.",
327*f2a8e57eSGunnar Mills                "StorageExpander": "The entity is a storage expander.",
328*f2a8e57eSGunnar Mills                "StorageInitiator": "The entity is a storage initiator.",
329*f2a8e57eSGunnar Mills                "StorageSubsystem": "The entity is a storage subsystem.",
330*f2a8e57eSGunnar Mills                "Switch": "The entity is a switch, not an expander.  Use `Expander` for expanders.",
331*f2a8e57eSGunnar Mills                "Volume": "The entity is a volume."
332*f2a8e57eSGunnar Mills            },
333*f2a8e57eSGunnar Mills            "enumLongDescriptions": {
334*f2a8e57eSGunnar Mills                "AccelerationFunction": "This value shall indicate the entity this endpoint represents is an acceleration function.  The `EntityLink` property, if present, should be of type `AccelerationFunction`.",
335*f2a8e57eSGunnar Mills                "Bridge": "This value shall indicate the entity this endpoint represents is a PCIe bridge.",
336*f2a8e57eSGunnar Mills                "CXLDevice": "This value shall indicate the entity this endpoint represents is a CXL logical device.  The `EntityLink` property, if present, should be of type `CXLLogicalDevice`.",
337*f2a8e57eSGunnar Mills                "DisplayController": "This value shall indicate the entity this endpoint represents is a display controller.",
338*f2a8e57eSGunnar Mills                "Drive": "This value shall indicate the entity this endpoint represents is a drive.  The `EntityLink` property, if present, should be of type `Drive`.",
339*f2a8e57eSGunnar Mills                "FabricBridge": "This value shall indicate the entity this endpoint represents is a fabric bridge.  The `EntityLink` property, if present, should be of type `FabricAdapter`.",
340*f2a8e57eSGunnar Mills                "Manager": "This value shall indicate the entity this endpoint represents is a manager.  The `EntityLink` property, if present, should be of type `Manager`.",
341*f2a8e57eSGunnar Mills                "MediaController": "This value shall indicate the entity this endpoint represents is a media controller.  The `EntityLink` property, if present, should be of type `MediaController`.",
342*f2a8e57eSGunnar Mills                "Memory": "This value shall indicate the entity this endpoint represents is a memory device.  The `EntityLink` property, if present, should be of type `Memory`.",
343*f2a8e57eSGunnar Mills                "MemoryChunk": "This value shall indicate the entity this endpoint represents is a memory chunk.  The `EntityLink` property, if present, should be of type `MemoryChunk`.",
344*f2a8e57eSGunnar Mills                "NetworkController": "This value shall indicate the entity this endpoint represents is a network controller.  The `EntityLink` property, if present, should be of type `NetworkDeviceFunction` or EthernetInterface.",
345*f2a8e57eSGunnar Mills                "Processor": "This value shall indicate the entity this endpoint represents is a processor.  The `EntityLink` property, if present, should be of type `Processor`.",
346*f2a8e57eSGunnar Mills                "RootComplex": "This value shall indicate the entity this endpoint represents is a PCIe root complex.  The `EntityLink` property, if present, should be of type `ComputerSystem`.",
347*f2a8e57eSGunnar Mills                "StorageExpander": "This value shall indicate the entity this endpoint represents is a storage expander.  The `EntityLink` property, if present, should be of type `Chassis`.",
348*f2a8e57eSGunnar Mills                "StorageInitiator": "This value shall indicate the entity this endpoint represents is a storage initiator.  The `EntityLink` property, if present, should be of type `StorageController`.",
349*f2a8e57eSGunnar Mills                "StorageSubsystem": "This value shall indicate the entity this endpoint represents is a storage subsystem.  The `EntityLink` property, if present, should be of type `Storage`.",
350*f2a8e57eSGunnar Mills                "Switch": "This value shall indicate the entity this endpoint represents is a switch and not an expander.  The `EntityLink` property, if present, should be of type `Switch`.",
351*f2a8e57eSGunnar Mills                "Volume": "This value shall indicate the entity this endpoint represents is a volume.  The `EntityLink` property, if present, should be of type `Volume`."
352*f2a8e57eSGunnar Mills            },
353*f2a8e57eSGunnar Mills            "enumVersionAdded": {
354*f2a8e57eSGunnar Mills                "AccelerationFunction": "v1_3_0",
355*f2a8e57eSGunnar Mills                "CXLDevice": "v1_8_0",
356*f2a8e57eSGunnar Mills                "FabricBridge": "v1_4_0",
357*f2a8e57eSGunnar Mills                "Manager": "v1_5_0",
358*f2a8e57eSGunnar Mills                "MediaController": "v1_4_0",
359*f2a8e57eSGunnar Mills                "Memory": "v1_8_0",
360*f2a8e57eSGunnar Mills                "MemoryChunk": "v1_4_0",
361*f2a8e57eSGunnar Mills                "StorageSubsystem": "v1_6_0",
362*f2a8e57eSGunnar Mills                "Switch": "v1_4_0",
363*f2a8e57eSGunnar Mills                "Volume": "v1_1_0"
364*f2a8e57eSGunnar Mills            },
365*f2a8e57eSGunnar Mills            "type": "string"
366*f2a8e57eSGunnar Mills        },
367*f2a8e57eSGunnar Mills        "GCID": {
368*f2a8e57eSGunnar Mills            "additionalProperties": false,
369*f2a8e57eSGunnar Mills            "description": "The Global Component ID (GCID).",
370*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain the Gen-Z Core Specification-defined Global Component ID.",
371*f2a8e57eSGunnar Mills            "patternProperties": {
372*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
373*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
374*f2a8e57eSGunnar Mills                    "type": [
375*f2a8e57eSGunnar Mills                        "array",
376*f2a8e57eSGunnar Mills                        "boolean",
377*f2a8e57eSGunnar Mills                        "integer",
378*f2a8e57eSGunnar Mills                        "number",
379*f2a8e57eSGunnar Mills                        "null",
380*f2a8e57eSGunnar Mills                        "object",
381*f2a8e57eSGunnar Mills                        "string"
382*f2a8e57eSGunnar Mills                    ]
383*f2a8e57eSGunnar Mills                }
384*f2a8e57eSGunnar Mills            },
385*f2a8e57eSGunnar Mills            "properties": {
386*f2a8e57eSGunnar Mills                "CID": {
387*f2a8e57eSGunnar Mills                    "description": "The component identifier portion of the GCID for the entity.",
388*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the 12 bit component identifier portion of the GCID of the entity.",
389*f2a8e57eSGunnar Mills                    "pattern": "^0[xX]([a-fA-F]|[0-9]){3}$",
390*f2a8e57eSGunnar Mills                    "readonly": false,
391*f2a8e57eSGunnar Mills                    "type": [
392*f2a8e57eSGunnar Mills                        "string",
393*f2a8e57eSGunnar Mills                        "null"
394*f2a8e57eSGunnar Mills                    ],
395*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
396*f2a8e57eSGunnar Mills                },
397*f2a8e57eSGunnar Mills                "SID": {
398*f2a8e57eSGunnar Mills                    "description": "The subnet identifier portion of the GCID for the entity.",
399*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the 16 bit subnet identifier portion of the GCID of the entity.",
400*f2a8e57eSGunnar Mills                    "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){2}$",
401*f2a8e57eSGunnar Mills                    "readonly": false,
402*f2a8e57eSGunnar Mills                    "type": [
403*f2a8e57eSGunnar Mills                        "string",
404*f2a8e57eSGunnar Mills                        "null"
405*f2a8e57eSGunnar Mills                    ],
406*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
407*f2a8e57eSGunnar Mills                }
408*f2a8e57eSGunnar Mills            },
409*f2a8e57eSGunnar Mills            "type": "object"
410*f2a8e57eSGunnar Mills        },
411*f2a8e57eSGunnar Mills        "GenZ": {
412*f2a8e57eSGunnar Mills            "additionalProperties": false,
413*f2a8e57eSGunnar Mills            "description": "The Gen-Z related properties for an entity.",
414*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain the Gen-Z related properties for an entity.",
415*f2a8e57eSGunnar Mills            "patternProperties": {
416*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
417*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
418*f2a8e57eSGunnar Mills                    "type": [
419*f2a8e57eSGunnar Mills                        "array",
420*f2a8e57eSGunnar Mills                        "boolean",
421*f2a8e57eSGunnar Mills                        "integer",
422*f2a8e57eSGunnar Mills                        "number",
423*f2a8e57eSGunnar Mills                        "null",
424*f2a8e57eSGunnar Mills                        "object",
425*f2a8e57eSGunnar Mills                        "string"
426*f2a8e57eSGunnar Mills                    ]
427*f2a8e57eSGunnar Mills                }
428*f2a8e57eSGunnar Mills            },
429*f2a8e57eSGunnar Mills            "properties": {
430*f2a8e57eSGunnar Mills                "AccessKey": {
431*f2a8e57eSGunnar Mills                    "deprecated": "This property has been deprecated in favor of the `ConnectionKeys` property in the `Connection` resource.",
432*f2a8e57eSGunnar Mills                    "description": "The Access Key for the entity.",
433*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the Gen-Z Core Specification-defined 6 bit Access Key for the entity.",
434*f2a8e57eSGunnar Mills                    "pattern": "^0[xX]([a-fA-F]|[0-9]){2}$",
435*f2a8e57eSGunnar Mills                    "readonly": false,
436*f2a8e57eSGunnar Mills                    "type": [
437*f2a8e57eSGunnar Mills                        "string",
438*f2a8e57eSGunnar Mills                        "null"
439*f2a8e57eSGunnar Mills                    ],
440*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0",
441*f2a8e57eSGunnar Mills                    "versionDeprecated": "v1_6_0"
442*f2a8e57eSGunnar Mills                },
443*f2a8e57eSGunnar Mills                "GCID": {
444*f2a8e57eSGunnar Mills                    "anyOf": [
445*f2a8e57eSGunnar Mills                        {
446*f2a8e57eSGunnar Mills                            "$ref": "#/definitions/GCID"
447*f2a8e57eSGunnar Mills                        },
448*f2a8e57eSGunnar Mills                        {
449*f2a8e57eSGunnar Mills                            "type": "null"
450*f2a8e57eSGunnar Mills                        }
451*f2a8e57eSGunnar Mills                    ],
452*f2a8e57eSGunnar Mills                    "description": "The Global Component ID (GCID) for the entity.",
453*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the Gen-Z Core Specification-defined Global Component ID for the entity.",
454*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
455*f2a8e57eSGunnar Mills                },
456*f2a8e57eSGunnar Mills                "RegionKey": {
457*f2a8e57eSGunnar Mills                    "deprecated": "This property has been deprecated in favor of the `ConnectionKeys` property in the `Connection` resource.",
458*f2a8e57eSGunnar Mills                    "description": "The Region Key for the entity.",
459*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the Gen-Z Core Specification-defined 32 bit Region Key for the entity.",
460*f2a8e57eSGunnar Mills                    "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){4}$",
461*f2a8e57eSGunnar Mills                    "readonly": false,
462*f2a8e57eSGunnar Mills                    "type": [
463*f2a8e57eSGunnar Mills                        "string",
464*f2a8e57eSGunnar Mills                        "null"
465*f2a8e57eSGunnar Mills                    ],
466*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0",
467*f2a8e57eSGunnar Mills                    "versionDeprecated": "v1_6_0"
468*f2a8e57eSGunnar Mills                }
469*f2a8e57eSGunnar Mills            },
470*f2a8e57eSGunnar Mills            "type": "object"
471*f2a8e57eSGunnar Mills        },
472*f2a8e57eSGunnar Mills        "IPTransportDetails": {
473*f2a8e57eSGunnar Mills            "additionalProperties": false,
474*f2a8e57eSGunnar Mills            "description": "This type specifies the details of the transport supported by the endpoint.  The properties that are present are dependent on the type of transport supported by the endpoint.",
475*f2a8e57eSGunnar Mills            "longDescription": "The type shall contain properties that specify the details of the transport supported by the endpoint.",
476*f2a8e57eSGunnar Mills            "patternProperties": {
477*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
478*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
479*f2a8e57eSGunnar Mills                    "type": [
480*f2a8e57eSGunnar Mills                        "array",
481*f2a8e57eSGunnar Mills                        "boolean",
482*f2a8e57eSGunnar Mills                        "integer",
483*f2a8e57eSGunnar Mills                        "number",
484*f2a8e57eSGunnar Mills                        "null",
485*f2a8e57eSGunnar Mills                        "object",
486*f2a8e57eSGunnar Mills                        "string"
487*f2a8e57eSGunnar Mills                    ]
488*f2a8e57eSGunnar Mills                }
489*f2a8e57eSGunnar Mills            },
490*f2a8e57eSGunnar Mills            "properties": {
491*f2a8e57eSGunnar Mills                "IPv4Address": {
492*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/IPAddresses.json#/definitions/IPv4Address",
493*f2a8e57eSGunnar Mills                    "description": "The IPv4 addresses assigned to the endpoint.",
494*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the IPv4 address.",
495*f2a8e57eSGunnar Mills                    "versionAdded": "v1_1_0"
496*f2a8e57eSGunnar Mills                },
497*f2a8e57eSGunnar Mills                "IPv6Address": {
498*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/IPAddresses.json#/definitions/IPv6Address",
499*f2a8e57eSGunnar Mills                    "description": "The IPv6 addresses assigned to the endpoint.",
500*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the IPv6 address.",
501*f2a8e57eSGunnar Mills                    "versionAdded": "v1_1_0"
502*f2a8e57eSGunnar Mills                },
503*f2a8e57eSGunnar Mills                "Port": {
504*f2a8e57eSGunnar Mills                    "description": "The UDP or TCP port number used by the endpoint.",
505*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain a specified UDP or TCP port number used for communication with the endpoint.",
506*f2a8e57eSGunnar Mills                    "maximum": 65535,
507*f2a8e57eSGunnar Mills                    "minimum": 0,
508*f2a8e57eSGunnar Mills                    "readonly": true,
509*f2a8e57eSGunnar Mills                    "type": "integer",
510*f2a8e57eSGunnar Mills                    "versionAdded": "v1_1_0"
511*f2a8e57eSGunnar Mills                },
512*f2a8e57eSGunnar Mills                "TransportProtocol": {
513*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Protocol.json#/definitions/Protocol",
514*f2a8e57eSGunnar Mills                    "description": "The protocol used by the connection entity.",
515*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the protocol used by the connection entity.",
516*f2a8e57eSGunnar Mills                    "readonly": true,
517*f2a8e57eSGunnar Mills                    "versionAdded": "v1_1_0"
518*f2a8e57eSGunnar Mills                }
519*f2a8e57eSGunnar Mills            },
520*f2a8e57eSGunnar Mills            "type": "object"
521*f2a8e57eSGunnar Mills        },
522*f2a8e57eSGunnar Mills        "Links": {
523*f2a8e57eSGunnar Mills            "additionalProperties": false,
524*f2a8e57eSGunnar Mills            "description": "The links to other resources that are related to this resource.",
525*f2a8e57eSGunnar 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.",
526*f2a8e57eSGunnar Mills            "patternProperties": {
527*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
528*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
529*f2a8e57eSGunnar Mills                    "type": [
530*f2a8e57eSGunnar Mills                        "array",
531*f2a8e57eSGunnar Mills                        "boolean",
532*f2a8e57eSGunnar Mills                        "integer",
533*f2a8e57eSGunnar Mills                        "number",
534*f2a8e57eSGunnar Mills                        "null",
535*f2a8e57eSGunnar Mills                        "object",
536*f2a8e57eSGunnar Mills                        "string"
537*f2a8e57eSGunnar Mills                    ]
538*f2a8e57eSGunnar Mills                }
539*f2a8e57eSGunnar Mills            },
540*f2a8e57eSGunnar Mills            "properties": {
541*f2a8e57eSGunnar Mills                "AddressPools": {
542*f2a8e57eSGunnar Mills                    "description": "An array of links to the address pools associated with this endpoint.",
543*f2a8e57eSGunnar Mills                    "items": {
544*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/AddressPool.json#/definitions/AddressPool"
545*f2a8e57eSGunnar Mills                    },
546*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `AddressPool` with which this endpoint is associated.",
547*f2a8e57eSGunnar Mills                    "readonly": false,
548*f2a8e57eSGunnar Mills                    "type": "array",
549*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
550*f2a8e57eSGunnar Mills                },
551*f2a8e57eSGunnar Mills                "AddressPools@odata.count": {
552*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
553*f2a8e57eSGunnar Mills                },
554*f2a8e57eSGunnar Mills                "ConnectedPorts": {
555*f2a8e57eSGunnar Mills                    "description": "An array of links to the switch ports or remote device ports at the other end of the link.",
556*f2a8e57eSGunnar Mills                    "items": {
557*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Port.json#/definitions/Port"
558*f2a8e57eSGunnar Mills                    },
559*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Port` that represent the switch ports or remote device ports to which this endpoint is connected.",
560*f2a8e57eSGunnar Mills                    "readonly": true,
561*f2a8e57eSGunnar Mills                    "type": "array",
562*f2a8e57eSGunnar Mills                    "versionAdded": "v1_4_0"
563*f2a8e57eSGunnar Mills                },
564*f2a8e57eSGunnar Mills                "ConnectedPorts@odata.count": {
565*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
566*f2a8e57eSGunnar Mills                },
567*f2a8e57eSGunnar Mills                "Connections": {
568*f2a8e57eSGunnar Mills                    "description": "The connections to which this endpoint belongs.",
569*f2a8e57eSGunnar Mills                    "items": {
570*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Connection.json#/definitions/Connection"
571*f2a8e57eSGunnar Mills                    },
572*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Connection` that represent the connections to which this endpoint belongs.",
573*f2a8e57eSGunnar Mills                    "readonly": true,
574*f2a8e57eSGunnar Mills                    "type": "array",
575*f2a8e57eSGunnar Mills                    "versionAdded": "v1_5_0"
576*f2a8e57eSGunnar Mills                },
577*f2a8e57eSGunnar Mills                "Connections@odata.count": {
578*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
579*f2a8e57eSGunnar Mills                },
580*f2a8e57eSGunnar Mills                "LocalPorts": {
581*f2a8e57eSGunnar Mills                    "description": "An array of links to the device ports that this endpoint represents.",
582*f2a8e57eSGunnar Mills                    "items": {
583*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Port.json#/definitions/Port"
584*f2a8e57eSGunnar Mills                    },
585*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Port` that represent the device ports that this endpoint represents.",
586*f2a8e57eSGunnar Mills                    "readonly": true,
587*f2a8e57eSGunnar Mills                    "type": "array",
588*f2a8e57eSGunnar Mills                    "versionAdded": "v1_7_0"
589*f2a8e57eSGunnar Mills                },
590*f2a8e57eSGunnar Mills                "LocalPorts@odata.count": {
591*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
592*f2a8e57eSGunnar Mills                },
593*f2a8e57eSGunnar Mills                "MutuallyExclusiveEndpoints": {
594*f2a8e57eSGunnar Mills                    "description": "An array of links to the endpoints that cannot be used in zones if this endpoint is in a zone.",
595*f2a8e57eSGunnar Mills                    "items": {
596*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint"
597*f2a8e57eSGunnar Mills                    },
598*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Endpoint` that cannot be used in a zone if this endpoint is in a zone.",
599*f2a8e57eSGunnar Mills                    "readonly": true,
600*f2a8e57eSGunnar Mills                    "type": "array"
601*f2a8e57eSGunnar Mills                },
602*f2a8e57eSGunnar Mills                "MutuallyExclusiveEndpoints@odata.count": {
603*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
604*f2a8e57eSGunnar Mills                },
605*f2a8e57eSGunnar Mills                "NetworkDeviceFunction": {
606*f2a8e57eSGunnar Mills                    "description": "When `NetworkDeviceFunction` resources are present, this array contains links to the network device functions that connect to this endpoint.",
607*f2a8e57eSGunnar Mills                    "items": {
608*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunction.json#/definitions/NetworkDeviceFunction"
609*f2a8e57eSGunnar Mills                    },
610*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `NetworkDeviceFunction` with which this endpoint is associated.",
611*f2a8e57eSGunnar Mills                    "readonly": true,
612*f2a8e57eSGunnar Mills                    "type": "array",
613*f2a8e57eSGunnar Mills                    "versionAdded": "v1_1_0"
614*f2a8e57eSGunnar Mills                },
615*f2a8e57eSGunnar Mills                "NetworkDeviceFunction@odata.count": {
616*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
617*f2a8e57eSGunnar Mills                },
618*f2a8e57eSGunnar Mills                "Oem": {
619*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
620*f2a8e57eSGunnar Mills                    "description": "The OEM extension property.",
621*f2a8e57eSGunnar 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."
622*f2a8e57eSGunnar Mills                },
623*f2a8e57eSGunnar Mills                "Ports": {
624*f2a8e57eSGunnar Mills                    "deprecated": "This property has been deprecated in favor of the ConnectedPorts and LocalPorts properties to clarify the semantics of each port referenced.",
625*f2a8e57eSGunnar Mills                    "description": "An array of links to the physical ports associated with this endpoint.",
626*f2a8e57eSGunnar Mills                    "items": {
627*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Port.json#/definitions/Port"
628*f2a8e57eSGunnar Mills                    },
629*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Port` that are utilized by this endpoint.",
630*f2a8e57eSGunnar Mills                    "readonly": true,
631*f2a8e57eSGunnar Mills                    "type": "array",
632*f2a8e57eSGunnar Mills                    "versionDeprecated": "v1_7_0"
633*f2a8e57eSGunnar Mills                },
634*f2a8e57eSGunnar Mills                "Ports@odata.count": {
635*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
636*f2a8e57eSGunnar Mills                },
637*f2a8e57eSGunnar Mills                "Zones": {
638*f2a8e57eSGunnar Mills                    "description": "The zones to which this endpoint belongs.",
639*f2a8e57eSGunnar Mills                    "items": {
640*f2a8e57eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Zone.json#/definitions/Zone"
641*f2a8e57eSGunnar Mills                    },
642*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Zone` that represent the zones to which this endpoint belongs.",
643*f2a8e57eSGunnar Mills                    "readonly": true,
644*f2a8e57eSGunnar Mills                    "type": "array",
645*f2a8e57eSGunnar Mills                    "versionAdded": "v1_6_0"
646*f2a8e57eSGunnar Mills                },
647*f2a8e57eSGunnar Mills                "Zones@odata.count": {
648*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
649*f2a8e57eSGunnar Mills                }
650*f2a8e57eSGunnar Mills            },
651*f2a8e57eSGunnar Mills            "type": "object"
652*f2a8e57eSGunnar Mills        },
653*f2a8e57eSGunnar Mills        "OemActions": {
654*f2a8e57eSGunnar Mills            "additionalProperties": true,
655*f2a8e57eSGunnar Mills            "description": "The available OEM-specific actions for this resource.",
656*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
657*f2a8e57eSGunnar Mills            "patternProperties": {
658*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
659*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
660*f2a8e57eSGunnar Mills                    "type": [
661*f2a8e57eSGunnar Mills                        "array",
662*f2a8e57eSGunnar Mills                        "boolean",
663*f2a8e57eSGunnar Mills                        "integer",
664*f2a8e57eSGunnar Mills                        "number",
665*f2a8e57eSGunnar Mills                        "null",
666*f2a8e57eSGunnar Mills                        "object",
667*f2a8e57eSGunnar Mills                        "string"
668*f2a8e57eSGunnar Mills                    ]
669*f2a8e57eSGunnar Mills                }
670*f2a8e57eSGunnar Mills            },
671*f2a8e57eSGunnar Mills            "properties": {},
672*f2a8e57eSGunnar Mills            "type": "object"
673*f2a8e57eSGunnar Mills        },
674*f2a8e57eSGunnar Mills        "PciId": {
675*f2a8e57eSGunnar Mills            "additionalProperties": false,
676*f2a8e57eSGunnar Mills            "description": "A PCI ID.",
677*f2a8e57eSGunnar Mills            "longDescription": "This type shall describe a PCI ID.",
678*f2a8e57eSGunnar Mills            "patternProperties": {
679*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
680*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
681*f2a8e57eSGunnar Mills                    "type": [
682*f2a8e57eSGunnar Mills                        "array",
683*f2a8e57eSGunnar Mills                        "boolean",
684*f2a8e57eSGunnar Mills                        "integer",
685*f2a8e57eSGunnar Mills                        "number",
686*f2a8e57eSGunnar Mills                        "null",
687*f2a8e57eSGunnar Mills                        "object",
688*f2a8e57eSGunnar Mills                        "string"
689*f2a8e57eSGunnar Mills                    ]
690*f2a8e57eSGunnar Mills                }
691*f2a8e57eSGunnar Mills            },
692*f2a8e57eSGunnar Mills            "properties": {
693*f2a8e57eSGunnar Mills                "ClassCode": {
694*f2a8e57eSGunnar Mills                    "description": "The Class Code, Subclass, and Programming Interface code of this PCIe function.",
695*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the PCI Class Code, Subclass, and Programming Interface of the PCIe device function.",
696*f2a8e57eSGunnar Mills                    "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){3}$",
697*f2a8e57eSGunnar Mills                    "readonly": true,
698*f2a8e57eSGunnar Mills                    "type": [
699*f2a8e57eSGunnar Mills                        "string",
700*f2a8e57eSGunnar Mills                        "null"
701*f2a8e57eSGunnar Mills                    ],
702*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
703*f2a8e57eSGunnar Mills                },
704*f2a8e57eSGunnar Mills                "DeviceId": {
705*f2a8e57eSGunnar Mills                    "description": "The Device ID of this PCIe function.",
706*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the PCI Device ID of the PCIe device function.",
707*f2a8e57eSGunnar Mills                    "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){2}$",
708*f2a8e57eSGunnar Mills                    "readonly": true,
709*f2a8e57eSGunnar Mills                    "type": [
710*f2a8e57eSGunnar Mills                        "string",
711*f2a8e57eSGunnar Mills                        "null"
712*f2a8e57eSGunnar Mills                    ]
713*f2a8e57eSGunnar Mills                },
714*f2a8e57eSGunnar Mills                "FunctionNumber": {
715*f2a8e57eSGunnar Mills                    "description": "The PCI ID of the connected entity.",
716*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the PCI Function Number of the connected PCIe entity.",
717*f2a8e57eSGunnar Mills                    "readonly": true,
718*f2a8e57eSGunnar Mills                    "type": [
719*f2a8e57eSGunnar Mills                        "integer",
720*f2a8e57eSGunnar Mills                        "null"
721*f2a8e57eSGunnar Mills                    ],
722*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
723*f2a8e57eSGunnar Mills                },
724*f2a8e57eSGunnar Mills                "SubsystemId": {
725*f2a8e57eSGunnar Mills                    "description": "The Subsystem ID of this PCIe function.",
726*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the PCI Subsystem ID of the PCIe device function.",
727*f2a8e57eSGunnar Mills                    "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){2}$",
728*f2a8e57eSGunnar Mills                    "readonly": true,
729*f2a8e57eSGunnar Mills                    "type": [
730*f2a8e57eSGunnar Mills                        "string",
731*f2a8e57eSGunnar Mills                        "null"
732*f2a8e57eSGunnar Mills                    ]
733*f2a8e57eSGunnar Mills                },
734*f2a8e57eSGunnar Mills                "SubsystemVendorId": {
735*f2a8e57eSGunnar Mills                    "description": "The Subsystem Vendor ID of this PCIe function.",
736*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the PCI Subsystem Vendor ID of the PCIe device function.",
737*f2a8e57eSGunnar Mills                    "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){2}$",
738*f2a8e57eSGunnar Mills                    "readonly": true,
739*f2a8e57eSGunnar Mills                    "type": [
740*f2a8e57eSGunnar Mills                        "string",
741*f2a8e57eSGunnar Mills                        "null"
742*f2a8e57eSGunnar Mills                    ]
743*f2a8e57eSGunnar Mills                },
744*f2a8e57eSGunnar Mills                "VendorId": {
745*f2a8e57eSGunnar Mills                    "description": "The Vendor ID of this PCIe function.",
746*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the PCI Vendor ID of the PCIe device function.",
747*f2a8e57eSGunnar Mills                    "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){2}$",
748*f2a8e57eSGunnar Mills                    "readonly": true,
749*f2a8e57eSGunnar Mills                    "type": [
750*f2a8e57eSGunnar Mills                        "string",
751*f2a8e57eSGunnar Mills                        "null"
752*f2a8e57eSGunnar Mills                    ]
753*f2a8e57eSGunnar Mills                }
754*f2a8e57eSGunnar Mills            },
755*f2a8e57eSGunnar Mills            "type": "object"
756*f2a8e57eSGunnar Mills        }
757*f2a8e57eSGunnar Mills    },
758*f2a8e57eSGunnar Mills    "language": "en",
759*f2a8e57eSGunnar Mills    "owningEntity": "DMTF",
760*f2a8e57eSGunnar Mills    "release": "2022.3",
761*f2a8e57eSGunnar Mills    "title": "#Endpoint.v1_8_2.Endpoint"
762*f2a8e57eSGunnar Mills}