1<?xml version="1.0" encoding="UTF-8"?>
2<!---->
3<!--################################################################################       -->
4<!--# Redfish Schema:  ContainerImage 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-2024 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/Container_v1.xml">
35    <edmx:Include Namespace="Container"/>
36  </edmx:Reference>
37
38  <edmx:DataServices>
39
40    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="ContainerImage">
41      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
42      <Annotation Term="Redfish.Language" String="en"/>
43
44      <EntityType Name="ContainerImage" BaseType="Resource.v1_0_0.Resource" Abstract="true">
45        <Annotation Term="OData.Description" String="The `ContainerImage` schema represents a container image available to a computer system."/>
46        <Annotation Term="OData.LongDescription" String="This resource shall represent a container image available to a computer system."/>
47        <Annotation Term="Capabilities.InsertRestrictions">
48          <Record>
49            <PropertyValue Property="Insertable" Bool="false"/>
50          </Record>
51        </Annotation>
52        <Annotation Term="Capabilities.UpdateRestrictions">
53          <Record>
54            <PropertyValue Property="Updatable" Bool="false"/>
55          </Record>
56        </Annotation>
57        <Annotation Term="Capabilities.DeleteRestrictions">
58          <Record>
59            <PropertyValue Property="Deletable" Bool="false"/>
60          </Record>
61        </Annotation>
62        <Annotation Term="Redfish.Uris">
63          <Collection>
64            <String>/redfish/v1/Systems/{ComputerSystemId}/OperatingSystem/ContainerImages/{ContainerImageId}</String>
65            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/OperatingSystem/ContainerImages/{ContainerImageId}</String>
66            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/OperatingSystem/ContainerImages/{ContainerImageId}</String>
67          </Collection>
68        </Annotation>
69      </EntityType>
70
71      <EnumType Name="ImageTypes">
72        <Member Name="DockerV1">
73          <Annotation Term="OData.Description" String="Docker V1."/>
74          <Annotation Term="OData.LongDescription" String="This value shall indicate a Docker Image Specification Version 1-defined Docker image."/>
75        </Member>
76        <Member Name="DockerV2">
77          <Annotation Term="OData.Description" String="Docker V2."/>
78          <Annotation Term="OData.LongDescription" String="This value shall indicate a Docker Image Manifest Version 2-defined Docker image."/>
79        </Member>
80        <Member Name="OCI">
81          <Annotation Term="OData.Description" String="OCI (Open Container Initiative)."/>
82          <Annotation Term="OData.LongDescription" String="This value shall indicate an Open Container Specification-defined OCI (Open Container Initiative) image."/>
83        </Member>
84      </EnumType>
85    </Schema>
86
87    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="ContainerImage.v1_0_0">
88      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
89      <Annotation Term="Redfish.Release" String="2023.2"/>
90
91      <EntityType Name="ContainerImage" BaseType="ContainerImage.ContainerImage">
92        <Property Name="Status" Type="Resource.Status" Nullable="false">
93          <Annotation Term="OData.Description" String="The status and health of the resource and its subordinate or dependent resources."/>
94          <Annotation Term="OData.LongDescription" String="This property shall contain any status or health properties of the resource."/>
95        </Property>
96        <Property Name="Type" Type="ContainerImage.ImageTypes">
97          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
98          <Annotation Term="OData.Description" String="The image type of this container image."/>
99          <Annotation Term="OData.LongDescription" String="This property shall contain the supported image types for this container engine."/>
100        </Property>
101        <Property Name="Version" Type="Edm.String">
102          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
103          <Annotation Term="OData.Description" String="The version of this application."/>
104          <Annotation Term="OData.LongDescription" String="This property shall contain the version of this application."/>
105        </Property>
106        <Property Name="CreateTime" Type="Edm.DateTimeOffset">
107          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
108          <Annotation Term="OData.Description" String="The date and time when the container image was created."/>
109          <Annotation Term="OData.LongDescription" String="This property shall indicate the date and time when the container image was created."/>
110        </Property>
111        <Property Name="ProgrammaticId" Type="Edm.String">
112          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
113          <Annotation Term="OData.Description" String="The programmatic identifier for this container image."/>
114          <Annotation Term="OData.LongDescription" String="This property shall contain the programmatic identifier for this container image.  This is typically a hash string that represents the identifier of this container image."/>
115        </Property>
116        <Property Name="SizeBytes" Type="Edm.Int64">
117          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
118          <Annotation Term="OData.Description" String="The size of this container image in bytes."/>
119          <Annotation Term="OData.LongDescription" String="This property shall contain the size of this container image in bytes."/>
120          <Annotation Term="Measures.Unit" String="By"/>
121        </Property>
122        <Property Name="Links" Type="ContainerImage.v1_0_0.Links" Nullable="false">
123          <Annotation Term="OData.Description" String="The links to other resources that are related to this resource."/>
124          <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."/>
125        </Property>
126        <Property Name="Actions" Type="ContainerImage.v1_0_0.Actions" Nullable="false">
127          <Annotation Term="OData.Description" String="The available actions for this resource."/>
128          <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this resource."/>
129        </Property>
130      </EntityType>
131
132      <ComplexType Name="Links" BaseType="Resource.Links">
133        <Annotation Term="OData.Description" String="The links to other resources that are related to this resource."/>
134        <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."/>
135        <NavigationProperty Name="SoftwareImage" Type="SoftwareInventory.SoftwareInventory" Nullable="false">
136          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
137          <Annotation Term="OData.Description" String="The link to the software image for this container image."/>
138          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource of type `SoftwareInventory` that represents the software image for this container image."/>
139          <Annotation Term="OData.AutoExpandReferences"/>
140        </NavigationProperty>
141        <NavigationProperty Name="Containers" Type="Collection(Container.Container)">
142          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
143          <Annotation Term="OData.Description" String="The array of links to the containers running from this container image."/>
144          <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to resources of type `Container` that represent the container instances running from this container image."/>
145          <Annotation Term="OData.AutoExpandReferences"/>
146        </NavigationProperty>
147      </ComplexType>
148
149      <ComplexType Name="Actions">
150        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
151        <Annotation Term="OData.Description" String="The available actions for this resource."/>
152        <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
153        <Property Name="Oem" Type="ContainerImage.v1_0_0.OemActions" Nullable="false">
154          <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
155          <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific actions for this resource."/>
156        </Property>
157      </ComplexType>
158
159      <ComplexType Name="OemActions">
160        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
161        <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
162        <Annotation Term="OData.LongDescription" String="This type shall contain the available OEM-specific actions for this resource."/>
163      </ComplexType>
164    </Schema>
165
166    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="ContainerImage.v1_0_1">
167      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
168      <Annotation Term="OData.Description" String="This version was created to force the regeneration of OpenAPI schemas to properly express nullable properties with external references.  It was also created to correct various typographical errors."/>
169      <EntityType Name="ContainerImage" BaseType="ContainerImage.v1_0_0.ContainerImage"/>
170    </Schema>
171
172  </edmx:DataServices>
173</edmx:Edmx>
174