xref: /openbmc/bmcweb/features/redfish/schema/dmtf/json-schema/Fabric.v1_4_0.json (revision c6d7a45d427f9a6d9e761afcf305761dca60d7cf)
1*c6d7a45dSGunnar Mills{
2*c6d7a45dSGunnar Mills    "$id": "http://redfish.dmtf.org/schemas/v1/Fabric.v1_4_0.json",
3*c6d7a45dSGunnar Mills    "$ref": "#/definitions/Fabric",
4*c6d7a45dSGunnar Mills    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5*c6d7a45dSGunnar Mills    "copyright": "Copyright 2014-2025 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6*c6d7a45dSGunnar Mills    "definitions": {
7*c6d7a45dSGunnar Mills        "Actions": {
8*c6d7a45dSGunnar Mills            "additionalProperties": false,
9*c6d7a45dSGunnar Mills            "description": "The available actions for this resource.",
10*c6d7a45dSGunnar Mills            "longDescription": "This type shall contain the available actions for this resource.",
11*c6d7a45dSGunnar Mills            "patternProperties": {
12*c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13*c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
14*c6d7a45dSGunnar Mills                    "type": [
15*c6d7a45dSGunnar Mills                        "array",
16*c6d7a45dSGunnar Mills                        "boolean",
17*c6d7a45dSGunnar Mills                        "integer",
18*c6d7a45dSGunnar Mills                        "number",
19*c6d7a45dSGunnar Mills                        "null",
20*c6d7a45dSGunnar Mills                        "object",
21*c6d7a45dSGunnar Mills                        "string"
22*c6d7a45dSGunnar Mills                    ]
23*c6d7a45dSGunnar Mills                }
24*c6d7a45dSGunnar Mills            },
25*c6d7a45dSGunnar Mills            "properties": {
26*c6d7a45dSGunnar Mills                "Oem": {
27*c6d7a45dSGunnar Mills                    "$ref": "#/definitions/OemActions",
28*c6d7a45dSGunnar Mills                    "description": "The available OEM-specific actions for this resource.",
29*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
30*c6d7a45dSGunnar Mills                }
31*c6d7a45dSGunnar Mills            },
32*c6d7a45dSGunnar Mills            "type": "object"
33*c6d7a45dSGunnar Mills        },
34*c6d7a45dSGunnar Mills        "Fabric": {
35*c6d7a45dSGunnar Mills            "additionalProperties": false,
36*c6d7a45dSGunnar Mills            "description": "The `Fabric` schema represents a simple fabric consisting of one or more switches, zero or more endpoints, and zero or more zones.",
37*c6d7a45dSGunnar Mills            "longDescription": "This resource shall represent a simple switchable fabric for a Redfish implementation.",
38*c6d7a45dSGunnar Mills            "patternProperties": {
39*c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
40*c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
41*c6d7a45dSGunnar Mills                    "type": [
42*c6d7a45dSGunnar Mills                        "array",
43*c6d7a45dSGunnar Mills                        "boolean",
44*c6d7a45dSGunnar Mills                        "integer",
45*c6d7a45dSGunnar Mills                        "number",
46*c6d7a45dSGunnar Mills                        "null",
47*c6d7a45dSGunnar Mills                        "object",
48*c6d7a45dSGunnar Mills                        "string"
49*c6d7a45dSGunnar Mills                    ]
50*c6d7a45dSGunnar Mills                }
51*c6d7a45dSGunnar Mills            },
52*c6d7a45dSGunnar Mills            "properties": {
53*c6d7a45dSGunnar Mills                "@odata.context": {
54*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
55*c6d7a45dSGunnar Mills                },
56*c6d7a45dSGunnar Mills                "@odata.etag": {
57*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
58*c6d7a45dSGunnar Mills                },
59*c6d7a45dSGunnar Mills                "@odata.id": {
60*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
61*c6d7a45dSGunnar Mills                },
62*c6d7a45dSGunnar Mills                "@odata.type": {
63*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
64*c6d7a45dSGunnar Mills                },
65*c6d7a45dSGunnar Mills                "Actions": {
66*c6d7a45dSGunnar Mills                    "$ref": "#/definitions/Actions",
67*c6d7a45dSGunnar Mills                    "description": "The available actions for this resource.",
68*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the available actions for this resource."
69*c6d7a45dSGunnar Mills                },
70*c6d7a45dSGunnar Mills                "AddressPools": {
71*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/AddressPoolCollection.json#/definitions/AddressPoolCollection",
72*c6d7a45dSGunnar Mills                    "description": "The collection of links to the address pools that this fabric contains.",
73*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `AddressPoolCollection`.",
74*c6d7a45dSGunnar Mills                    "readonly": true,
75*c6d7a45dSGunnar Mills                    "versionAdded": "v1_1_0"
76*c6d7a45dSGunnar Mills                },
77*c6d7a45dSGunnar Mills                "Connections": {
78*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/ConnectionCollection.json#/definitions/ConnectionCollection",
79*c6d7a45dSGunnar Mills                    "description": "The collection of links to the connections that this fabric contains.",
80*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `ConnectionCollection`.",
81*c6d7a45dSGunnar Mills                    "readonly": true,
82*c6d7a45dSGunnar Mills                    "versionAdded": "v1_2_0"
83*c6d7a45dSGunnar Mills                },
84*c6d7a45dSGunnar Mills                "Description": {
85*c6d7a45dSGunnar Mills                    "anyOf": [
86*c6d7a45dSGunnar Mills                        {
87*c6d7a45dSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
88*c6d7a45dSGunnar Mills                        },
89*c6d7a45dSGunnar Mills                        {
90*c6d7a45dSGunnar Mills                            "type": "null"
91*c6d7a45dSGunnar Mills                        }
92*c6d7a45dSGunnar Mills                    ],
93*c6d7a45dSGunnar Mills                    "readonly": true
94*c6d7a45dSGunnar Mills                },
95*c6d7a45dSGunnar Mills                "EndpointGroups": {
96*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/EndpointGroupCollection.json#/definitions/EndpointGroupCollection",
97*c6d7a45dSGunnar Mills                    "description": "The collection of links to the endpoint groups that this fabric contains.",
98*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `EndpointGroupCollection`.",
99*c6d7a45dSGunnar Mills                    "readonly": true,
100*c6d7a45dSGunnar Mills                    "versionAdded": "v1_2_0"
101*c6d7a45dSGunnar Mills                },
102*c6d7a45dSGunnar Mills                "Endpoints": {
103*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/EndpointCollection.json#/definitions/EndpointCollection",
104*c6d7a45dSGunnar Mills                    "description": "The collection of links to the endpoints that this fabric contains.",
105*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `EndpointCollection`.",
106*c6d7a45dSGunnar Mills                    "readonly": true
107*c6d7a45dSGunnar Mills                },
108*c6d7a45dSGunnar Mills                "FabricType": {
109*c6d7a45dSGunnar Mills                    "anyOf": [
110*c6d7a45dSGunnar Mills                        {
111*c6d7a45dSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Protocol.json#/definitions/Protocol"
112*c6d7a45dSGunnar Mills                        },
113*c6d7a45dSGunnar Mills                        {
114*c6d7a45dSGunnar Mills                            "type": "null"
115*c6d7a45dSGunnar Mills                        }
116*c6d7a45dSGunnar Mills                    ],
117*c6d7a45dSGunnar Mills                    "description": "The protocol being sent over this fabric.",
118*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the type of fabric being represented by this simple fabric.",
119*c6d7a45dSGunnar Mills                    "readonly": true
120*c6d7a45dSGunnar Mills                },
121*c6d7a45dSGunnar Mills                "Id": {
122*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
123*c6d7a45dSGunnar Mills                    "readonly": true
124*c6d7a45dSGunnar Mills                },
125*c6d7a45dSGunnar Mills                "Links": {
126*c6d7a45dSGunnar Mills                    "$ref": "#/definitions/Links",
127*c6d7a45dSGunnar Mills                    "description": "The links to other resources that are related to this resource.",
128*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."
129*c6d7a45dSGunnar Mills                },
130*c6d7a45dSGunnar Mills                "MaxZones": {
131*c6d7a45dSGunnar Mills                    "description": "The maximum number of zones the switch can currently configure.",
132*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the maximum number of zones the switch can currently configure.  Changes in the logical or physical configuration of the system can change this value.",
133*c6d7a45dSGunnar Mills                    "readonly": true,
134*c6d7a45dSGunnar Mills                    "type": [
135*c6d7a45dSGunnar Mills                        "integer",
136*c6d7a45dSGunnar Mills                        "null"
137*c6d7a45dSGunnar Mills                    ]
138*c6d7a45dSGunnar Mills                },
139*c6d7a45dSGunnar Mills                "Name": {
140*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
141*c6d7a45dSGunnar Mills                    "readonly": true
142*c6d7a45dSGunnar Mills                },
143*c6d7a45dSGunnar Mills                "Oem": {
144*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
145*c6d7a45dSGunnar Mills                    "description": "The OEM extension property.",
146*c6d7a45dSGunnar 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."
147*c6d7a45dSGunnar Mills                },
148*c6d7a45dSGunnar Mills                "Status": {
149*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
150*c6d7a45dSGunnar Mills                    "description": "The status and health of the resource and its subordinate or dependent resources.",
151*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain any status or health properties of the resource."
152*c6d7a45dSGunnar Mills                },
153*c6d7a45dSGunnar Mills                "Switches": {
154*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/SwitchCollection.json#/definitions/SwitchCollection",
155*c6d7a45dSGunnar Mills                    "description": "The collection of links to the switches that this fabric contains.",
156*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `SwitchCollection`.",
157*c6d7a45dSGunnar Mills                    "readonly": true
158*c6d7a45dSGunnar Mills                },
159*c6d7a45dSGunnar Mills                "UUID": {
160*c6d7a45dSGunnar Mills                    "anyOf": [
161*c6d7a45dSGunnar Mills                        {
162*c6d7a45dSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/UUID"
163*c6d7a45dSGunnar Mills                        },
164*c6d7a45dSGunnar Mills                        {
165*c6d7a45dSGunnar Mills                            "type": "null"
166*c6d7a45dSGunnar Mills                        }
167*c6d7a45dSGunnar Mills                    ],
168*c6d7a45dSGunnar Mills                    "description": "The UUID for this fabric.",
169*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a universally unique identifier number for the fabric.",
170*c6d7a45dSGunnar Mills                    "readonly": false,
171*c6d7a45dSGunnar Mills                    "versionAdded": "v1_3_0"
172*c6d7a45dSGunnar Mills                },
173*c6d7a45dSGunnar Mills                "Zones": {
174*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/ZoneCollection.json#/definitions/ZoneCollection",
175*c6d7a45dSGunnar Mills                    "description": "The collection of links to the zones that this fabric contains.",
176*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `ZoneCollection`.",
177*c6d7a45dSGunnar Mills                    "readonly": true
178*c6d7a45dSGunnar Mills                }
179*c6d7a45dSGunnar Mills            },
180*c6d7a45dSGunnar Mills            "required": [
181*c6d7a45dSGunnar Mills                "@odata.id",
182*c6d7a45dSGunnar Mills                "@odata.type",
183*c6d7a45dSGunnar Mills                "Id",
184*c6d7a45dSGunnar Mills                "Name"
185*c6d7a45dSGunnar Mills            ],
186*c6d7a45dSGunnar Mills            "type": "object"
187*c6d7a45dSGunnar Mills        },
188*c6d7a45dSGunnar Mills        "Links": {
189*c6d7a45dSGunnar Mills            "additionalProperties": false,
190*c6d7a45dSGunnar Mills            "description": "The links to other resources that are related to this resource.",
191*c6d7a45dSGunnar 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.",
192*c6d7a45dSGunnar Mills            "patternProperties": {
193*c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
194*c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
195*c6d7a45dSGunnar Mills                    "type": [
196*c6d7a45dSGunnar Mills                        "array",
197*c6d7a45dSGunnar Mills                        "boolean",
198*c6d7a45dSGunnar Mills                        "integer",
199*c6d7a45dSGunnar Mills                        "number",
200*c6d7a45dSGunnar Mills                        "null",
201*c6d7a45dSGunnar Mills                        "object",
202*c6d7a45dSGunnar Mills                        "string"
203*c6d7a45dSGunnar Mills                    ]
204*c6d7a45dSGunnar Mills                }
205*c6d7a45dSGunnar Mills            },
206*c6d7a45dSGunnar Mills            "properties": {
207*c6d7a45dSGunnar Mills                "ManagedBy": {
208*c6d7a45dSGunnar Mills                    "description": "An array of links to the managers responsible for managing this fabric.",
209*c6d7a45dSGunnar Mills                    "items": {
210*c6d7a45dSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Manager.json#/definitions/Manager"
211*c6d7a45dSGunnar Mills                    },
212*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Manager` that represent the managers responsible for managing this fabric.",
213*c6d7a45dSGunnar Mills                    "readonly": true,
214*c6d7a45dSGunnar Mills                    "type": "array",
215*c6d7a45dSGunnar Mills                    "versionAdded": "v1_4_0"
216*c6d7a45dSGunnar Mills                },
217*c6d7a45dSGunnar Mills                "ManagedBy@odata.count": {
218*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
219*c6d7a45dSGunnar Mills                },
220*c6d7a45dSGunnar Mills                "Oem": {
221*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
222*c6d7a45dSGunnar Mills                    "description": "The OEM extension property.",
223*c6d7a45dSGunnar 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."
224*c6d7a45dSGunnar Mills                }
225*c6d7a45dSGunnar Mills            },
226*c6d7a45dSGunnar Mills            "type": "object"
227*c6d7a45dSGunnar Mills        },
228*c6d7a45dSGunnar Mills        "OemActions": {
229*c6d7a45dSGunnar Mills            "additionalProperties": true,
230*c6d7a45dSGunnar Mills            "description": "The available OEM-specific actions for this resource.",
231*c6d7a45dSGunnar Mills            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
232*c6d7a45dSGunnar Mills            "patternProperties": {
233*c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
234*c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
235*c6d7a45dSGunnar Mills                    "type": [
236*c6d7a45dSGunnar Mills                        "array",
237*c6d7a45dSGunnar Mills                        "boolean",
238*c6d7a45dSGunnar Mills                        "integer",
239*c6d7a45dSGunnar Mills                        "number",
240*c6d7a45dSGunnar Mills                        "null",
241*c6d7a45dSGunnar Mills                        "object",
242*c6d7a45dSGunnar Mills                        "string"
243*c6d7a45dSGunnar Mills                    ]
244*c6d7a45dSGunnar Mills                }
245*c6d7a45dSGunnar Mills            },
246*c6d7a45dSGunnar Mills            "properties": {},
247*c6d7a45dSGunnar Mills            "type": "object"
248*c6d7a45dSGunnar Mills        }
249*c6d7a45dSGunnar Mills    },
250*c6d7a45dSGunnar Mills    "language": "en",
251*c6d7a45dSGunnar Mills    "owningEntity": "DMTF",
252*c6d7a45dSGunnar Mills    "release": "2025.2",
253*c6d7a45dSGunnar Mills    "title": "#Fabric.v1_4_0.Fabric"
254*c6d7a45dSGunnar Mills}