1*f2a8e57eSGunnar Mills{
2*f2a8e57eSGunnar Mills    "$id": "http://redfish.dmtf.org/schemas/v1/Fabric.v1_3_2.json",
3*f2a8e57eSGunnar Mills    "$ref": "#/definitions/Fabric",
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        "Fabric": {
35*f2a8e57eSGunnar Mills            "additionalProperties": false,
36*f2a8e57eSGunnar 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*f2a8e57eSGunnar Mills            "longDescription": "This resource shall represent a simple switchable fabric for a Redfish implementation.",
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                "@odata.context": {
54*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
55*f2a8e57eSGunnar Mills                },
56*f2a8e57eSGunnar Mills                "@odata.etag": {
57*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
58*f2a8e57eSGunnar Mills                },
59*f2a8e57eSGunnar Mills                "@odata.id": {
60*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
61*f2a8e57eSGunnar Mills                },
62*f2a8e57eSGunnar Mills                "@odata.type": {
63*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
64*f2a8e57eSGunnar Mills                },
65*f2a8e57eSGunnar Mills                "Actions": {
66*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/Actions",
67*f2a8e57eSGunnar Mills                    "description": "The available actions for this resource.",
68*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the available actions for this resource."
69*f2a8e57eSGunnar Mills                },
70*f2a8e57eSGunnar Mills                "AddressPools": {
71*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/AddressPoolCollection.json#/definitions/AddressPoolCollection",
72*f2a8e57eSGunnar Mills                    "description": "The collection of links to the address pools that this fabric contains.",
73*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `AddressPoolCollection`.",
74*f2a8e57eSGunnar Mills                    "readonly": true,
75*f2a8e57eSGunnar Mills                    "versionAdded": "v1_1_0"
76*f2a8e57eSGunnar Mills                },
77*f2a8e57eSGunnar Mills                "Connections": {
78*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/ConnectionCollection.json#/definitions/ConnectionCollection",
79*f2a8e57eSGunnar Mills                    "description": "The collection of links to the connections that this fabric contains.",
80*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `ConnectionCollection`.",
81*f2a8e57eSGunnar Mills                    "readonly": true,
82*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
83*f2a8e57eSGunnar Mills                },
84*f2a8e57eSGunnar Mills                "Description": {
85*f2a8e57eSGunnar Mills                    "anyOf": [
86*f2a8e57eSGunnar Mills                        {
87*f2a8e57eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
88*f2a8e57eSGunnar Mills                        },
89*f2a8e57eSGunnar Mills                        {
90*f2a8e57eSGunnar Mills                            "type": "null"
91*f2a8e57eSGunnar Mills                        }
92*f2a8e57eSGunnar Mills                    ],
93*f2a8e57eSGunnar Mills                    "readonly": true
94*f2a8e57eSGunnar Mills                },
95*f2a8e57eSGunnar Mills                "EndpointGroups": {
96*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/EndpointGroupCollection.json#/definitions/EndpointGroupCollection",
97*f2a8e57eSGunnar Mills                    "description": "The collection of links to the endpoint groups that this fabric contains.",
98*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `EndpointGroupCollection`.",
99*f2a8e57eSGunnar Mills                    "readonly": true,
100*f2a8e57eSGunnar Mills                    "versionAdded": "v1_2_0"
101*f2a8e57eSGunnar Mills                },
102*f2a8e57eSGunnar Mills                "Endpoints": {
103*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/EndpointCollection.json#/definitions/EndpointCollection",
104*f2a8e57eSGunnar Mills                    "description": "The collection of links to the endpoints that this fabric contains.",
105*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `EndpointCollection`.",
106*f2a8e57eSGunnar Mills                    "readonly": true
107*f2a8e57eSGunnar Mills                },
108*f2a8e57eSGunnar Mills                "FabricType": {
109*f2a8e57eSGunnar Mills                    "anyOf": [
110*f2a8e57eSGunnar Mills                        {
111*f2a8e57eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Protocol.json#/definitions/Protocol"
112*f2a8e57eSGunnar Mills                        },
113*f2a8e57eSGunnar Mills                        {
114*f2a8e57eSGunnar Mills                            "type": "null"
115*f2a8e57eSGunnar Mills                        }
116*f2a8e57eSGunnar Mills                    ],
117*f2a8e57eSGunnar Mills                    "description": "The protocol being sent over this fabric.",
118*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain the type of fabric being represented by this simple fabric.",
119*f2a8e57eSGunnar Mills                    "readonly": true
120*f2a8e57eSGunnar Mills                },
121*f2a8e57eSGunnar Mills                "Id": {
122*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
123*f2a8e57eSGunnar Mills                    "readonly": true
124*f2a8e57eSGunnar Mills                },
125*f2a8e57eSGunnar Mills                "Links": {
126*f2a8e57eSGunnar Mills                    "$ref": "#/definitions/Links",
127*f2a8e57eSGunnar Mills                    "description": "The links to other resources that are related to this resource.",
128*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."
129*f2a8e57eSGunnar Mills                },
130*f2a8e57eSGunnar Mills                "MaxZones": {
131*f2a8e57eSGunnar Mills                    "description": "The maximum number of zones the switch can currently configure.",
132*f2a8e57eSGunnar 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*f2a8e57eSGunnar Mills                    "readonly": true,
134*f2a8e57eSGunnar Mills                    "type": [
135*f2a8e57eSGunnar Mills                        "integer",
136*f2a8e57eSGunnar Mills                        "null"
137*f2a8e57eSGunnar Mills                    ]
138*f2a8e57eSGunnar Mills                },
139*f2a8e57eSGunnar Mills                "Name": {
140*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
141*f2a8e57eSGunnar Mills                    "readonly": true
142*f2a8e57eSGunnar Mills                },
143*f2a8e57eSGunnar Mills                "Oem": {
144*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
145*f2a8e57eSGunnar Mills                    "description": "The OEM extension property.",
146*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."
147*f2a8e57eSGunnar Mills                },
148*f2a8e57eSGunnar Mills                "Status": {
149*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
150*f2a8e57eSGunnar Mills                    "description": "The status and health of the resource and its subordinate or dependent resources.",
151*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain any status or health properties of the resource."
152*f2a8e57eSGunnar Mills                },
153*f2a8e57eSGunnar Mills                "Switches": {
154*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/SwitchCollection.json#/definitions/SwitchCollection",
155*f2a8e57eSGunnar Mills                    "description": "The collection of links to the switches that this fabric contains.",
156*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `SwitchCollection`.",
157*f2a8e57eSGunnar Mills                    "readonly": true
158*f2a8e57eSGunnar Mills                },
159*f2a8e57eSGunnar Mills                "UUID": {
160*f2a8e57eSGunnar Mills                    "anyOf": [
161*f2a8e57eSGunnar Mills                        {
162*f2a8e57eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/UUID"
163*f2a8e57eSGunnar Mills                        },
164*f2a8e57eSGunnar Mills                        {
165*f2a8e57eSGunnar Mills                            "type": "null"
166*f2a8e57eSGunnar Mills                        }
167*f2a8e57eSGunnar Mills                    ],
168*f2a8e57eSGunnar Mills                    "description": "The UUID for this fabric.",
169*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain a universally unique identifier number for the fabric.",
170*f2a8e57eSGunnar Mills                    "readonly": false,
171*f2a8e57eSGunnar Mills                    "versionAdded": "v1_3_0"
172*f2a8e57eSGunnar Mills                },
173*f2a8e57eSGunnar Mills                "Zones": {
174*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/ZoneCollection.json#/definitions/ZoneCollection",
175*f2a8e57eSGunnar Mills                    "description": "The collection of links to the zones that this fabric contains.",
176*f2a8e57eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `ZoneCollection`.",
177*f2a8e57eSGunnar Mills                    "readonly": true
178*f2a8e57eSGunnar Mills                }
179*f2a8e57eSGunnar Mills            },
180*f2a8e57eSGunnar Mills            "required": [
181*f2a8e57eSGunnar Mills                "@odata.id",
182*f2a8e57eSGunnar Mills                "@odata.type",
183*f2a8e57eSGunnar Mills                "Id",
184*f2a8e57eSGunnar Mills                "Name"
185*f2a8e57eSGunnar Mills            ],
186*f2a8e57eSGunnar Mills            "type": "object"
187*f2a8e57eSGunnar Mills        },
188*f2a8e57eSGunnar Mills        "Links": {
189*f2a8e57eSGunnar Mills            "additionalProperties": false,
190*f2a8e57eSGunnar Mills            "description": "The links to other resources that are related to this resource.",
191*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.",
192*f2a8e57eSGunnar Mills            "patternProperties": {
193*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
194*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
195*f2a8e57eSGunnar Mills                    "type": [
196*f2a8e57eSGunnar Mills                        "array",
197*f2a8e57eSGunnar Mills                        "boolean",
198*f2a8e57eSGunnar Mills                        "integer",
199*f2a8e57eSGunnar Mills                        "number",
200*f2a8e57eSGunnar Mills                        "null",
201*f2a8e57eSGunnar Mills                        "object",
202*f2a8e57eSGunnar Mills                        "string"
203*f2a8e57eSGunnar Mills                    ]
204*f2a8e57eSGunnar Mills                }
205*f2a8e57eSGunnar Mills            },
206*f2a8e57eSGunnar Mills            "properties": {
207*f2a8e57eSGunnar Mills                "Oem": {
208*f2a8e57eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
209*f2a8e57eSGunnar Mills                    "description": "The OEM extension property.",
210*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."
211*f2a8e57eSGunnar Mills                }
212*f2a8e57eSGunnar Mills            },
213*f2a8e57eSGunnar Mills            "type": "object"
214*f2a8e57eSGunnar Mills        },
215*f2a8e57eSGunnar Mills        "OemActions": {
216*f2a8e57eSGunnar Mills            "additionalProperties": true,
217*f2a8e57eSGunnar Mills            "description": "The available OEM-specific actions for this resource.",
218*f2a8e57eSGunnar Mills            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
219*f2a8e57eSGunnar Mills            "patternProperties": {
220*f2a8e57eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
221*f2a8e57eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
222*f2a8e57eSGunnar Mills                    "type": [
223*f2a8e57eSGunnar Mills                        "array",
224*f2a8e57eSGunnar Mills                        "boolean",
225*f2a8e57eSGunnar Mills                        "integer",
226*f2a8e57eSGunnar Mills                        "number",
227*f2a8e57eSGunnar Mills                        "null",
228*f2a8e57eSGunnar Mills                        "object",
229*f2a8e57eSGunnar Mills                        "string"
230*f2a8e57eSGunnar Mills                    ]
231*f2a8e57eSGunnar Mills                }
232*f2a8e57eSGunnar Mills            },
233*f2a8e57eSGunnar Mills            "properties": {},
234*f2a8e57eSGunnar Mills            "type": "object"
235*f2a8e57eSGunnar Mills        }
236*f2a8e57eSGunnar Mills    },
237*f2a8e57eSGunnar Mills    "language": "en",
238*f2a8e57eSGunnar Mills    "owningEntity": "DMTF",
239*f2a8e57eSGunnar Mills    "release": "2022.1",
240*f2a8e57eSGunnar Mills    "title": "#Fabric.v1_3_2.Fabric"
241*f2a8e57eSGunnar Mills}