1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/Session.v1_7_2.json",
3    "$ref": "#/definitions/Session",
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                    "versionAdded": "v1_1_0"
31                }
32            },
33            "type": "object"
34        },
35        "Links": {
36            "additionalProperties": false,
37            "description": "The links to other resources that are related to this resource.",
38            "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.",
39            "patternProperties": {
40                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
41                    "description": "This property shall specify a valid odata or Redfish property.",
42                    "type": [
43                        "array",
44                        "boolean",
45                        "integer",
46                        "number",
47                        "null",
48                        "object",
49                        "string"
50                    ]
51                }
52            },
53            "properties": {
54                "Oem": {
55                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
56                    "description": "The OEM extension property.",
57                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
58                },
59                "OutboundConnection": {
60                    "$ref": "http://redfish.dmtf.org/schemas/v1/OutboundConnection.json#/definitions/OutboundConnection",
61                    "description": "The outbound connection associated with this session.",
62                    "longDescription": "This property shall contain a link to a resource of type `OutboundConnection` that represents the outbound connection for this session.  This property shall be present if `SessionType` contains `OutboundConnection`.",
63                    "readonly": true,
64                    "versionAdded": "v1_7_0"
65                }
66            },
67            "type": "object"
68        },
69        "OemActions": {
70            "additionalProperties": true,
71            "description": "The available OEM-specific actions for this resource.",
72            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
73            "patternProperties": {
74                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
75                    "description": "This property shall specify a valid odata or Redfish property.",
76                    "type": [
77                        "array",
78                        "boolean",
79                        "integer",
80                        "number",
81                        "null",
82                        "object",
83                        "string"
84                    ]
85                }
86            },
87            "properties": {},
88            "type": "object"
89        },
90        "Session": {
91            "additionalProperties": false,
92            "description": "The `Session` resource describes a single connection (session) between a client and a Redfish service instance.",
93            "longDescription": "This resource shall represent a session for a Redfish implementation.",
94            "patternProperties": {
95                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
96                    "description": "This property shall specify a valid odata or Redfish property.",
97                    "type": [
98                        "array",
99                        "boolean",
100                        "integer",
101                        "number",
102                        "null",
103                        "object",
104                        "string"
105                    ]
106                }
107            },
108            "properties": {
109                "@odata.context": {
110                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
111                },
112                "@odata.etag": {
113                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
114                },
115                "@odata.id": {
116                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
117                },
118                "@odata.type": {
119                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
120                },
121                "Actions": {
122                    "$ref": "#/definitions/Actions",
123                    "description": "The available actions for this resource.",
124                    "longDescription": "This property shall contain the available actions for this resource.",
125                    "versionAdded": "v1_1_0"
126                },
127                "ClientOriginIPAddress": {
128                    "description": "The IP address of the client that created the session.",
129                    "longDescription": "This property shall contain the IP address of the client that created the session.",
130                    "readonly": true,
131                    "type": [
132                        "string",
133                        "null"
134                    ],
135                    "versionAdded": "v1_3_0"
136                },
137                "Context": {
138                    "description": "A client-supplied string that is stored with the session.",
139                    "longDescription": "This property shall contain a client-supplied context that remains with the session through the session's lifetime.",
140                    "readonly": true,
141                    "type": [
142                        "string",
143                        "null"
144                    ],
145                    "versionAdded": "v1_5_0"
146                },
147                "CreatedTime": {
148                    "description": "The date and time when the session was created.",
149                    "format": "date-time",
150                    "longDescription": "This property shall contain the date and time when the session was created.",
151                    "readonly": true,
152                    "type": [
153                        "string",
154                        "null"
155                    ],
156                    "versionAdded": "v1_4_0"
157                },
158                "Description": {
159                    "anyOf": [
160                        {
161                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
162                        },
163                        {
164                            "type": "null"
165                        }
166                    ],
167                    "readonly": true
168                },
169                "Id": {
170                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
171                    "readonly": true
172                },
173                "Links": {
174                    "$ref": "#/definitions/Links",
175                    "description": "The links to other resources that are related to this resource.",
176                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.",
177                    "versionAdded": "v1_7_0"
178                },
179                "Name": {
180                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
181                    "readonly": true
182                },
183                "Oem": {
184                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
185                    "description": "The OEM extension property.",
186                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
187                },
188                "OemSessionType": {
189                    "description": "The active OEM-defined session type.",
190                    "longDescription": "This property shall contain the OEM-specific session type that is currently active if `SessionType` contains `OEM`.",
191                    "readonly": true,
192                    "type": [
193                        "string",
194                        "null"
195                    ],
196                    "versionAdded": "v1_2_0"
197                },
198                "Password": {
199                    "description": "The password for this session.  The value is `null` in responses.",
200                    "longDescription": "This property shall contain the password for this session.  The value shall be `null` in responses.  When creating a session through a Redfish host interface using an `AuthNone` role, the property shall contain an empty string in the request body.",
201                    "readonly": true,
202                    "type": [
203                        "string",
204                        "null"
205                    ],
206                    "writeOnly": false
207                },
208                "Roles": {
209                    "description": "The Redfish roles that contain the privileges of this session.",
210                    "items": {
211                        "type": [
212                            "string",
213                            "null"
214                        ]
215                    },
216                    "longDescription": "This property shall contain the Redfish roles that contain the privileges of this session.",
217                    "readonly": true,
218                    "type": "array",
219                    "versionAdded": "v1_7_0"
220                },
221                "SessionType": {
222                    "anyOf": [
223                        {
224                            "$ref": "#/definitions/SessionTypes"
225                        },
226                        {
227                            "type": "null"
228                        }
229                    ],
230                    "description": "The active session type.",
231                    "longDescription": "This property shall represent the type of session that is currently active.",
232                    "readonly": true,
233                    "versionAdded": "v1_2_0"
234                },
235                "Token": {
236                    "description": "The multi-factor authentication token for this session.  The value is `null` in responses.",
237                    "longDescription": "This property shall contain the multi-factor authentication token for this session.  The value shall be `null` in responses.",
238                    "readonly": true,
239                    "type": [
240                        "string",
241                        "null"
242                    ],
243                    "versionAdded": "v1_6_0",
244                    "writeOnly": false
245                },
246                "UserName": {
247                    "description": "The username for the account for this session.",
248                    "longDescription": "This property shall contain the username that matches an account recognized by the account service.  When a creating a session through a Redfish host interface using an `AuthNone` role, the property shall contain an empty string in the request body.",
249                    "readonly": true,
250                    "type": [
251                        "string",
252                        "null"
253                    ]
254                }
255            },
256            "required": [
257                "@odata.id",
258                "@odata.type",
259                "Id",
260                "Name"
261            ],
262            "requiredOnCreate": [
263                "UserName",
264                "Password"
265            ],
266            "type": "object"
267        },
268        "SessionTypes": {
269            "enum": [
270                "HostConsole",
271                "ManagerConsole",
272                "IPMI",
273                "KVMIP",
274                "OEM",
275                "Redfish",
276                "VirtualMedia",
277                "WebUI",
278                "OutboundConnection"
279            ],
280            "enumDescriptions": {
281                "HostConsole": "The host's console, which could be connected through Telnet, SSH, or another protocol.",
282                "IPMI": "Intelligent Platform Management Interface.",
283                "KVMIP": "A Keyboard-Video-Mouse over IP session.",
284                "ManagerConsole": "The manager's console, which could be connected through Telnet, SSH, SM CLP, or another protocol.",
285                "OEM": "OEM type.  For OEM session types, see the `OemSessionType` property.",
286                "OutboundConnection": "A Redfish Specification-defined outbound connection.  See the 'Outbound connections' clause of the Redfish Specification.",
287                "Redfish": "A Redfish session.",
288                "VirtualMedia": "Virtual media.",
289                "WebUI": "A non-Redfish web user interface session, such as a graphical interface or another web-based protocol."
290            },
291            "enumLongDescriptions": {
292                "HostConsole": "This value shall indicate the session is the host's console, which could be connected through Telnet, SSH, or another protocol.  If this session is terminated or deleted, the service shall close the connection for the respective host console session.",
293                "IPMI": "This value shall indicate the session is an Intelligent Platform Management Interface session.  If this session is terminated or deleted, the service shall close the connection for the respective IPMI session.",
294                "KVMIP": "This value shall indicate the session is a Keyboard-Video-Mouse over IP session.  If this session is terminated or deleted, the service shall close the connection for the respective KVM-IP session.",
295                "ManagerConsole": "This value shall indicate the session is the manager's console, which could be connected through Telnet, SSH, SM CLP, or another protocol.  If this session is terminated or deleted, the service shall close the connection for the respective manager console session.",
296                "OEM": "This value shall indicate the session is an OEM-specific session and is further described by the `OemSessionType` property.",
297                "OutboundConnection": "This value shall indicate the session is an outbound connection defined by the 'Outbound connections' clause of the Redfish Specification.  The `OutboundConnection` property inside the `Links` property shall contain the link to the outbound connection configuration.  If this session is terminated or deleted, the service shall disable the associated `OutboundConnection` resource.",
298                "Redfish": "This value shall indicate the session is a Redfish session defined by the 'Redfish session login authentication' clause of the Redfish Specification.  If this session is terminated or deleted, the service shall invalidate the respective session token.",
299                "VirtualMedia": "This value shall indicate the session is a virtual media session.  If this session is terminated or deleted, the service shall close the connection for the respective virtual media session and make the media inaccessible to the host.",
300                "WebUI": "This value shall indicate the session is a non-Redfish web user interface session.  If this session is terminated or deleted, the service shall invalidate the respective session token."
301            },
302            "enumVersionAdded": {
303                "OutboundConnection": "v1_7_0"
304            },
305            "type": "string"
306        }
307    },
308    "language": "en",
309    "owningEntity": "DMTF",
310    "release": "2023.2",
311    "title": "#Session.v1_7_2.Session"
312}