1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/Zone.v1_6_3.json",
3    "$ref": "#/definitions/Zone",
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                "#Zone.AddEndpoint": {
27                    "$ref": "#/definitions/AddEndpoint"
28                },
29                "#Zone.RemoveEndpoint": {
30                    "$ref": "#/definitions/RemoveEndpoint"
31                },
32                "Oem": {
33                    "$ref": "#/definitions/OemActions",
34                    "description": "The available OEM-specific actions for this resource.",
35                    "longDescription": "This property shall contain the available OEM-specific actions for this resource.",
36                    "versionAdded": "v1_1_0"
37                }
38            },
39            "type": "object"
40        },
41        "AddEndpoint": {
42            "additionalProperties": false,
43            "description": "This action adds an endpoint to a zone.",
44            "longDescription": "This action shall add an endpoint to a zone.",
45            "parameters": {
46                "Endpoint": {
47                    "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint",
48                    "description": "The endpoint to add to the zone.",
49                    "longDescription": "This parameter shall contain a link to the specified endpoint to add to the zone.",
50                    "requiredParameter": true
51                },
52                "EndpointETag": {
53                    "description": "The current ETag of the endpoint to add to the zone.",
54                    "longDescription": "This parameter shall contain the current ETag of the endpoint to add to the zone.  If the client-provided ETag does not match the current ETag of the endpoint that the `Endpoint` parameter specifies, the service shall return the HTTP `428 Precondition Required` status code to reject the request.",
55                    "type": "string"
56                },
57                "ZoneETag": {
58                    "description": "The current ETag of the zone.",
59                    "longDescription": "This parameter shall contain the current ETag of the zone.  If the client-provided ETag does not match the current ETag of the zone, the service shall return the HTTP `428 Precondition Required` status code to reject the request.",
60                    "type": "string"
61                }
62            },
63            "patternProperties": {
64                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
65                    "description": "This property shall specify a valid odata or Redfish property.",
66                    "type": [
67                        "array",
68                        "boolean",
69                        "integer",
70                        "number",
71                        "null",
72                        "object",
73                        "string"
74                    ]
75                }
76            },
77            "properties": {
78                "target": {
79                    "description": "Link to invoke action",
80                    "format": "uri-reference",
81                    "type": "string"
82                },
83                "title": {
84                    "description": "Friendly action name",
85                    "type": "string"
86                }
87            },
88            "type": "object",
89            "versionAdded": "v1_5_0"
90        },
91        "ExternalAccessibility": {
92            "enum": [
93                "GloballyAccessible",
94                "NonZonedAccessible",
95                "ZoneOnly",
96                "NoInternalRouting"
97            ],
98            "enumDescriptions": {
99                "GloballyAccessible": "Any external entity with the correct access details, which might include authorization information, can access the endpoints that this zone lists.",
100                "NoInternalRouting": "Routing is not enabled within this zone.",
101                "NonZonedAccessible": "Any external entity that another zone does not explicitly list can access the endpoints that this zone lists.",
102                "ZoneOnly": "Only accessible by endpoints that this zone explicitly lists."
103            },
104            "enumLongDescriptions": {
105                "GloballyAccessible": "This value shall indicate that any external entity with the correct access details, which may include authorization information, can access the endpoints that this zone lists, regardless of zone.",
106                "NoInternalRouting": "This value shall indicate that implicit routing within this zone is not defined.",
107                "NonZonedAccessible": "This value shall indicate that any external entity that another zone does not explicitly list can access the endpoints that this zone lists.",
108                "ZoneOnly": "This value shall indicate that endpoints in this zone are only accessible by endpoints that this zone explicitly lists."
109            },
110            "type": "string"
111        },
112        "Links": {
113            "additionalProperties": false,
114            "description": "The links to other resources that are related to this resource.",
115            "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.",
116            "patternProperties": {
117                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
118                    "description": "This property shall specify a valid odata or Redfish property.",
119                    "type": [
120                        "array",
121                        "boolean",
122                        "integer",
123                        "number",
124                        "null",
125                        "object",
126                        "string"
127                    ]
128                }
129            },
130            "properties": {
131                "AddressPools": {
132                    "description": "An array of links to the address pools associated with this zone.",
133                    "items": {
134                        "$ref": "http://redfish.dmtf.org/schemas/v1/AddressPool.json#/definitions/AddressPool"
135                    },
136                    "longDescription": "This property shall contain an array of links to resources of type `AddressPool` with which this zone is associated.",
137                    "readonly": true,
138                    "type": "array",
139                    "versionAdded": "v1_4_0"
140                },
141                "AddressPools@odata.count": {
142                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
143                },
144                "ContainedByZones": {
145                    "description": "An array of links to the zone that contain this zone.",
146                    "items": {
147                        "$ref": "http://redfish.dmtf.org/schemas/v1/Zone.json#/definitions/Zone"
148                    },
149                    "longDescription": "This property shall contain an array of links to resources of type `Zone` that represent the zones that contain this zone.  The zones referenced by this property shall not be contained by other zones.",
150                    "readonly": true,
151                    "type": "array",
152                    "versionAdded": "v1_4_0"
153                },
154                "ContainedByZones@odata.count": {
155                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
156                },
157                "ContainsZones": {
158                    "description": "An array of links to the zones that are contained by this zone.",
159                    "items": {
160                        "$ref": "http://redfish.dmtf.org/schemas/v1/Zone.json#/definitions/Zone"
161                    },
162                    "longDescription": "This property shall contain an array of links to resources of type `Zone` that represent the zones that are contained by this zone.  The zones referenced by this property shall not contain other zones.",
163                    "readonly": false,
164                    "type": "array",
165                    "versionAdded": "v1_4_0"
166                },
167                "ContainsZones@odata.count": {
168                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
169                },
170                "Endpoints": {
171                    "description": "The links to the endpoints that this zone contains.",
172                    "items": {
173                        "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint"
174                    },
175                    "longDescription": "This property shall contain an array of links to resources of type `Endpoint` that this zone contains.",
176                    "readonly": true,
177                    "type": "array"
178                },
179                "Endpoints@odata.count": {
180                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
181                },
182                "InvolvedSwitches": {
183                    "description": "The links to the collection of switches in this zone.",
184                    "items": {
185                        "$ref": "http://redfish.dmtf.org/schemas/v1/Switch.json#/definitions/Switch"
186                    },
187                    "longDescription": "This property shall contain an array of links to resources of type `Switch` in this zone.",
188                    "readonly": true,
189                    "type": "array"
190                },
191                "InvolvedSwitches@odata.count": {
192                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
193                },
194                "Oem": {
195                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
196                    "description": "The OEM extension property.",
197                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
198                },
199                "ResourceBlocks": {
200                    "description": "The links to the resource blocks with which this zone is associated.",
201                    "items": {
202                        "$ref": "http://redfish.dmtf.org/schemas/v1/ResourceBlock.json#/definitions/ResourceBlock"
203                    },
204                    "longDescription": "This property shall contain an array of links to resources of type `ResourceBlock` with which this zone is associated.",
205                    "readonly": true,
206                    "type": "array",
207                    "versionAdded": "v1_1_0"
208                },
209                "ResourceBlocks@odata.count": {
210                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
211                }
212            },
213            "type": "object"
214        },
215        "OemActions": {
216            "additionalProperties": true,
217            "description": "The available OEM-specific actions for this resource.",
218            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
219            "patternProperties": {
220                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
221                    "description": "This property shall specify a valid odata or Redfish property.",
222                    "type": [
223                        "array",
224                        "boolean",
225                        "integer",
226                        "number",
227                        "null",
228                        "object",
229                        "string"
230                    ]
231                }
232            },
233            "properties": {},
234            "type": "object"
235        },
236        "RemoveEndpoint": {
237            "additionalProperties": false,
238            "description": "This action removes an endpoint from a zone.",
239            "longDescription": "This action shall remove an endpoint from a zone.",
240            "parameters": {
241                "Endpoint": {
242                    "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint",
243                    "description": "The endpoint to remove from the zone.",
244                    "longDescription": "This parameter shall contain a link to the specified endpoint to remove from the zone.",
245                    "requiredParameter": true
246                },
247                "EndpointETag": {
248                    "description": "The current ETag of the endpoint to remove from the system.",
249                    "longDescription": "This parameter shall contain the current ETag of the endpoint to remove from the system.  If the client-provided ETag does not match the current ETag of the endpoint that the `Endpoint` parameter specifies, the service shall return the HTTP `428 Precondition Required` status code to reject the request.",
250                    "type": "string"
251                },
252                "ZoneETag": {
253                    "description": "The current ETag of the zone.",
254                    "longDescription": "This parameter shall contain the current ETag of the zone.  If the client-provided ETag does not match the current ETag of the zone, the service shall return the HTTP `428 Precondition Required` status code to reject the request.",
255                    "type": "string"
256                }
257            },
258            "patternProperties": {
259                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
260                    "description": "This property shall specify a valid odata or Redfish property.",
261                    "type": [
262                        "array",
263                        "boolean",
264                        "integer",
265                        "number",
266                        "null",
267                        "object",
268                        "string"
269                    ]
270                }
271            },
272            "properties": {
273                "target": {
274                    "description": "Link to invoke action",
275                    "format": "uri-reference",
276                    "type": "string"
277                },
278                "title": {
279                    "description": "Friendly action name",
280                    "type": "string"
281                }
282            },
283            "type": "object",
284            "versionAdded": "v1_5_0"
285        },
286        "Zone": {
287            "additionalProperties": false,
288            "description": "The `Zone` schema describes a simple fabric zone for a Redfish implementation.",
289            "longDescription": "This resource shall represent a simple fabric zone for a Redfish implementation.",
290            "patternProperties": {
291                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
292                    "description": "This property shall specify a valid odata or Redfish property.",
293                    "type": [
294                        "array",
295                        "boolean",
296                        "integer",
297                        "number",
298                        "null",
299                        "object",
300                        "string"
301                    ]
302                }
303            },
304            "properties": {
305                "@odata.context": {
306                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
307                },
308                "@odata.etag": {
309                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
310                },
311                "@odata.id": {
312                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
313                },
314                "@odata.type": {
315                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
316                },
317                "Actions": {
318                    "$ref": "#/definitions/Actions",
319                    "description": "The available actions for this resource.",
320                    "longDescription": "This property shall contain the available actions for this resource.",
321                    "versionAdded": "v1_1_0"
322                },
323                "DefaultRoutingEnabled": {
324                    "description": "This property indicates whether routing within this zone is enabled.",
325                    "longDescription": "This property shall indicate whether routing within this zone is enabled.",
326                    "readonly": false,
327                    "type": [
328                        "boolean",
329                        "null"
330                    ],
331                    "versionAdded": "v1_4_0"
332                },
333                "Description": {
334                    "anyOf": [
335                        {
336                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
337                        },
338                        {
339                            "type": "null"
340                        }
341                    ],
342                    "readonly": true
343                },
344                "ExternalAccessibility": {
345                    "anyOf": [
346                        {
347                            "$ref": "#/definitions/ExternalAccessibility"
348                        },
349                        {
350                            "type": "null"
351                        }
352                    ],
353                    "description": "Indicates accessibility of endpoints in this zone to endpoints outside of this zone.",
354                    "longDescription": "This property shall contain and indication of accessibility of endpoints in this zone to endpoints outside of this zone.",
355                    "readonly": false,
356                    "versionAdded": "v1_3_0"
357                },
358                "Id": {
359                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
360                    "readonly": true
361                },
362                "Identifiers": {
363                    "description": "The durable names for the zone.",
364                    "items": {
365                        "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Identifier"
366                    },
367                    "longDescription": "This property shall contain a list of all known durable names for the associated zone.",
368                    "type": "array",
369                    "versionAdded": "v1_2_0"
370                },
371                "Links": {
372                    "$ref": "#/definitions/Links",
373                    "description": "The links to other resources that are related to this resource.",
374                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."
375                },
376                "Name": {
377                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
378                    "readonly": true
379                },
380                "Oem": {
381                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
382                    "description": "The OEM extension property.",
383                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
384                },
385                "Status": {
386                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
387                    "description": "The status and health of the resource and its subordinate or dependent resources.",
388                    "longDescription": "This property shall contain any status or health properties of the resource."
389                },
390                "ZoneType": {
391                    "anyOf": [
392                        {
393                            "$ref": "#/definitions/ZoneType"
394                        },
395                        {
396                            "type": "null"
397                        }
398                    ],
399                    "description": "The type of zone.",
400                    "longDescription": "This property shall contain the type of zone that this zone represents.",
401                    "readonly": false,
402                    "versionAdded": "v1_4_0"
403                }
404            },
405            "required": [
406                "@odata.id",
407                "@odata.type",
408                "Id",
409                "Name"
410            ],
411            "type": "object"
412        },
413        "ZoneType": {
414            "enum": [
415                "Default",
416                "ZoneOfEndpoints",
417                "ZoneOfZones",
418                "ZoneOfResourceBlocks"
419            ],
420            "enumDescriptions": {
421                "Default": "The zone in which all endpoints are added by default when instantiated.",
422                "ZoneOfEndpoints": "A zone that contains endpoints.",
423                "ZoneOfResourceBlocks": "A zone that contains resource blocks.",
424                "ZoneOfZones": "A zone that contains zones."
425            },
426            "enumLongDescriptions": {
427                "Default": "This value shall indicate a zone in which all endpoints are added by default when instantiated.  This value shall only be used for zones subordinate to the fabric collection.",
428                "ZoneOfEndpoints": "This value shall indicate a zone that contains resources of type `Endpoint`.  This value shall only be used for zones subordinate to the fabric collection.",
429                "ZoneOfResourceBlocks": "This value shall indicate a zone that contains resources of type `ResourceBlock`.  This value shall only be used for zones subordinate to the composition service.",
430                "ZoneOfZones": "This value shall indicate a zone that contains resources of type `Zone`.  This value shall only be used for zones subordinate to the fabric collection."
431            },
432            "enumVersionAdded": {
433                "ZoneOfResourceBlocks": "v1_6_0"
434            },
435            "type": "string"
436        }
437    },
438    "language": "en",
439    "owningEntity": "DMTF",
440    "release": "2020.4",
441    "title": "#Zone.v1_6_3.Zone"
442}