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