1<?xml version="1.0" encoding="UTF-8"?>
2<!---->
3<!--################################################################################       -->
4<!--# Redfish Schema:  OperatingSystem v1.0.1                                              -->
5<!--#                                                                                      -->
6<!--# For a detailed change log, see the README file contained in the DSP8010 bundle,      -->
7<!--# available at http://www.dmtf.org/standards/redfish                                   -->
8<!--# Copyright 2014-2023 DMTF.                                                            -->
9<!--# For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright -->
10<!--################################################################################       -->
11<!---->
12<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
13
14  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Core.V1.xml">
15    <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData"/>
16  </edmx:Reference>
17  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Capabilities.V1.xml">
18    <edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="Capabilities"/>
19  </edmx:Reference>
20  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Measures.V1.xml">
21    <edmx:Include Namespace="Org.OData.Measures.V1" Alias="Measures"/>
22  </edmx:Reference>
23  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
24    <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
25    <edmx:Include Namespace="Validation.v1_0_0" Alias="Validation"/>
26  </edmx:Reference>
27  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Resource_v1.xml">
28    <edmx:Include Namespace="Resource"/>
29    <edmx:Include Namespace="Resource.v1_0_0"/>
30  </edmx:Reference>
31  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/SoftwareInventory_v1.xml">
32    <edmx:Include Namespace="SoftwareInventory"/>
33  </edmx:Reference>
34  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/ApplicationCollection_v1.xml">
35    <edmx:Include Namespace="ApplicationCollection"/>
36  </edmx:Reference>
37  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/ContainerImageCollection_v1.xml">
38    <edmx:Include Namespace="ContainerImageCollection"/>
39  </edmx:Reference>
40  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/ContainerImage_v1.xml">
41    <edmx:Include Namespace="ContainerImage"/>
42  </edmx:Reference>
43  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/ContainerCollection_v1.xml">
44    <edmx:Include Namespace="ContainerCollection"/>
45  </edmx:Reference>
46
47  <edmx:DataServices>
48
49    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="OperatingSystem">
50      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
51
52      <EntityType Name="OperatingSystem" BaseType="Resource.v1_0_0.Resource" Abstract="true">
53        <Annotation Term="OData.Description" String="The OperatingSystem schema represents the operating system and software running on a computer system."/>
54        <Annotation Term="OData.LongDescription" String="This resource shall represent the operating system and software running on a computer system."/>
55        <Annotation Term="Capabilities.InsertRestrictions">
56          <Record>
57            <PropertyValue Property="Insertable" Bool="false"/>
58          </Record>
59        </Annotation>
60        <Annotation Term="Capabilities.UpdateRestrictions">
61          <Record>
62            <PropertyValue Property="Updatable" Bool="false"/>
63          </Record>
64        </Annotation>
65        <Annotation Term="Capabilities.DeleteRestrictions">
66          <Record>
67            <PropertyValue Property="Deletable" Bool="false"/>
68          </Record>
69        </Annotation>
70        <Annotation Term="Redfish.Uris">
71          <Collection>
72            <String>/redfish/v1/Systems/{ComputerSystemId}/OperatingSystem</String>
73            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/OperatingSystem</String>
74            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/OperatingSystem</String>
75          </Collection>
76        </Annotation>
77      </EntityType>
78    </Schema>
79
80    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="OperatingSystem.v1_0_0">
81      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
82      <Annotation Term="Redfish.Release" String="2023.2"/>
83
84      <EntityType Name="OperatingSystem" BaseType="OperatingSystem.OperatingSystem">
85        <Property Name="Status" Type="Resource.Status" Nullable="false">
86          <Annotation Term="OData.Description" String="The status and health of the resource and its subordinate or dependent resources."/>
87          <Annotation Term="OData.LongDescription" String="This property shall contain any status or health properties of the resource."/>
88        </Property>
89        <Property Name="Type" Type="OperatingSystem.v1_0_0.OperatingSystemTypes">
90          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
91          <Annotation Term="OData.Description" String="The type of operating system."/>
92          <Annotation Term="OData.LongDescription" String="This property shall contain the type for this operating system."/>
93        </Property>
94        <Property Name="UptimeSeconds" Type="Edm.Int64">
95          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
96          <Annotation Term="OData.Description" String="The wall-clock time this operating system has been running in seconds."/>
97          <Annotation Term="OData.LongDescription" String="This property shall contain the wall-clock time this operating system has been running in seconds."/>
98        </Property>
99        <Property Name="Kernel" Type="OperatingSystem.v1_0_0.Kernel">
100          <Annotation Term="OData.Description" String="The kernel information for this operating system."/>
101          <Annotation Term="OData.LongDescription" String="This property shall contain the kernel information for this operating system."/>
102        </Property>
103        <Property Name="VirtualMachineEngines" Type="Collection(OperatingSystem.v1_0_0.VirtualMachineEngine)">
104          <Annotation Term="OData.Description" String="The virtual machine engines running in this operating system."/>
105          <Annotation Term="OData.LongDescription" String="This property shall contain the virtual machine engines running in this operating system."/>
106        </Property>
107        <Property Name="ContainerEngines" Type="Collection(OperatingSystem.v1_0_0.ContainerEngine)">
108          <Annotation Term="OData.Description" String="The container engines running in this operating system."/>
109          <Annotation Term="OData.LongDescription" String="This property shall contain the container engines running in this operating system."/>
110        </Property>
111        <NavigationProperty Name="Applications" Type="ApplicationCollection.ApplicationCollection" ContainsTarget="true" Nullable="false">
112          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
113          <Annotation Term="OData.Description" String="The link to the collection of applications running under this operating system."/>
114          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource collection of type ApplicationCollection that represent the applications running under this operating system."/>
115          <Annotation Term="OData.AutoExpandReferences"/>
116        </NavigationProperty>
117        <NavigationProperty Name="ContainerImages" Type="ContainerImageCollection.ContainerImageCollection" ContainsTarget="true" Nullable="false">
118          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
119          <Annotation Term="OData.Description" String="The link to the collection of container images available to container engines on this operating system."/>
120          <Annotation Term="OData.LongDescription" String="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."/>
121          <Annotation Term="OData.AutoExpandReferences"/>
122        </NavigationProperty>
123        <NavigationProperty Name="Containers" Type="ContainerCollection.ContainerCollection" ContainsTarget="true" Nullable="false">
124          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
125          <Annotation Term="OData.Description" String="The link to the collection of containers running under this operating system."/>
126          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource collection of type ContainerCollection that represent the containers running under this operating system."/>
127          <Annotation Term="OData.AutoExpandReferences"/>
128        </NavigationProperty>
129        <Property Name="Links" Type="OperatingSystem.v1_0_0.Links" Nullable="false">
130          <Annotation Term="OData.Description" String="The links to other resources that are related to this resource."/>
131          <Annotation Term="OData.LongDescription" String="This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."/>
132        </Property>
133        <Property Name="Actions" Type="OperatingSystem.v1_0_0.Actions" Nullable="false">
134          <Annotation Term="OData.Description" String="The available actions for this resource."/>
135          <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this resource."/>
136        </Property>
137      </EntityType>
138
139      <EnumType Name="OperatingSystemTypes">
140        <Member Name="Linux">
141          <Annotation Term="OData.Description" String="Linux."/>
142        </Member>
143        <Member Name="Windows">
144          <Annotation Term="OData.Description" String="Microsoft Windows."/>
145        </Member>
146        <Member Name="Solaris">
147          <Annotation Term="OData.Description" String="Oracle Solaris."/>
148        </Member>
149        <Member Name="HPUX">
150          <Annotation Term="OData.Description" String="HPE HP-UX."/>
151        </Member>
152        <Member Name="AIX">
153          <Annotation Term="OData.Description" String="IBM AIX."/>
154        </Member>
155        <Member Name="BSD">
156          <Annotation Term="OData.Description" String="Berkeley Software Distribution."/>
157        </Member>
158        <Member Name="macOS">
159          <Annotation Term="OData.Description" String="Apple macOS."/>
160        </Member>
161        <Member Name="IBMi">
162          <Annotation Term="OData.Description" String="IBM i."/>
163        </Member>
164        <Member Name="Hypervisor">
165          <Annotation Term="OData.Description" String="A bare-metal hypervisor."/>
166        </Member>
167      </EnumType>
168
169      <ComplexType Name="Kernel">
170        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
171        <Annotation Term="OData.Description" String="The kernel information for an operating system."/>
172        <Annotation Term="OData.LongDescription" String="This type shall contain the kernel information for an operating system."/>
173        <Property Name="Name" Type="Edm.String">
174          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
175          <Annotation Term="OData.Description" String="The name of the kernel."/>
176          <Annotation Term="OData.LongDescription" String="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`."/>
177        </Property>
178        <Property Name="Release" Type="Edm.String">
179          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
180          <Annotation Term="OData.Description" String="The release of the kernel."/>
181          <Annotation Term="OData.LongDescription" String="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+$`."/>
182        </Property>
183        <Property Name="Version" Type="Edm.String">
184          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
185          <Annotation Term="OData.Description" String="The version of the kernel."/>
186          <Annotation Term="OData.LongDescription" String="This property shall contain the version of the kernel.  For strict POSIX operating systems, the value shall contain the output of `uname -v`."/>
187        </Property>
188        <Property Name="Machine" Type="Edm.String">
189          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
190          <Annotation Term="OData.Description" String="The machine hardware name of the kernel."/>
191          <Annotation Term="OData.LongDescription" String="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`."/>
192        </Property>
193      </ComplexType>
194
195      <ComplexType Name="VirtualMachineEngine">
196        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
197        <Annotation Term="OData.Description" String="A virtual machine engine running in an operating system."/>
198        <Annotation Term="OData.LongDescription" String="This type shall contain a virtual machine engine running in an operating system."/>
199        <Property Name="Type" Type="OperatingSystem.v1_0_0.VirtualMachineEngineTypes">
200          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
201          <Annotation Term="OData.Description" String="The type of virtual machine engine."/>
202          <Annotation Term="OData.LongDescription" String="This property shall contain the type for this virtual machine engine."/>
203        </Property>
204        <Property Name="Version" Type="Edm.String">
205          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
206          <Annotation Term="OData.Description" String="The version of this virtual machine engine."/>
207          <Annotation Term="OData.LongDescription" String="This property shall contain the version of this virtual machine engine."/>
208        </Property>
209        <Property Name="SupportedImageTypes" Type="Collection(OperatingSystem.v1_0_0.VirtualMachineImageTypes)">
210          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
211          <Annotation Term="OData.Description" String="The supported image types for this container engine."/>
212          <Annotation Term="OData.LongDescription" String="This property shall contain the supported image types for this container engine."/>
213        </Property>
214        <Property Name="ManagementURIs" Type="Collection(Edm.String)">
215          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
216          <Annotation Term="OData.Description" String="The URIs to manage this virtual machine engine."/>
217          <Annotation Term="OData.LongDescription" String="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."/>
218          <Annotation Term="OData.IsURL"/>
219        </Property>
220      </ComplexType>
221
222      <EnumType Name="VirtualMachineEngineTypes">
223        <Member Name="VMwareESX">
224          <Annotation Term="OData.Description" String="VMware ESX or ESXi."/>
225          <Annotation Term="OData.LongDescription" String="This value shall indicate the virtual machine engine is VMware ESX or ESXi."/>
226        </Member>
227        <Member Name="HyperV">
228          <Annotation Term="OData.Description" String="Microsoft Hyper-V."/>
229          <Annotation Term="OData.LongDescription" String="This value shall indicate the virtual machine engine is Microsoft Hyper-V."/>
230        </Member>
231        <Member Name="Xen">
232          <Annotation Term="OData.Description" String="Xen."/>
233          <Annotation Term="OData.LongDescription" String="This value shall indicate the virtual machine engine is Xen."/>
234        </Member>
235        <Member Name="KVM">
236          <Annotation Term="OData.Description" String="KVM (Kernel-based Virtual Machine)."/>
237          <Annotation Term="OData.LongDescription" String="This value shall indicate the virtual machine engine is Linux KVM (Kernel-based Virtual Machine)."/>
238        </Member>
239        <Member Name="QEMU">
240          <Annotation Term="OData.Description" String="QEMU (Quick Emulator)."/>
241          <Annotation Term="OData.LongDescription" String="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."/>
242        </Member>
243        <Member Name="VirtualBox">
244          <Annotation Term="OData.Description" String="Oracle VM VirtualBox."/>
245          <Annotation Term="OData.LongDescription" String="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."/>
246        </Member>
247        <Member Name="PowerVM">
248          <Annotation Term="OData.Description" String="IBM PowerVM."/>
249          <Annotation Term="OData.LongDescription" String="This value shall indicate the virtual machine engine is IBM PowerVM."/>
250        </Member>
251      </EnumType>
252
253      <EnumType Name="VirtualMachineImageTypes">
254        <Member Name="Raw">
255          <Annotation Term="OData.Description" String="Raw disk image."/>
256          <Annotation Term="OData.LongDescription" String="This value shall indicate a raw disk image."/>
257        </Member>
258        <Member Name="OVF">
259          <Annotation Term="OData.Description" String="OVF (Open Virtualization Format)."/>
260          <Annotation Term="OData.LongDescription" String="This value shall indicate a DSP0243-defined OVF (Open Virtualization Format) image."/>
261        </Member>
262        <Member Name="OVA">
263          <Annotation Term="OData.Description" String="OVA (Open Virtual Appliance)."/>
264          <Annotation Term="OData.LongDescription" String="This value shall indicate a DSP0243-defined OVA (Open Virtual Appliance) image."/>
265        </Member>
266        <Member Name="VHD">
267          <Annotation Term="OData.Description" String="VHD (Virtual Hard Disk)."/>
268          <Annotation Term="OData.LongDescription" String="This value shall indicate a Microsoft Open Specification Promise-defined VHD (Virtual Hard Disk) image."/>
269        </Member>
270        <Member Name="VMDK">
271          <Annotation Term="OData.Description" String="VMDK (Virtual Machine Disk)."/>
272          <Annotation Term="OData.LongDescription" String="This value shall indicate a VMware-defined VMDK (Virtual Machine Disk) image."/>
273        </Member>
274        <Member Name="VDI">
275          <Annotation Term="OData.Description" String="VDI (Virtual Disk Image)."/>
276          <Annotation Term="OData.LongDescription" String="This value shall indicate an Oracle VM VirtualBox-defined VDI (Virtual Disk Image)."/>
277        </Member>
278        <Member Name="QCOW">
279          <Annotation Term="OData.Description" String="QCOW (QEMU Copy-on-Write)."/>
280          <Annotation Term="OData.LongDescription" String="This value shall indicate a QEMU-defined QCOW (QEMU Copy-on-Write) image."/>
281        </Member>
282        <Member Name="QCOW2">
283          <Annotation Term="OData.Description" String="QCOW2 (QEMU Copy-on-Write version 2)."/>
284          <Annotation Term="OData.LongDescription" String="This value shall indicate a QEMU-defined QCOW2 (QEMU Copy-on-Write version 2) image."/>
285        </Member>
286      </EnumType>
287
288      <ComplexType Name="ContainerEngine">
289        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
290        <Annotation Term="OData.Description" String="A container engine running in an operating system."/>
291        <Annotation Term="OData.LongDescription" String="This type shall contain a container engine running in an operating system."/>
292        <Property Name="Type" Type="OperatingSystem.v1_0_0.ContainerEngineTypes">
293          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
294          <Annotation Term="OData.Description" String="The type of container engine."/>
295          <Annotation Term="OData.LongDescription" String="This property shall contain the type for this container engine."/>
296        </Property>
297        <Property Name="Version" Type="Edm.String">
298          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
299          <Annotation Term="OData.Description" String="The version of this container engine."/>
300          <Annotation Term="OData.LongDescription" String="This property shall contain the version of this container engine."/>
301        </Property>
302        <Property Name="SupportedImageTypes" Type="Collection(ContainerImage.ImageTypes)">
303          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
304          <Annotation Term="OData.Description" String="The supported image types for this container engine."/>
305          <Annotation Term="OData.LongDescription" String="This property shall contain the supported image types for this container engine."/>
306        </Property>
307        <Property Name="ManagementURIs" Type="Collection(Edm.String)">
308          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
309          <Annotation Term="OData.Description" String="The URIs to manage this container engine."/>
310          <Annotation Term="OData.LongDescription" String="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."/>
311          <Annotation Term="OData.IsURL"/>
312        </Property>
313      </ComplexType>
314
315      <EnumType Name="ContainerEngineTypes">
316        <Member Name="Docker">
317          <Annotation Term="OData.Description" String="Docker."/>
318          <Annotation Term="OData.LongDescription" String="This value shall indicate the container engine is Docker."/>
319        </Member>
320        <Member Name="containerd">
321          <Annotation Term="OData.Description" String="containerd."/>
322          <Annotation Term="OData.LongDescription" String="This value shall indicate the container engine is containerd."/>
323        </Member>
324        <Member Name="CRIO">
325          <Annotation Term="OData.Description" String="CRI-O."/>
326          <Annotation Term="OData.LongDescription" String="This value shall indicate the container engine is CRI-O."/>
327        </Member>
328      </EnumType>
329
330      <ComplexType Name="Links" BaseType="Resource.Links">
331        <Annotation Term="OData.Description" String="The links to other resources that are related to this resource."/>
332        <Annotation Term="OData.LongDescription" String="This Redfish Specification-described type shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."/>
333        <NavigationProperty Name="SoftwareImage" Type="SoftwareInventory.SoftwareInventory" Nullable="false">
334          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
335          <Annotation Term="OData.Description" String="The link to the software image for this operating system."/>
336          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource of type SoftwareInventory that represents the software image from which this operating system runs."/>
337          <Annotation Term="OData.AutoExpandReferences"/>
338        </NavigationProperty>
339      </ComplexType>
340
341      <ComplexType Name="Actions">
342        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
343        <Annotation Term="OData.Description" String="The available actions for this resource."/>
344        <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
345        <Property Name="Oem" Type="OperatingSystem.v1_0_0.OemActions" Nullable="false">
346          <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
347          <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific actions for this resource."/>
348        </Property>
349      </ComplexType>
350
351      <ComplexType Name="OemActions">
352        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
353        <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
354        <Annotation Term="OData.LongDescription" String="This type shall contain the available OEM-specific actions for this resource."/>
355      </ComplexType>
356    </Schema>
357
358    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="OperatingSystem.v1_0_1">
359      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
360      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
361      <EntityType Name="OperatingSystem" BaseType="OperatingSystem.v1_0_0.OperatingSystem"/>
362    </Schema>
363
364  </edmx:DataServices>
365</edmx:Edmx>
366