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