xref: /openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/ConnectionMethod.v1_2_0.json (revision c6d7a45d427f9a6d9e761afcf305761dca60d7cf)
1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/ConnectionMethod.v1_2_0.json",
3    "$ref": "#/definitions/ConnectionMethod",
4    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5    "copyright": "Copyright 2014-2025 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                "ModbusSerial",
153                "ModbusTCP"
154            ],
155            "enumDescriptions": {
156                "IPMI15": "IPMI 1.5 connection method.",
157                "IPMI20": "IPMI 2.0 connection method.",
158                "ModbusSerial": "Modbus serial connection method.",
159                "ModbusTCP": "Modbus TCP connection method.",
160                "NETCONF": "NETCONF connection method.",
161                "OEM": "OEM connection method.",
162                "Redfish": "Redfish connection method.",
163                "SNMP": "SNMP connection method."
164            },
165            "enumLongDescriptions": {
166                "IPMI15": "This value shall indicate the connection method is IPMI 1.5.",
167                "IPMI20": "This value shall indicate the connection method is IPMI 2.0.",
168                "ModbusSerial": "This value shall indicate the connection method is Modbus serial (RTU).",
169                "ModbusTCP": "This value shall indicate the connection method is Modbus TCP.",
170                "NETCONF": "This value shall indicate the connection method is NETCONF.",
171                "OEM": "This value shall indicate the connection method is OEM.  The `ConnectionMethodVariant` property shall contain further identification information.",
172                "Redfish": "This value shall indicate the connection method is Redfish.",
173                "SNMP": "This value shall indicate the connection method is SNMP."
174            },
175            "enumVersionAdded": {
176                "ModbusSerial": "v1_2_0",
177                "ModbusTCP": "v1_2_0"
178            },
179            "type": "string"
180        },
181        "Links": {
182            "additionalProperties": false,
183            "description": "The links to other resources that are related to this resource.",
184            "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.",
185            "patternProperties": {
186                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
187                    "description": "This property shall specify a valid odata or Redfish property.",
188                    "type": [
189                        "array",
190                        "boolean",
191                        "integer",
192                        "number",
193                        "null",
194                        "object",
195                        "string"
196                    ]
197                }
198            },
199            "properties": {
200                "AggregationSources": {
201                    "description": "An array of links to the access points using this connection method.",
202                    "items": {
203                        "$ref": "http://redfish.dmtf.org/schemas/v1/AggregationSource.json#/definitions/AggregationSource"
204                    },
205                    "longDescription": "This property shall contain an array of links to resources of type `AggregationSource` that are using this connection method.",
206                    "readonly": true,
207                    "type": "array"
208                },
209                "AggregationSources@odata.count": {
210                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
211                },
212                "Oem": {
213                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
214                    "description": "The OEM extension property.",
215                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
216                },
217                "SerialInterface": {
218                    "$ref": "http://redfish.dmtf.org/schemas/v1/SerialInterface.json#/definitions/SerialInterface",
219                    "description": "The link to the serial interface for this connection method.",
220                    "longDescription": "This property shall contain a link to a resource of type `SerialInterface` that represents the serial interface for this connection method.",
221                    "readonly": true,
222                    "versionAdded": "v1_2_0"
223                }
224            },
225            "type": "object"
226        },
227        "OemActions": {
228            "additionalProperties": true,
229            "description": "The available OEM-specific actions for this resource.",
230            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
231            "patternProperties": {
232                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
233                    "description": "This property shall specify a valid odata or Redfish property.",
234                    "type": [
235                        "array",
236                        "boolean",
237                        "integer",
238                        "number",
239                        "null",
240                        "object",
241                        "string"
242                    ]
243                }
244            },
245            "properties": {},
246            "type": "object"
247        },
248        "TunnelingProtocolType": {
249            "enum": [
250                "SSH",
251                "OEM"
252            ],
253            "enumDescriptions": {
254                "OEM": "OEM tunneling.",
255                "SSH": "SSH tunneling."
256            },
257            "enumLongDescriptions": {
258                "OEM": "This value shall indicate that the tunneling protocol is OEM-specific.",
259                "SSH": "This value shall indicate that the tunneling protocol is SSH."
260            },
261            "type": "string"
262        }
263    },
264    "language": "en",
265    "owningEntity": "DMTF",
266    "release": "2025.2",
267    "title": "#ConnectionMethod.v1_2_0.ConnectionMethod"
268}