xref: /openbmc/bmcweb/features/redfish/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}