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