xref: /openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Connection.v1_4_0.json (revision 9b46bc0b4c0c58c426e9bfb5a7d90250862ca9d2)
1 {
2     "$id": "http://redfish.dmtf.org/schemas/v1/Connection.v1_4_0.json",
3     "$ref": "#/definitions/Connection",
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         "AccessCapability": {
8             "enum": [
9                 "Read",
10                 "Write"
11             ],
12             "enumDescriptions": {
13                 "Read": "Endpoints are allowed to perform reads from the specified resource.",
14                 "Write": "Endpoints are allowed to perform writes to the specified resource."
15             },
16             "type": "string"
17         },
18         "AccessState": {
19             "description": "Describes the options for the access characteristics of a resource.",
20             "enum": [
21                 "Optimized",
22                 "NonOptimized",
23                 "Standby",
24                 "Unavailable",
25                 "Transitioning"
26             ],
27             "enumDescriptions": {
28                 "NonOptimized": "The resource is in an active and non-optimized state.",
29                 "Optimized": "The resource is in an active and optimized state.",
30                 "Standby": "The resource is in a standby state.",
31                 "Transitioning": "The resource is transitioning to a new state.",
32                 "Unavailable": "The resource is in an unavailable state."
33             },
34             "enumLongDescriptions": {
35                 "NonOptimized": "This value shall indicate the resource is in an active and non-optimized state.",
36                 "Optimized": "This value shall indicate the resource is in an active and optimized state.",
37                 "Standby": "This value shall indicate the resource is in a standby state.",
38                 "Transitioning": "This value shall indicate the resource is transitioning to a new state.",
39                 "Unavailable": "This value shall indicate the resource is in an unavailable state."
40             },
41             "longDescription": "This type shall describe the access to the associated resource in this connection.",
42             "type": "string"
43         },
44         "Actions": {
45             "additionalProperties": false,
46             "description": "The available actions for this resource.",
47             "longDescription": "This type shall contain the available actions for this resource.",
48             "patternProperties": {
49                 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
50                     "description": "This property shall specify a valid odata or Redfish property.",
51                     "type": [
52                         "array",
53                         "boolean",
54                         "integer",
55                         "number",
56                         "null",
57                         "object",
58                         "string"
59                     ]
60                 }
61             },
62             "properties": {
63                 "#Connection.AddVolumeInfo": {
64                     "$ref": "#/definitions/AddVolumeInfo"
65                 },
66                 "#Connection.RemoveVolumeInfo": {
67                     "$ref": "#/definitions/RemoveVolumeInfo"
68                 },
69                 "Oem": {
70                     "$ref": "#/definitions/OemActions",
71                     "description": "The available OEM-specific actions for this resource.",
72                     "longDescription": "This property shall contain the available OEM-specific actions for this resource."
73                 }
74             },
75             "type": "object"
76         },
77         "AddVolumeInfo": {
78             "additionalProperties": false,
79             "description": "This action adds a volume to the connection.  Volumes are added to the `VolumeInfo` property.",
80             "longDescription": "This action shall add a volume to the connection.  Services shall add the volume to the `VolumeInfo` property.",
81             "parameters": {
82                 "AccessCapabilities": {
83                     "description": "The supported I/O access capabilities to assign to the volume.  Clients are required to provide either `LUN`, `AccessCapabilities`, or both.",
84                     "items": {
85                         "$ref": "#/definitions/AccessCapability"
86                     },
87                     "longDescription": "This parameter shall contain an array of the storage access capabilities to assign to the volume.  Services shall reject requests that do not contain either `LUN` or `AccessCapabilities`.",
88                     "type": "array"
89                 },
90                 "LUN": {
91                     "description": "The initiator-visible logical unit number (LUN) to assign to the volume.  Clients are required to provide either `LUN`, `AccessCapabilities`, or both.",
92                     "longDescription": "This property shall contain the initiator-visible logical unit number (LUN) to assign to the volume.  Services shall reject requests that do not contain either `LUN` or `AccessCapabilities`.",
93                     "type": "integer"
94                 },
95                 "Volume": {
96                     "$ref": "http://redfish.dmtf.org/schemas/swordfish/v1/Volume.json#/definitions/Volume",
97                     "description": "The volume to add.",
98                     "longDescription": "This parameter shall contain a link to a resource of type `Volume` that represents the volume to add.",
99                     "requiredParameter": true
100                 }
101             },
102             "patternProperties": {
103                 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
104                     "description": "This property shall specify a valid odata or Redfish property.",
105                     "type": [
106                         "array",
107                         "boolean",
108                         "integer",
109                         "number",
110                         "null",
111                         "object",
112                         "string"
113                     ]
114                 }
115             },
116             "properties": {
117                 "target": {
118                     "description": "Link to invoke action",
119                     "format": "uri-reference",
120                     "type": "string"
121                 },
122                 "title": {
123                     "description": "Friendly action name",
124                     "type": "string"
125                 }
126             },
127             "type": "object",
128             "versionAdded": "v1_4_0"
129         },
130         "CHAPConnectionKey": {
131             "additionalProperties": false,
132             "description": "The CHAP-specific permission key information for a connection.",
133             "longDescription": "This object shall contain the CHAP-specific permission key information for a connection.",
134             "patternProperties": {
135                 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
136                     "description": "This property shall specify a valid odata or Redfish property.",
137                     "type": [
138                         "array",
139                         "boolean",
140                         "integer",
141                         "number",
142                         "null",
143                         "object",
144                         "string"
145                     ]
146                 }
147             },
148             "properties": {
149                 "CHAPPassword": {
150                     "description": "The password for CHAP authentication.  The value is `null` in responses.",
151                     "longDescription": "This property shall contain the password for CHAP authentication.  The value shall be `null` in responses.",
152                     "readonly": false,
153                     "type": [
154                         "string",
155                         "null"
156                     ],
157                     "versionAdded": "v1_2_0",
158                     "writeOnly": true
159                 },
160                 "CHAPUsername": {
161                     "description": "The username for CHAP authentication.",
162                     "longDescription": "This property shall contain the username for CHAP authentication.",
163                     "readonly": false,
164                     "type": [
165                         "string",
166                         "null"
167                     ],
168                     "versionAdded": "v1_2_0"
169                 },
170                 "InitiatorCHAPPassword": {
171                     "description": "The initiator shared secret for mutual (2-way) CHAP authentication.  The value is `null` in responses.",
172                     "longDescription": "This property shall contain the initiator shared secret for mutual (2-way) CHAP authentication.  The value shall be `null` in responses.",
173                     "readonly": false,
174                     "type": [
175                         "string",
176                         "null"
177                     ],
178                     "versionAdded": "v1_2_0",
179                     "writeOnly": true
180                 },
181                 "InitiatorCHAPUsername": {
182                     "description": "The initiator username for mutual (2-way) CHAP authentication.",
183                     "longDescription": "This property shall contain the initiator username for mutual (2-way) CHAP authentication.  For example, this would be the initiator iQN in iSCSI environments.",
184                     "readonly": false,
185                     "type": [
186                         "string",
187                         "null"
188                     ],
189                     "versionAdded": "v1_2_0"
190                 },
191                 "TargetCHAPPassword": {
192                     "description": "The target shared secret for mutual (2-way) CHAP authentication.  The value is `null` in responses.",
193                     "longDescription": "This property shall contain the target shared secret for mutual (2-way) CHAP authentication.  The value shall be `null` in responses.",
194                     "readonly": false,
195                     "type": [
196                         "string",
197                         "null"
198                     ],
199                     "versionAdded": "v1_2_0",
200                     "writeOnly": true
201                 }
202             },
203             "type": "object"
204         },
205         "Connection": {
206             "additionalProperties": false,
207             "description": "The `Connection` schema describes the access permissions that endpoints, or groups of endpoints, have with other resources in the service.",
208             "longDescription": "This resource shall represent information about a connection in the Redfish Specification.",
209             "patternProperties": {
210                 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
211                     "description": "This property shall specify a valid odata or Redfish property.",
212                     "type": [
213                         "array",
214                         "boolean",
215                         "integer",
216                         "number",
217                         "null",
218                         "object",
219                         "string"
220                     ]
221                 }
222             },
223             "properties": {
224                 "@odata.context": {
225                     "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
226                 },
227                 "@odata.etag": {
228                     "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
229                 },
230                 "@odata.id": {
231                     "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
232                 },
233                 "@odata.type": {
234                     "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
235                 },
236                 "Actions": {
237                     "$ref": "#/definitions/Actions",
238                     "description": "The available actions for this resource.",
239                     "longDescription": "This property shall contain the available actions for this resource."
240                 },
241                 "ConnectionKeys": {
242                     "$ref": "#/definitions/ConnectionKey",
243                     "description": "The permission keys required to access the specified resources for this connection.",
244                     "longDescription": "This property shall contain the permission keys required to access the specified resources for this connection.  Some fabrics require permission checks on transactions from authorized initiators.",
245                     "versionAdded": "v1_1_0"
246                 },
247                 "ConnectionType": {
248                     "anyOf": [
249                         {
250                             "$ref": "#/definitions/ConnectionType"
251                         },
252                         {
253                             "type": "null"
254                         }
255                     ],
256                     "description": "The type of resources this connection specifies.",
257                     "longDescription": "This property shall contain the type of resources this connection specifies.",
258                     "readonly": true
259                 },
260                 "Description": {
261                     "anyOf": [
262                         {
263                             "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
264                         },
265                         {
266                             "type": "null"
267                         }
268                     ],
269                     "readonly": true
270                 },
271                 "Id": {
272                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
273                     "readonly": true
274                 },
275                 "Links": {
276                     "$ref": "#/definitions/Links",
277                     "description": "The links to other resources that are related to this resource.",
278                     "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."
279                 },
280                 "MemoryChunkInfo": {
281                     "description": "The set of memory chunks and access capabilities specified for this connection.",
282                     "items": {
283                         "$ref": "#/definitions/MemoryChunkInfo"
284                     },
285                     "longDescription": "This property shall contain the set of memory chunks and access capabilities specified for this connection.",
286                     "type": "array",
287                     "versionAdded": "v1_1_0"
288                 },
289                 "MemoryRegionInfo": {
290                     "description": "The set of memory regions and access capabilities specified for this connection.",
291                     "items": {
292                         "$ref": "#/definitions/MemoryRegionInfo"
293                     },
294                     "longDescription": "This property shall contain the set of memory regions and access capabilities specified for this connection.",
295                     "type": "array",
296                     "versionAdded": "v1_3_0"
297                 },
298                 "Name": {
299                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
300                     "readonly": true
301                 },
302                 "Oem": {
303                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
304                     "description": "The OEM extension property.",
305                     "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
306                 },
307                 "Status": {
308                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
309                     "description": "The status and health of the resource and its subordinate or dependent resources.",
310                     "longDescription": "This property shall contain any status or health properties of the resource."
311                 },
312                 "VolumeInfo": {
313                     "description": "The set of volumes and access capabilities specified for this connection.",
314                     "items": {
315                         "anyOf": [
316                             {
317                                 "$ref": "#/definitions/VolumeInfo"
318                             },
319                             {
320                                 "type": "null"
321                             }
322                         ]
323                     },
324                     "longDescription": "This property shall contain the set of volumes and access capabilities specified for this connection.",
325                     "type": "array"
326                 }
327             },
328             "required": [
329                 "@odata.id",
330                 "@odata.type",
331                 "Id",
332                 "Name"
333             ],
334             "type": "object"
335         },
336         "ConnectionKey": {
337             "additionalProperties": false,
338             "description": "The permission key information required to access the target resources for a connection.",
339             "longDescription": "This type shall contain the permission key information required to access the target resources for a connection.",
340             "patternProperties": {
341                 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
342                     "description": "This property shall specify a valid odata or Redfish property.",
343                     "type": [
344                         "array",
345                         "boolean",
346                         "integer",
347                         "number",
348                         "null",
349                         "object",
350                         "string"
351                     ]
352                 }
353             },
354             "properties": {
355                 "CHAP": {
356                     "anyOf": [
357                         {
358                             "$ref": "#/definitions/CHAPConnectionKey"
359                         },
360                         {
361                             "type": "null"
362                         }
363                     ],
364                     "description": "The CHAP-specific permission key information for this connection.",
365                     "longDescription": "This property shall contain the CHAP-specific permission key information for this connection.  This property shall not be present if `DHCHAP` is present.",
366                     "versionAdded": "v1_2_0"
367                 },
368                 "DHCHAP": {
369                     "anyOf": [
370                         {
371                             "$ref": "#/definitions/DHCHAPKey"
372                         },
373                         {
374                             "type": "null"
375                         }
376                     ],
377                     "description": "The DHCHAP-specific permission key information for this connection.",
378                     "longDescription": "This property shall contain the DHCHAP-specific permission key information for this connection.  This property shall not be present if `CHAP` is present.",
379                     "versionAdded": "v1_2_0"
380                 },
381                 "GenZ": {
382                     "anyOf": [
383                         {
384                             "$ref": "#/definitions/GenZConnectionKey"
385                         },
386                         {
387                             "type": "null"
388                         }
389                     ],
390                     "description": "The Gen-Z-specific permission key information for this connection.",
391                     "longDescription": "This property shall contain the Gen-Z-specific permission key information for this connection.",
392                     "versionAdded": "v1_1_0"
393                 }
394             },
395             "type": "object"
396         },
397         "ConnectionType": {
398             "enum": [
399                 "Storage",
400                 "Memory"
401             ],
402             "enumDescriptions": {
403                 "Memory": "A connection to memory-related resources.",
404                 "Storage": "A connection to storage-related resources, such as volumes."
405             },
406             "type": "string"
407         },
408         "DHCHAPKey": {
409             "additionalProperties": false,
410             "description": "The DHCHAP-specific permission key information for this connection.",
411             "longDescription": "This property shall contain the DHCHAP-specific permission key information for this connection.",
412             "patternProperties": {
413                 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
414                     "description": "This property shall specify a valid odata or Redfish property.",
415                     "type": [
416                         "array",
417                         "boolean",
418                         "integer",
419                         "number",
420                         "null",
421                         "object",
422                         "string"
423                     ]
424                 }
425             },
426             "properties": {
427                 "LocalDHCHAPAuthSecret": {
428                     "description": "The local DHCHAP authentication secret.  The value is `null` in responses.",
429                     "longDescription": "This property shall contain the local DHCHAP authentication secret.  The value shall be `null` in responses.",
430                     "readonly": false,
431                     "type": [
432                         "string",
433                         "null"
434                     ],
435                     "versionAdded": "v1_2_0",
436                     "writeOnly": true
437                 },
438                 "PeerDHCHAPAuthSecret": {
439                     "description": "The peer DHCHAP authentication secret.  The value is `null` in responses.",
440                     "longDescription": "This property shall contain the peer DHCHAP authentication secret.  The value shall be `null` in responses.",
441                     "readonly": false,
442                     "type": [
443                         "string",
444                         "null"
445                     ],
446                     "versionAdded": "v1_2_0",
447                     "writeOnly": true
448                 }
449             },
450             "type": "object"
451         },
452         "GenZConnectionKey": {
453             "additionalProperties": false,
454             "description": "The Gen-Z-specific permission key information for a connection.",
455             "longDescription": "This type shall contain the Gen-Z-specific permission key information for a connection.",
456             "patternProperties": {
457                 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
458                     "description": "This property shall specify a valid odata or Redfish property.",
459                     "type": [
460                         "array",
461                         "boolean",
462                         "integer",
463                         "number",
464                         "null",
465                         "object",
466                         "string"
467                     ]
468                 }
469             },
470             "properties": {
471                 "AccessKey": {
472                     "description": "The Access Key for this connection.",
473                     "longDescription": "This property shall contain the Gen-Z Core Specification-defined Access Key for this connection.",
474                     "pattern": "^0[xX]([a-fA-F]|[0-9]){2}$",
475                     "readonly": false,
476                     "type": "string",
477                     "versionAdded": "v1_1_0"
478                 },
479                 "RKeyDomainCheckingEnabled": {
480                     "description": "Indicates whether Region Key domain checking is enabled for this connection.",
481                     "longDescription": "This property shall indicate whether Region Key domain checking is enabled for this connection.",
482                     "readonly": false,
483                     "type": "boolean",
484                     "versionAdded": "v1_1_0"
485                 },
486                 "RKeyReadOnlyKey": {
487                     "description": "The read-only Region Key for this connection.",
488                     "longDescription": "This property shall contain the Gen-Z Core Specification-defined read-only Region Key for this connection.",
489                     "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){4}$",
490                     "readonly": false,
491                     "type": "string",
492                     "versionAdded": "v1_1_0"
493                 },
494                 "RKeyReadWriteKey": {
495                     "description": "The read-write Region Key for this connection.",
496                     "longDescription": "This property shall contain the Gen-Z Core Specification-defined read-write Region Key for this connection.",
497                     "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){4}$",
498                     "readonly": false,
499                     "type": "string",
500                     "versionAdded": "v1_1_0"
501                 }
502             },
503             "type": "object"
504         },
505         "Links": {
506             "additionalProperties": false,
507             "description": "The links to other resources that are related to this resource.",
508             "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.",
509             "patternProperties": {
510                 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
511                     "description": "This property shall specify a valid odata or Redfish property.",
512                     "type": [
513                         "array",
514                         "boolean",
515                         "integer",
516                         "number",
517                         "null",
518                         "object",
519                         "string"
520                     ]
521                 }
522             },
523             "properties": {
524                 "InitiatorEndpointGroups": {
525                     "description": "An array of links to the initiator endpoint groups that are associated with this connection.",
526                     "items": {
527                         "$ref": "http://redfish.dmtf.org/schemas/v1/EndpointGroup.json#/definitions/EndpointGroup"
528                     },
529                     "longDescription": "This property shall contain an array of links to resources of type `EndpointGroup` that are the initiator endpoint groups associated with this connection.  If the referenced endpoint groups contain the `GroupType` property, the `GroupType` property shall contain the value `Initiator` or `Client`.  This property shall not be present if `InitiatorEndpoints` is present.",
530                     "readonly": false,
531                     "type": "array"
532                 },
533                 "InitiatorEndpointGroups@odata.count": {
534                     "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
535                 },
536                 "InitiatorEndpoints": {
537                     "description": "An array of links to the initiator endpoints that are associated with this connection.",
538                     "items": {
539                         "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint"
540                     },
541                     "longDescription": "This property shall contain an array of links to resources of type `Endpoint` that are the initiator endpoints associated with this connection.  If the referenced endpoints contain the `EntityRole` property, the `EntityRole` property shall contain the value `Initiator` or `Both`.  This property shall not be present if `InitiatorEndpointGroups` is present.",
542                     "readonly": false,
543                     "type": "array"
544                 },
545                 "InitiatorEndpoints@odata.count": {
546                     "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
547                 },
548                 "Oem": {
549                     "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
550                     "description": "The OEM extension property.",
551                     "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
552                 },
553                 "TargetEndpointGroups": {
554                     "description": "An array of links to the target endpoint groups that are associated with this connection.",
555                     "items": {
556                         "$ref": "http://redfish.dmtf.org/schemas/v1/EndpointGroup.json#/definitions/EndpointGroup"
557                     },
558                     "longDescription": "This property shall contain an array of links to resources of type `EndpointGroup` that are the target endpoint groups associated with this connection.  If the referenced endpoint groups contain the `GroupType` property, the `GroupType` property shall contain the value `Target` or `Server`.  This property shall not be present if `TargetEndpoints` is present.",
559                     "readonly": false,
560                     "type": "array"
561                 },
562                 "TargetEndpointGroups@odata.count": {
563                     "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
564                 },
565                 "TargetEndpoints": {
566                     "description": "An array of links to the target endpoints that are associated with this connection.",
567                     "items": {
568                         "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint"
569                     },
570                     "longDescription": "This property shall contain an array of links to resources of type `Endpoint` that are the target endpoints associated with this connection.  If the referenced endpoints contain the `EntityRole` property, the `EntityRole` property shall contain the value `Target` or `Both`.  This property shall not be present if `TargetEndpointGroups` is present.",
571                     "readonly": false,
572                     "type": "array"
573                 },
574                 "TargetEndpoints@odata.count": {
575                     "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
576                 }
577             },
578             "type": "object"
579         },
580         "MemoryChunkInfo": {
581             "additionalProperties": false,
582             "description": "The combination of permissions and memory chunk information.",
583             "longDescription": "This type shall contain the combination of permissions and memory chunk information.",
584             "patternProperties": {
585                 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
586                     "description": "This property shall specify a valid odata or Redfish property.",
587                     "type": [
588                         "array",
589                         "boolean",
590                         "integer",
591                         "number",
592                         "null",
593                         "object",
594                         "string"
595                     ]
596                 }
597             },
598             "properties": {
599                 "AccessCapabilities": {
600                     "description": "Supported I/O access capabilities.",
601                     "items": {
602                         "anyOf": [
603                             {
604                                 "$ref": "#/definitions/AccessCapability"
605                             },
606                             {
607                                 "type": "null"
608                             }
609                         ]
610                     },
611                     "longDescription": "Each entry shall specify a current memory access capability.",
612                     "readonly": false,
613                     "type": "array",
614                     "versionAdded": "v1_1_0"
615                 },
616                 "AccessState": {
617                     "anyOf": [
618                         {
619                             "$ref": "#/definitions/AccessState"
620                         },
621                         {
622                             "type": "null"
623                         }
624                     ],
625                     "description": "The access state for this connection.",
626                     "longDescription": "The value of this property shall contain the access state for the associated resource in this connection.",
627                     "readonly": false,
628                     "versionAdded": "v1_1_0"
629                 },
630                 "MemoryChunk": {
631                     "anyOf": [
632                         {
633                             "$ref": "http://redfish.dmtf.org/schemas/v1/MemoryChunks.json#/definitions/MemoryChunks"
634                         },
635                         {
636                             "type": "null"
637                         }
638                     ],
639                     "description": "The specified memory chunk.",
640                     "longDescription": "This property shall contain a link to a resource of type `MemoryChunk`.  The endpoints referenced by the `InitiatorEndpoints` or `InitiatorEndpointGroups` properties shall be given access to this memory chunk as described by this object.  If `TargetEndpoints` or `TargetEndpointGroups` is present, the referenced initiator endpoints shall be required to access the referenced memory chunk through one of the referenced target endpoints.",
641                     "readonly": false,
642                     "versionAdded": "v1_1_0"
643                 }
644             },
645             "type": "object"
646         },
647         "MemoryRegionInfo": {
648             "additionalProperties": false,
649             "description": "The combination of permissions and memory region information.",
650             "longDescription": "This type shall contain the combination of permissions and memory region information.",
651             "patternProperties": {
652                 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
653                     "description": "This property shall specify a valid odata or Redfish property.",
654                     "type": [
655                         "array",
656                         "boolean",
657                         "integer",
658                         "number",
659                         "null",
660                         "object",
661                         "string"
662                     ]
663                 }
664             },
665             "properties": {
666                 "AccessCapabilities": {
667                     "description": "Supported I/O access capabilities.",
668                     "items": {
669                         "anyOf": [
670                             {
671                                 "$ref": "#/definitions/AccessCapability"
672                             },
673                             {
674                                 "type": "null"
675                             }
676                         ]
677                     },
678                     "longDescription": "Each entry shall specify a current memory access capability.",
679                     "readonly": false,
680                     "type": "array",
681                     "versionAdded": "v1_3_0"
682                 },
683                 "AccessState": {
684                     "anyOf": [
685                         {
686                             "$ref": "#/definitions/AccessState"
687                         },
688                         {
689                             "type": "null"
690                         }
691                     ],
692                     "description": "The access state for this connection.",
693                     "longDescription": "The value of this property shall contain the access state for the associated resource in this connection.",
694                     "readonly": false,
695                     "versionAdded": "v1_3_0"
696                 },
697                 "MemoryRegion": {
698                     "anyOf": [
699                         {
700                             "$ref": "http://redfish.dmtf.org/schemas/v1/MemoryRegion.json#/definitions/MemoryRegion"
701                         },
702                         {
703                             "type": "null"
704                         }
705                     ],
706                     "description": "The specified memory region.",
707                     "longDescription": "This property shall contain a link to a resource of type `MemoryRegion`.  The endpoints referenced by the `InitiatorEndpoints` or `InitiatorEndpointGroups` properties shall be given access to this memory region as described by this object.  If `TargetEndpoints` or `TargetEndpointGroups` is present, the referenced initiator endpoints shall be required to access the referenced memory region through one of the referenced target endpoints.  For CXL fabrics, memory regions from `Connection` resources are not allowed.",
708                     "readonly": false,
709                     "versionAdded": "v1_3_0"
710                 }
711             },
712             "type": "object"
713         },
714         "OemActions": {
715             "additionalProperties": true,
716             "description": "The available OEM-specific actions for this resource.",
717             "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
718             "patternProperties": {
719                 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
720                     "description": "This property shall specify a valid odata or Redfish property.",
721                     "type": [
722                         "array",
723                         "boolean",
724                         "integer",
725                         "number",
726                         "null",
727                         "object",
728                         "string"
729                     ]
730                 }
731             },
732             "properties": {},
733             "type": "object"
734         },
735         "RemoveVolumeInfo": {
736             "additionalProperties": false,
737             "description": "This action removes a volume from the connection.  Volumes are removed from the `VolumeInfo` property.",
738             "longDescription": "This action shall remove a volume to the connection.  Services shall remove the volume from the `VolumeInfo` property.",
739             "parameters": {
740                 "LUN": {
741                     "description": "The initiator-visible logical unit number (LUN) assigned to the volume to remove.",
742                     "longDescription": "This parameter shall contain the initiator-visible logical unit number (LUN) assigned to this volume to remove.  If this parameter is not provided, the service shall remove all entries associated with volume referenced by the `Volume` parameter.",
743                     "type": "integer"
744                 },
745                 "Volume": {
746                     "$ref": "http://redfish.dmtf.org/schemas/swordfish/v1/Volume.json#/definitions/Volume",
747                     "description": "The volume to remove.",
748                     "longDescription": "This parameter shall contain a link to a resource of type `Volume` that represents the volume to remove.",
749                     "requiredParameter": true
750                 }
751             },
752             "patternProperties": {
753                 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
754                     "description": "This property shall specify a valid odata or Redfish property.",
755                     "type": [
756                         "array",
757                         "boolean",
758                         "integer",
759                         "number",
760                         "null",
761                         "object",
762                         "string"
763                     ]
764                 }
765             },
766             "properties": {
767                 "target": {
768                     "description": "Link to invoke action",
769                     "format": "uri-reference",
770                     "type": "string"
771                 },
772                 "title": {
773                     "description": "Friendly action name",
774                     "type": "string"
775                 }
776             },
777             "type": "object",
778             "versionAdded": "v1_4_0"
779         },
780         "VolumeInfo": {
781             "additionalProperties": false,
782             "description": "The combination of permissions and volume information.",
783             "longDescription": "This type shall contain the combination of permissions and volume information.",
784             "patternProperties": {
785                 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
786                     "description": "This property shall specify a valid odata or Redfish property.",
787                     "type": [
788                         "array",
789                         "boolean",
790                         "integer",
791                         "number",
792                         "null",
793                         "object",
794                         "string"
795                     ]
796                 }
797             },
798             "properties": {
799                 "AccessCapabilities": {
800                     "description": "Supported I/O access capabilities.",
801                     "items": {
802                         "anyOf": [
803                             {
804                                 "$ref": "#/definitions/AccessCapability"
805                             },
806                             {
807                                 "type": "null"
808                             }
809                         ]
810                     },
811                     "longDescription": "Each entry shall specify a current storage access capability.",
812                     "readonly": false,
813                     "type": "array"
814                 },
815                 "AccessState": {
816                     "anyOf": [
817                         {
818                             "$ref": "#/definitions/AccessState"
819                         },
820                         {
821                             "type": "null"
822                         }
823                     ],
824                     "description": "The access state for this connection.",
825                     "longDescription": "The value of this property shall contain the access state for the associated resource in this connection.",
826                     "readonly": false
827                 },
828                 "LUN": {
829                     "description": "The initiator-visible logical unit number (LUN) assigned to this volume.",
830                     "longDescription": "This property shall contain the initiator-visible logical unit number (LUN) assigned to this volume for initiators referenced by the `InitiatorEndpoints` or `InitiatorEndpointGroups` properties.",
831                     "readonly": false,
832                     "type": [
833                         "integer",
834                         "null"
835                     ],
836                     "versionAdded": "v1_2_0"
837                 },
838                 "Volume": {
839                     "$ref": "http://redfish.dmtf.org/schemas/swordfish/v1/Volume.json#/definitions/Volume",
840                     "description": "The specified volume.",
841                     "longDescription": "This property shall contain a link to a resource of type `Volume`.  The endpoints referenced by the `InitiatorEndpoints` or `InitiatorEndpointGroups` properties shall be given access to this volume as described by this object.  If `TargetEndpoints` or `TargetEndpointGroups` is present, the referenced initiator endpoints shall be required to access the referenced volume through one of the referenced target endpoints.",
842                     "readonly": false
843                 }
844             },
845             "type": "object"
846         }
847     },
848     "language": "en",
849     "owningEntity": "DMTF",
850     "release": "2024.4",
851     "title": "#Connection.v1_4_0.Connection"
852 }