1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/Cable.v1_2_3.json",
3    "$ref": "#/definitions/Cable",
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        "Cable": {
35            "additionalProperties": false,
36            "description": "The `Cable` schema contains properties that describe a cable connecting endpoints of a chassis, port, or any other cable-compatible endpoint.",
37            "longDescription": "This resource contains a simple cable for a Redfish implementation.",
38            "patternProperties": {
39                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
40                    "description": "This property shall specify a valid odata or Redfish property.",
41                    "type": [
42                        "array",
43                        "boolean",
44                        "integer",
45                        "number",
46                        "null",
47                        "object",
48                        "string"
49                    ]
50                }
51            },
52            "properties": {
53                "@odata.context": {
54                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
55                },
56                "@odata.etag": {
57                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
58                },
59                "@odata.id": {
60                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
61                },
62                "@odata.type": {
63                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
64                },
65                "Actions": {
66                    "$ref": "#/definitions/Actions",
67                    "description": "The available actions for this resource.",
68                    "longDescription": "This property shall contain the available actions for this resource."
69                },
70                "Assembly": {
71                    "$ref": "http://redfish.dmtf.org/schemas/v1/Assembly.json#/definitions/Assembly",
72                    "description": "The link to the assembly associated with this cable.",
73                    "longDescription": "This property shall contain a link to a resource of type `Assembly`.",
74                    "readonly": true
75                },
76                "AssetTag": {
77                    "description": "The user-assigned asset tag for this cable.",
78                    "longDescription": "This property shall track the cable for inventory purposes.",
79                    "readonly": false,
80                    "type": [
81                        "string",
82                        "null"
83                    ]
84                },
85                "CableClass": {
86                    "anyOf": [
87                        {
88                            "$ref": "#/definitions/CableClass"
89                        },
90                        {
91                            "type": "null"
92                        }
93                    ],
94                    "description": "The identifier for the downstream resource.",
95                    "longDescription": "The property shall contain the cable class for this cable.",
96                    "readonly": false
97                },
98                "CableStatus": {
99                    "$ref": "#/definitions/CableStatus",
100                    "description": "The user-reported status of this resource.",
101                    "longDescription": "This property shall contain the user-reported status of this resource.",
102                    "readonly": false
103                },
104                "CableType": {
105                    "description": "The type of this cable.",
106                    "longDescription": "This property shall contain a user-defined type for this cable.",
107                    "readonly": false,
108                    "type": [
109                        "string",
110                        "null"
111                    ]
112                },
113                "Description": {
114                    "anyOf": [
115                        {
116                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
117                        },
118                        {
119                            "type": "null"
120                        }
121                    ],
122                    "readonly": true
123                },
124                "DownstreamConnectorTypes": {
125                    "description": "The connector types this cable supports.",
126                    "items": {
127                        "$ref": "#/definitions/ConnectorType"
128                    },
129                    "longDescription": "The property shall contain an array of connector types this cable supports.",
130                    "readonly": false,
131                    "type": "array"
132                },
133                "DownstreamName": {
134                    "description": "The identifier for the downstream resource.",
135                    "longDescription": "This property shall contain any identifier for a downstream resource.",
136                    "readonly": false,
137                    "type": [
138                        "string",
139                        "null"
140                    ]
141                },
142                "Id": {
143                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
144                    "readonly": true
145                },
146                "LengthMeters": {
147                    "description": "The length of the cable in meters.",
148                    "longDescription": "This property shall contain the length of the cable in meters.",
149                    "readonly": false,
150                    "type": [
151                        "number",
152                        "null"
153                    ]
154                },
155                "Links": {
156                    "$ref": "#/definitions/Links",
157                    "description": "The links to other resources that are related to this resource.",
158                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."
159                },
160                "Location": {
161                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
162                    "description": "The location of the assembly.",
163                    "longDescription": "This property shall contain the location information of the associated assembly."
164                },
165                "Manufacturer": {
166                    "description": "The manufacturer of this cable.",
167                    "longDescription": "This property shall contain the name of the organization responsible for producing the cable.  This organization might be the entity from whom the cable is purchased, but this is not necessarily true.",
168                    "readonly": false,
169                    "type": [
170                        "string",
171                        "null"
172                    ]
173                },
174                "Model": {
175                    "description": "The model number of the cable.",
176                    "longDescription": "This property shall contain the name by which the manufacturer generally refers to the cable.",
177                    "readonly": false,
178                    "type": [
179                        "string",
180                        "null"
181                    ]
182                },
183                "Name": {
184                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
185                    "readonly": true
186                },
187                "Oem": {
188                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
189                    "description": "The OEM extension property.",
190                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
191                },
192                "PartNumber": {
193                    "description": "The part number for this cable.",
194                    "longDescription": "This property shall contain the part number assigned by the organization that is responsible for producing or manufacturing the cable.",
195                    "readonly": false,
196                    "type": [
197                        "string",
198                        "null"
199                    ]
200                },
201                "SKU": {
202                    "description": "The SKU for this cable.",
203                    "longDescription": "This property shall contain the stock-keeping unit (SKU) number for this cable.",
204                    "readonly": false,
205                    "type": [
206                        "string",
207                        "null"
208                    ]
209                },
210                "SerialNumber": {
211                    "description": "The serial number for this cable.",
212                    "longDescription": "This property shall contain the manufacturer-allocated number that identifies the cable.",
213                    "readonly": false,
214                    "type": [
215                        "string",
216                        "null"
217                    ]
218                },
219                "Status": {
220                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
221                    "description": "The status and health of the resource and its subordinate or dependent resources.",
222                    "longDescription": "This property shall contain any status or health properties of the resource."
223                },
224                "UpstreamConnectorTypes": {
225                    "description": "The connector types this cable supports.",
226                    "items": {
227                        "$ref": "#/definitions/ConnectorType"
228                    },
229                    "longDescription": "The property shall contain an array of connector types this cable supports.",
230                    "readonly": false,
231                    "type": "array"
232                },
233                "UpstreamName": {
234                    "description": "The identifier for the downstream resource.",
235                    "longDescription": "This property shall contain any identifier for an upstream resource.",
236                    "readonly": false,
237                    "type": [
238                        "string",
239                        "null"
240                    ]
241                },
242                "UserDescription": {
243                    "description": "The description of this cable.",
244                    "longDescription": "This property shall contain a user-defined description for this cable.",
245                    "readonly": false,
246                    "type": [
247                        "string",
248                        "null"
249                    ]
250                },
251                "UserLabel": {
252                    "description": "A user-assigned label.",
253                    "longDescription": "This property shall contain a user-assigned label used to identify this resource.  If a value has not been assigned by a user, the value of this property shall be an empty string.",
254                    "readonly": false,
255                    "type": "string",
256                    "versionAdded": "v1_1_0"
257                },
258                "Vendor": {
259                    "description": "The manufacturer of this cable.",
260                    "longDescription": "This property shall contain the name of the company that provides the final product that includes this cable.",
261                    "readonly": false,
262                    "type": [
263                        "string",
264                        "null"
265                    ]
266                }
267            },
268            "required": [
269                "@odata.id",
270                "@odata.type",
271                "Id",
272                "Name"
273            ],
274            "type": "object"
275        },
276        "CableClass": {
277            "enum": [
278                "Power",
279                "Network",
280                "Storage",
281                "Fan",
282                "PCIe",
283                "USB",
284                "Video",
285                "Fabric",
286                "Serial",
287                "General"
288            ],
289            "enumDescriptions": {
290                "Fabric": "This cable is used for connecting to a fabric.",
291                "Fan": "This cable is used for connecting to a fan system.",
292                "General": "This cable is used for providing general connectivity.",
293                "Network": "This cable is used for connecting to a networking system.",
294                "PCIe": "This cable is used for connecting to a PCIe endpoint.",
295                "Power": "This cable is used for connecting to a power system.",
296                "Serial": "This cable is used for connecting to a serial endpoint.",
297                "Storage": "This cable is used for connecting to a storage system.",
298                "USB": "This cable is used for connecting to a USB endpoint.",
299                "Video": "This cable is used for connecting to a video system."
300            },
301            "type": "string"
302        },
303        "CableStatus": {
304            "enum": [
305                "Normal",
306                "Degraded",
307                "Failed",
308                "Testing",
309                "Disabled",
310                "SetByService"
311            ],
312            "enumDescriptions": {
313                "Degraded": "The cable is degraded.",
314                "Disabled": "The cable is disabled.",
315                "Failed": "The cable has failed.",
316                "Normal": "The cable is operating normally.",
317                "SetByService": "The cable status is set by the service.",
318                "Testing": "The cable is under test."
319            },
320            "enumLongDescriptions": {
321                "Degraded": "This value shall indicate the cable is degraded.  The `State` property in `Status` shall contain the value `Enabled` and the `Health` property in `Status` shall contain the value `Warning`.",
322                "Disabled": "This value shall indicate the cable is disabled.  The `State` property in `Status` shall contain the value `Disabled`.",
323                "Failed": "This value shall indicate the cable has failed.  The `State` property in `Status` shall contain the value `Enabled` and the `Health` property in `Status` shall contain the value `Critical`.",
324                "Normal": "This value shall indicate the cable is operating normally.  The `State` property in `Status` shall contain the value `Enabled` and the `Health` property in `Status` shall contain the value `OK`.",
325                "SetByService": "This value shall indicate the status for the cable is not defined by the user.  If implemented, the service shall determine the value of the `State` and `Health` properties in `Status`.",
326                "Testing": "This value shall indicate the cable is under test.  The `State` property in `Status` shall contain the value `InTest`."
327            },
328            "type": "string"
329        },
330        "ConnectorType": {
331            "enum": [
332                "ACPower",
333                "DB9",
334                "DCPower",
335                "DisplayPort",
336                "HDMI",
337                "ICI",
338                "IPASS",
339                "PCIe",
340                "Proprietary",
341                "RJ45",
342                "SATA",
343                "SCSI",
344                "SlimSAS",
345                "SFP",
346                "SFPPlus",
347                "USBA",
348                "USBC",
349                "QSFP",
350                "CDFP",
351                "OSFP"
352            ],
353            "enumDescriptions": {
354                "ACPower": "This cable connects to an AC power connector.",
355                "CDFP": "This cable connects to a CDFP connector.",
356                "DB9": "This cable connects to a DB9 connector.",
357                "DCPower": "This cable connects to a DC power connector.",
358                "DisplayPort": "This cable connects to a DisplayPort power connector.",
359                "HDMI": "This cable connects to an HDMI connector.",
360                "ICI": "This cable connects to an ICI connector.",
361                "IPASS": "This cable connects to an IPASS connector.",
362                "OSFP": "This cable connects to an OSFP connector.",
363                "PCIe": "This cable connects to a PCIe connector.",
364                "Proprietary": "This cable connects to a proprietary connector.",
365                "QSFP": "This cable connects to a QSFP connector.",
366                "RJ45": "This cable connects to an RJ45 connector.",
367                "SATA": "This cable connects to a SATA connector.",
368                "SCSI": "This cable connects to a SCSI connector.",
369                "SFP": "This cable connects to an SFP connector.",
370                "SFPPlus": "This cable connects to an SFPPlus connector.",
371                "SlimSAS": "This cable connects to a SlimSAS connector.",
372                "USBA": "This cable connects to a USB-A connector.",
373                "USBC": "This cable connects to a USB-C connector."
374            },
375            "enumVersionAdded": {
376                "CDFP": "v1_2_0",
377                "OSFP": "v1_2_0"
378            },
379            "type": "string"
380        },
381        "Links": {
382            "additionalProperties": false,
383            "description": "The links to other resources that are related to this resource.",
384            "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.",
385            "patternProperties": {
386                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
387                    "description": "This property shall specify a valid odata or Redfish property.",
388                    "type": [
389                        "array",
390                        "boolean",
391                        "integer",
392                        "number",
393                        "null",
394                        "object",
395                        "string"
396                    ]
397                }
398            },
399            "properties": {
400                "DownstreamChassis": {
401                    "description": "An array of links to the downstream chassis connected to this cable.",
402                    "items": {
403                        "$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis"
404                    },
405                    "longDescription": "This property shall contain an array of links to resources of type `Chassis` that represent the physical downstream containers connected to this cable.",
406                    "readonly": false,
407                    "type": "array"
408                },
409                "DownstreamChassis@odata.count": {
410                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
411                },
412                "DownstreamPorts": {
413                    "description": "An array of links to the downstream ports connected to this cable.",
414                    "items": {
415                        "$ref": "http://redfish.dmtf.org/schemas/v1/Port.json#/definitions/Port"
416                    },
417                    "longDescription": "This property shall contain an array of links to resources of type `Port` that represent the physical downstream connections connected to this cable.",
418                    "readonly": false,
419                    "type": "array"
420                },
421                "DownstreamPorts@odata.count": {
422                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
423                },
424                "DownstreamResources": {
425                    "description": "An array of links to the downstream resources connected to this cable.",
426                    "items": {
427                        "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Resource"
428                    },
429                    "longDescription": "This property shall contain an array of links to resources that represent the physical downstream connections connected to this cable.  Even if the resource is already referenced in another property within `Links`, such as `DownstreamPorts` or `DownstreamChassis`, it shall also be referenced in this property.",
430                    "readonly": false,
431                    "type": "array"
432                },
433                "DownstreamResources@odata.count": {
434                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
435                },
436                "Oem": {
437                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
438                    "description": "The OEM extension property.",
439                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
440                },
441                "UpstreamChassis": {
442                    "description": "An array of links to the upstream chassis connected to this cable.",
443                    "items": {
444                        "$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis"
445                    },
446                    "longDescription": "This property shall contain an array of links to resources of type `Chassis` that represent the physical upstream containers connected to this cable.",
447                    "readonly": false,
448                    "type": "array"
449                },
450                "UpstreamChassis@odata.count": {
451                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
452                },
453                "UpstreamPorts": {
454                    "description": "An array of links to the upstream ports connected to this cable.",
455                    "items": {
456                        "$ref": "http://redfish.dmtf.org/schemas/v1/Port.json#/definitions/Port"
457                    },
458                    "longDescription": "This property shall contain an array of links to resources of type `Port` that represent the physical upstream connections connected to this cable.",
459                    "readonly": false,
460                    "type": "array"
461                },
462                "UpstreamPorts@odata.count": {
463                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
464                },
465                "UpstreamResources": {
466                    "description": "An array of links to the upstream resources connected to this cable.",
467                    "items": {
468                        "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Resource"
469                    },
470                    "longDescription": "This property shall contain an array of links to resources that represent the physical upstream connections connected to this cable.  Even if the resource is already referenced in another property within `Links`, such as `UpstreamPorts` or `UpstreamChassis`, it shall also be referenced in this property.",
471                    "readonly": false,
472                    "type": "array"
473                },
474                "UpstreamResources@odata.count": {
475                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
476                }
477            },
478            "type": "object"
479        },
480        "OemActions": {
481            "additionalProperties": true,
482            "description": "The available OEM-specific actions for this resource.",
483            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
484            "patternProperties": {
485                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
486                    "description": "This property shall specify a valid odata or Redfish property.",
487                    "type": [
488                        "array",
489                        "boolean",
490                        "integer",
491                        "number",
492                        "null",
493                        "object",
494                        "string"
495                    ]
496                }
497            },
498            "properties": {},
499            "type": "object"
500        }
501    },
502    "language": "en",
503    "owningEntity": "DMTF",
504    "release": "2021.4",
505    "title": "#Cable.v1_2_3.Cable"
506}