1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/ConnectionMethod.v1_1_1.json",
3    "$ref": "#/definitions/ConnectionMethod",
4    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5    "copyright": "Copyright 2014-2024 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6    "definitions": {
7        "Actions": {
8            "additionalProperties": false,
9            "description": "The available actions for this resource.",
10            "longDescription": "This type shall contain the available actions for this resource.",
11            "patternProperties": {
12                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13                    "description": "This property shall specify a valid odata or Redfish property.",
14                    "type": [
15                        "array",
16                        "boolean",
17                        "integer",
18                        "number",
19                        "null",
20                        "object",
21                        "string"
22                    ]
23                }
24            },
25            "properties": {
26                "Oem": {
27                    "$ref": "#/definitions/OemActions",
28                    "description": "The available OEM-specific actions for this resource.",
29                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
30                }
31            },
32            "type": "object"
33        },
34        "ConnectionMethod": {
35            "additionalProperties": false,
36            "description": "The `ConnectionMethod` schema describes the protocol, provider, or other method used to communicate to a given access point for a Redfish aggregation service.",
37            "longDescription": "This resource shall represent a connection method for a Redfish implementation.",
38            "patternProperties": {
39                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
40                    "description": "This property shall specify a valid odata or Redfish property.",
41                    "type": [
42                        "array",
43                        "boolean",
44                        "integer",
45                        "number",
46                        "null",
47                        "object",
48                        "string"
49                    ]
50                }
51            },
52            "properties": {
53                "@odata.context": {
54                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
55                },
56                "@odata.etag": {
57                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
58                },
59                "@odata.id": {
60                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
61                },
62                "@odata.type": {
63                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
64                },
65                "Actions": {
66                    "$ref": "#/definitions/Actions",
67                    "description": "The available actions for this resource.",
68                    "longDescription": "This property shall contain the available actions for this resource."
69                },
70                "ConnectionMethodType": {
71                    "anyOf": [
72                        {
73                            "$ref": "#/definitions/ConnectionMethodType"
74                        },
75                        {
76                            "type": "null"
77                        }
78                    ],
79                    "description": "The type of connection method.",
80                    "longDescription": "This property shall contain an identifier of the connection method.",
81                    "readonly": true
82                },
83                "ConnectionMethodVariant": {
84                    "description": "The variant of connection method.",
85                    "longDescription": "This property shall contain an additional identifier of the connection method.  This property shall be present if `ConnectionMethodType` is `OEM`.",
86                    "readonly": true,
87                    "type": [
88                        "string",
89                        "null"
90                    ]
91                },
92                "Description": {
93                    "anyOf": [
94                        {
95                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
96                        },
97                        {
98                            "type": "null"
99                        }
100                    ],
101                    "readonly": true
102                },
103                "Id": {
104                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
105                    "readonly": true
106                },
107                "Links": {
108                    "$ref": "#/definitions/Links",
109                    "description": "The links to other resources that are related to this resource.",
110                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."
111                },
112                "Name": {
113                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
114                    "readonly": true
115                },
116                "Oem": {
117                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
118                    "description": "The OEM extension property.",
119                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
120                },
121                "TunnelingProtocol": {
122                    "anyOf": [
123                        {
124                            "$ref": "#/definitions/TunnelingProtocolType"
125                        },
126                        {
127                            "type": "null"
128                        }
129                    ],
130                    "description": "The tunneling protocol used for this connection method.",
131                    "longDescription": "This property shall contain the tunneling protocol used for this connection method.",
132                    "readonly": true,
133                    "versionAdded": "v1_1_0"
134                }
135            },
136            "required": [
137                "@odata.id",
138                "@odata.type",
139                "Id",
140                "Name"
141            ],
142            "type": "object"
143        },
144        "ConnectionMethodType": {
145            "enum": [
146                "Redfish",
147                "SNMP",
148                "IPMI15",
149                "IPMI20",
150                "NETCONF",
151                "OEM"
152            ],
153            "enumDescriptions": {
154                "IPMI15": "IPMI 1.5 connection method.",
155                "IPMI20": "IPMI 2.0 connection method.",
156                "NETCONF": "NETCONF connection method.",
157                "OEM": "OEM connection method.",
158                "Redfish": "Redfish connection method.",
159                "SNMP": "SNMP connection method."
160            },
161            "enumLongDescriptions": {
162                "IPMI15": "This value shall indicate the connection method is IPMI 1.5.",
163                "IPMI20": "This value shall indicate the connection method is IPMI 2.0.",
164                "NETCONF": "This value shall indicate the connection method is NETCONF.",
165                "OEM": "This value shall indicate the connection method is OEM.  The `ConnectionMethodVariant` property shall contain further identification information.",
166                "Redfish": "This value shall indicate the connection method is Redfish.",
167                "SNMP": "This value shall indicate the connection method is SNMP."
168            },
169            "type": "string"
170        },
171        "Links": {
172            "additionalProperties": false,
173            "description": "The links to other resources that are related to this resource.",
174            "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.",
175            "patternProperties": {
176                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
177                    "description": "This property shall specify a valid odata or Redfish property.",
178                    "type": [
179                        "array",
180                        "boolean",
181                        "integer",
182                        "number",
183                        "null",
184                        "object",
185                        "string"
186                    ]
187                }
188            },
189            "properties": {
190                "AggregationSources": {
191                    "description": "An array of links to the access points using this connection method.",
192                    "items": {
193                        "$ref": "http://redfish.dmtf.org/schemas/v1/AggregationSource.json#/definitions/AggregationSource"
194                    },
195                    "longDescription": "This property shall contain an array of links to resources of type `AggregationSource` that are using this connection method.",
196                    "readonly": true,
197                    "type": "array"
198                },
199                "AggregationSources@odata.count": {
200                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
201                },
202                "Oem": {
203                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
204                    "description": "The OEM extension property.",
205                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
206                }
207            },
208            "type": "object"
209        },
210        "OemActions": {
211            "additionalProperties": true,
212            "description": "The available OEM-specific actions for this resource.",
213            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
214            "patternProperties": {
215                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
216                    "description": "This property shall specify a valid odata or Redfish property.",
217                    "type": [
218                        "array",
219                        "boolean",
220                        "integer",
221                        "number",
222                        "null",
223                        "object",
224                        "string"
225                    ]
226                }
227            },
228            "properties": {},
229            "type": "object"
230        },
231        "TunnelingProtocolType": {
232            "enum": [
233                "SSH",
234                "OEM"
235            ],
236            "enumDescriptions": {
237                "OEM": "OEM tunneling.",
238                "SSH": "SSH tunneling."
239            },
240            "enumLongDescriptions": {
241                "OEM": "This value shall indicate that the tunneling protocol is OEM-specific.",
242                "SSH": "This value shall indicate that the tunneling protocol is SSH."
243            },
244            "type": "string"
245        }
246    },
247    "language": "en",
248    "owningEntity": "DMTF",
249    "release": "2022.3",
250    "title": "#ConnectionMethod.v1_1_1.ConnectionMethod"
251}