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