1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/OperatingSystem.v1_0_2.json",
3    "$ref": "#/definitions/OperatingSystem",
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        "ContainerEngine": {
35            "additionalProperties": false,
36            "description": "A container engine running in an operating system.",
37            "longDescription": "This type shall contain a container engine running in an operating system.",
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                "ManagementURIs": {
54                    "description": "The URIs to manage this container engine.",
55                    "format": "uri-reference",
56                    "items": {
57                        "type": [
58                            "string",
59                            "null"
60                        ]
61                    },
62                    "longDescription": "This property shall contain an array of URIs to management interfaces for this container engine.  This is typically a web UI or API provided by the container engine.",
63                    "readonly": true,
64                    "type": "array"
65                },
66                "SupportedImageTypes": {
67                    "description": "The supported image types for this container engine.",
68                    "items": {
69                        "anyOf": [
70                            {
71                                "$ref": "http://redfish.dmtf.org/schemas/v1/ContainerImage.json#/definitions/ImageTypes"
72                            },
73                            {
74                                "type": "null"
75                            }
76                        ]
77                    },
78                    "longDescription": "This property shall contain the supported image types for this container engine.",
79                    "readonly": true,
80                    "type": "array"
81                },
82                "Type": {
83                    "anyOf": [
84                        {
85                            "$ref": "#/definitions/ContainerEngineTypes"
86                        },
87                        {
88                            "type": "null"
89                        }
90                    ],
91                    "description": "The type of container engine.",
92                    "longDescription": "This property shall contain the type for this container engine.",
93                    "readonly": true
94                },
95                "Version": {
96                    "description": "The version of this container engine.",
97                    "longDescription": "This property shall contain the version of this container engine.",
98                    "readonly": true,
99                    "type": [
100                        "string",
101                        "null"
102                    ]
103                }
104            },
105            "type": "object"
106        },
107        "ContainerEngineTypes": {
108            "enum": [
109                "Docker",
110                "containerd",
111                "CRIO"
112            ],
113            "enumDescriptions": {
114                "CRIO": "CRI-O.",
115                "Docker": "Docker.",
116                "containerd": "containerd."
117            },
118            "enumLongDescriptions": {
119                "CRIO": "This value shall indicate the container engine is CRI-O.",
120                "Docker": "This value shall indicate the container engine is Docker.",
121                "containerd": "This value shall indicate the container engine is containerd."
122            },
123            "type": "string"
124        },
125        "Kernel": {
126            "additionalProperties": false,
127            "description": "The kernel information for an operating system.",
128            "longDescription": "This type shall contain the kernel information for an operating system.",
129            "patternProperties": {
130                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
131                    "description": "This property shall specify a valid odata or Redfish property.",
132                    "type": [
133                        "array",
134                        "boolean",
135                        "integer",
136                        "number",
137                        "null",
138                        "object",
139                        "string"
140                    ]
141                }
142            },
143            "properties": {
144                "Machine": {
145                    "description": "The machine hardware name of the kernel.",
146                    "longDescription": "This property shall contain the machine hardware name of the kernel.  For strict POSIX operating systems, the value shall contain the output of `uname -m`.",
147                    "readonly": true,
148                    "type": [
149                        "string",
150                        "null"
151                    ]
152                },
153                "Name": {
154                    "description": "The name of the kernel.",
155                    "longDescription": "This property shall contain the name of the kernel.  For strict POSIX operating systems, the value shall contain the output of `uname -s`.  For Microsoft Windows, the value shall contain the string name from the output of `ver`, from Command Prompt, prior to the first square brace (`[`), which is typically `Microsoft Windows`.",
156                    "readonly": true,
157                    "type": [
158                        "string",
159                        "null"
160                    ]
161                },
162                "Release": {
163                    "description": "The release of the kernel.",
164                    "longDescription": "This property shall contain the release of the kernel.  For strict POSIX operating systems, the value shall contain the output of `uname -r`.  For Microsoft Windows, the value shall contain the decimal-delimited version from the output of `ver`, from Command Prompt, within the square braces (`[` and `]`), following the regular expression `^\\d+\\.\\d+\\.\\d+\\.\\d+$`.",
165                    "readonly": true,
166                    "type": [
167                        "string",
168                        "null"
169                    ]
170                },
171                "Version": {
172                    "description": "The version of the kernel.",
173                    "longDescription": "This property shall contain the version of the kernel.  For strict POSIX operating systems, the value shall contain the output of `uname -v`.",
174                    "readonly": true,
175                    "type": [
176                        "string",
177                        "null"
178                    ]
179                }
180            },
181            "type": "object"
182        },
183        "Links": {
184            "additionalProperties": false,
185            "description": "The links to other resources that are related to this resource.",
186            "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.",
187            "patternProperties": {
188                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
189                    "description": "This property shall specify a valid odata or Redfish property.",
190                    "type": [
191                        "array",
192                        "boolean",
193                        "integer",
194                        "number",
195                        "null",
196                        "object",
197                        "string"
198                    ]
199                }
200            },
201            "properties": {
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                "SoftwareImage": {
208                    "$ref": "http://redfish.dmtf.org/schemas/v1/SoftwareInventory.json#/definitions/SoftwareInventory",
209                    "description": "The link to the software image for this operating system.",
210                    "longDescription": "This property shall contain a link to a resource of type `SoftwareInventory` that represents the software image from which this operating system runs.",
211                    "readonly": true
212                }
213            },
214            "type": "object"
215        },
216        "OemActions": {
217            "additionalProperties": true,
218            "description": "The available OEM-specific actions for this resource.",
219            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
220            "patternProperties": {
221                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
222                    "description": "This property shall specify a valid odata or Redfish property.",
223                    "type": [
224                        "array",
225                        "boolean",
226                        "integer",
227                        "number",
228                        "null",
229                        "object",
230                        "string"
231                    ]
232                }
233            },
234            "properties": {},
235            "type": "object"
236        },
237        "OperatingSystem": {
238            "additionalProperties": false,
239            "description": "The `OperatingSystem` schema represents the operating system and software running on a computer system.",
240            "longDescription": "This resource shall represent the operating system and software running on a computer system.",
241            "patternProperties": {
242                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
243                    "description": "This property shall specify a valid odata or Redfish property.",
244                    "type": [
245                        "array",
246                        "boolean",
247                        "integer",
248                        "number",
249                        "null",
250                        "object",
251                        "string"
252                    ]
253                }
254            },
255            "properties": {
256                "@odata.context": {
257                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
258                },
259                "@odata.etag": {
260                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
261                },
262                "@odata.id": {
263                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
264                },
265                "@odata.type": {
266                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
267                },
268                "Actions": {
269                    "$ref": "#/definitions/Actions",
270                    "description": "The available actions for this resource.",
271                    "longDescription": "This property shall contain the available actions for this resource."
272                },
273                "Applications": {
274                    "$ref": "http://redfish.dmtf.org/schemas/v1/ApplicationCollection.json#/definitions/ApplicationCollection",
275                    "description": "The link to the collection of applications running under this operating system.",
276                    "longDescription": "This property shall contain a link to a resource collection of type `ApplicationCollection` that represent the applications running under this operating system.",
277                    "readonly": true
278                },
279                "ContainerEngines": {
280                    "description": "The container engines running in this operating system.",
281                    "items": {
282                        "anyOf": [
283                            {
284                                "$ref": "#/definitions/ContainerEngine"
285                            },
286                            {
287                                "type": "null"
288                            }
289                        ]
290                    },
291                    "longDescription": "This property shall contain the container engines running in this operating system.",
292                    "type": "array"
293                },
294                "ContainerImages": {
295                    "$ref": "http://redfish.dmtf.org/schemas/v1/ContainerImageCollection.json#/definitions/ContainerImageCollection",
296                    "description": "The link to the collection of container images available to container engines on this operating system.",
297                    "longDescription": "This property shall contain a link to a resource collection of type `ContainerImageCollection` that represent the container images available to container engines on this operating system.",
298                    "readonly": true
299                },
300                "Containers": {
301                    "$ref": "http://redfish.dmtf.org/schemas/v1/ContainerCollection.json#/definitions/ContainerCollection",
302                    "description": "The link to the collection of containers running under this operating system.",
303                    "longDescription": "This property shall contain a link to a resource collection of type `ContainerCollection` that represent the containers running under this operating system.",
304                    "readonly": true
305                },
306                "Description": {
307                    "anyOf": [
308                        {
309                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
310                        },
311                        {
312                            "type": "null"
313                        }
314                    ],
315                    "readonly": true
316                },
317                "Id": {
318                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
319                    "readonly": true
320                },
321                "Kernel": {
322                    "anyOf": [
323                        {
324                            "$ref": "#/definitions/Kernel"
325                        },
326                        {
327                            "type": "null"
328                        }
329                    ],
330                    "description": "The kernel information for this operating system.",
331                    "longDescription": "This property shall contain the kernel information for this operating system."
332                },
333                "Links": {
334                    "$ref": "#/definitions/Links",
335                    "description": "The links to other resources that are related to this resource.",
336                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."
337                },
338                "Name": {
339                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
340                    "readonly": true
341                },
342                "Oem": {
343                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
344                    "description": "The OEM extension property.",
345                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
346                },
347                "Status": {
348                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
349                    "description": "The status and health of the resource and its subordinate or dependent resources.",
350                    "longDescription": "This property shall contain any status or health properties of the resource."
351                },
352                "Type": {
353                    "anyOf": [
354                        {
355                            "$ref": "#/definitions/OperatingSystemTypes"
356                        },
357                        {
358                            "type": "null"
359                        }
360                    ],
361                    "description": "The type of operating system.",
362                    "longDescription": "This property shall contain the type for this operating system.",
363                    "readonly": true
364                },
365                "UptimeSeconds": {
366                    "description": "The wall-clock time this operating system has been running in seconds.",
367                    "longDescription": "This property shall contain the wall-clock time this operating system has been running in seconds.",
368                    "readonly": true,
369                    "type": [
370                        "integer",
371                        "null"
372                    ]
373                },
374                "VirtualMachineEngines": {
375                    "description": "The virtual machine engines running in this operating system.",
376                    "items": {
377                        "anyOf": [
378                            {
379                                "$ref": "#/definitions/VirtualMachineEngine"
380                            },
381                            {
382                                "type": "null"
383                            }
384                        ]
385                    },
386                    "longDescription": "This property shall contain the virtual machine engines running in this operating system.",
387                    "type": "array"
388                }
389            },
390            "required": [
391                "@odata.id",
392                "@odata.type",
393                "Id",
394                "Name"
395            ],
396            "type": "object"
397        },
398        "OperatingSystemTypes": {
399            "enum": [
400                "Linux",
401                "Windows",
402                "Solaris",
403                "HPUX",
404                "AIX",
405                "BSD",
406                "macOS",
407                "IBMi",
408                "Hypervisor"
409            ],
410            "enumDescriptions": {
411                "AIX": "IBM AIX.",
412                "BSD": "Berkeley Software Distribution.",
413                "HPUX": "HPE HP-UX.",
414                "Hypervisor": "A bare-metal hypervisor.",
415                "IBMi": "IBM i.",
416                "Linux": "Linux.",
417                "Solaris": "Oracle Solaris.",
418                "Windows": "Microsoft Windows.",
419                "macOS": "Apple macOS."
420            },
421            "type": "string"
422        },
423        "VirtualMachineEngine": {
424            "additionalProperties": false,
425            "description": "A virtual machine engine running in an operating system.",
426            "longDescription": "This type shall contain a virtual machine engine running in an operating system.",
427            "patternProperties": {
428                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
429                    "description": "This property shall specify a valid odata or Redfish property.",
430                    "type": [
431                        "array",
432                        "boolean",
433                        "integer",
434                        "number",
435                        "null",
436                        "object",
437                        "string"
438                    ]
439                }
440            },
441            "properties": {
442                "ManagementURIs": {
443                    "description": "The URIs to manage this virtual machine engine.",
444                    "format": "uri-reference",
445                    "items": {
446                        "type": [
447                            "string",
448                            "null"
449                        ]
450                    },
451                    "longDescription": "This property shall contain an array of URIs to management interfaces for this virtual machine engine.  This is typically a web UI or API provided by the virtual machine engine.",
452                    "readonly": true,
453                    "type": "array"
454                },
455                "SupportedImageTypes": {
456                    "description": "The supported image types for this container engine.",
457                    "items": {
458                        "anyOf": [
459                            {
460                                "$ref": "#/definitions/VirtualMachineImageTypes"
461                            },
462                            {
463                                "type": "null"
464                            }
465                        ]
466                    },
467                    "longDescription": "This property shall contain the supported image types for this container engine.",
468                    "readonly": true,
469                    "type": "array"
470                },
471                "Type": {
472                    "anyOf": [
473                        {
474                            "$ref": "#/definitions/VirtualMachineEngineTypes"
475                        },
476                        {
477                            "type": "null"
478                        }
479                    ],
480                    "description": "The type of virtual machine engine.",
481                    "longDescription": "This property shall contain the type for this virtual machine engine.",
482                    "readonly": true
483                },
484                "Version": {
485                    "description": "The version of this virtual machine engine.",
486                    "longDescription": "This property shall contain the version of this virtual machine engine.",
487                    "readonly": true,
488                    "type": [
489                        "string",
490                        "null"
491                    ]
492                }
493            },
494            "type": "object"
495        },
496        "VirtualMachineEngineTypes": {
497            "enum": [
498                "VMwareESX",
499                "HyperV",
500                "Xen",
501                "KVM",
502                "QEMU",
503                "VirtualBox",
504                "PowerVM"
505            ],
506            "enumDescriptions": {
507                "HyperV": "Microsoft Hyper-V.",
508                "KVM": "KVM (Kernel-based Virtual Machine).",
509                "PowerVM": "IBM PowerVM.",
510                "QEMU": "QEMU (Quick Emulator).",
511                "VMwareESX": "VMware ESX or ESXi.",
512                "VirtualBox": "Oracle VM VirtualBox.",
513                "Xen": "Xen."
514            },
515            "enumLongDescriptions": {
516                "HyperV": "This value shall indicate the virtual machine engine is Microsoft Hyper-V.",
517                "KVM": "This value shall indicate the virtual machine engine is Linux KVM (Kernel-based Virtual Machine).",
518                "PowerVM": "This value shall indicate the virtual machine engine is IBM PowerVM.",
519                "QEMU": "This value shall indicate the virtual machine engine is QEMU (Quick Emulator).  If QEMU is acting as a frontend for another virtual machine engine, such as Xen or KVM, VirtualMachineEngines should contain additional entries to represent the backend virtual machine engines.",
520                "VMwareESX": "This value shall indicate the virtual machine engine is VMware ESX or ESXi.",
521                "VirtualBox": "This value shall indicate the virtual machine engine is Oracle VM VirtualBox.  If VirtualBox is acting as a frontend for another virtual machine engine, such as HyperV, VirtualMachineEngines should contain additional entries to represent the backend virtual machine engines.",
522                "Xen": "This value shall indicate the virtual machine engine is Xen."
523            },
524            "type": "string"
525        },
526        "VirtualMachineImageTypes": {
527            "enum": [
528                "Raw",
529                "OVF",
530                "OVA",
531                "VHD",
532                "VMDK",
533                "VDI",
534                "QCOW",
535                "QCOW2"
536            ],
537            "enumDescriptions": {
538                "OVA": "OVA (Open Virtual Appliance).",
539                "OVF": "OVF (Open Virtualization Format).",
540                "QCOW": "QCOW (QEMU Copy-on-Write).",
541                "QCOW2": "QCOW2 (QEMU Copy-on-Write version 2).",
542                "Raw": "Raw disk image.",
543                "VDI": "VDI (Virtual Disk Image).",
544                "VHD": "VHD (Virtual Hard Disk).",
545                "VMDK": "VMDK (Virtual Machine Disk)."
546            },
547            "enumLongDescriptions": {
548                "OVA": "This value shall indicate a DSP0243-defined OVA (Open Virtual Appliance) image.",
549                "OVF": "This value shall indicate a DSP0243-defined OVF (Open Virtualization Format) image.",
550                "QCOW": "This value shall indicate a QEMU-defined QCOW (QEMU Copy-on-Write) image.",
551                "QCOW2": "This value shall indicate a QEMU-defined QCOW2 (QEMU Copy-on-Write version 2) image.",
552                "Raw": "This value shall indicate a raw disk image.",
553                "VDI": "This value shall indicate an Oracle VM VirtualBox-defined VDI (Virtual Disk Image).",
554                "VHD": "This value shall indicate a Microsoft Open Specification Promise-defined VHD (Virtual Hard Disk) image.",
555                "VMDK": "This value shall indicate a VMware-defined VMDK (Virtual Machine Disk) image."
556            },
557            "type": "string"
558        }
559    },
560    "language": "en",
561    "owningEntity": "DMTF",
562    "release": "2023.2",
563    "title": "#OperatingSystem.v1_0_2.OperatingSystem"
564}