1<?xml version="1.0" encoding="UTF-8"?>
2<!---->
3<!--################################################################################       -->
4<!--# Redfish Schema:  RedfishExtensions v1.0.0                                            -->
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://redfish.dmtf.org/schemas/v1/Settings_v1.xml">
18    <edmx:Include Namespace="Settings"/>
19  </edmx:Reference>
20  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/CollectionCapabilities_v1.xml">
21    <edmx:Include Namespace="CollectionCapabilities"/>
22  </edmx:Reference>
23  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Certificate_v1.xml">
24    <edmx:Include Namespace="Certificate"/>
25  </edmx:Reference>
26  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/ResourceBlock_v1.xml">
27    <edmx:Include Namespace="ResourceBlock"/>
28  </edmx:Reference>
29
30  <edmx:DataServices>
31
32    <!--These terms extend the schema language for Redfish-specific information-->
33    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm"  Namespace="RedfishExtensions.v1_0_0">
34      <Annotation Term="RedfishExtensions.v1_0_0.OwningEntity" String="DMTF"/>
35
36      <Term Name="AllowableValues" Type="Collection(Edm.String)" Nullable="false">
37        <Annotation Term="OData.Description" String="The set of allowable values for an action parameter or read-write property."/>
38      </Term>
39      <Term Name="AllowableNumbers" Type="Collection(Edm.String)" Nullable="false">
40        <Annotation Term="OData.Description" String="The term specifies the numeric values or duration values, inclusive ranges of values, and incremental step values for a read-write property that are supported by the service, as defined in the 'Allowable values for numbers and durations' clause of the Redfish Specification."/>
41      </Term>
42      <Term Name="AllowablePattern" Type="Edm.String" Nullable="false">
43        <Annotation Term="OData.Description" String="The term specifies a regular expression that describes the allowable values for a read-write property as supported by the service."/>
44      </Term>
45      <Term Name="WriteableProperties" Type="Collection(Edm.String)" Nullable="false">
46        <Annotation Term="OData.Description" String="The term specifies the properties supported as read-write.  The values contained are the names of the writable properties as defined in the Redfish schema that are available as read-write given the implementation, current configuration, and state of the resource.  This term might appear at the root level of a resource, or within an object.  For arrays of objects, the term might only appear in the first element of the array to indicate identical capabilities for every element in the array."/>
47      </Term>
48      <Term Name="Required" Type="Edm.Boolean" DefaultValue="true">
49        <Annotation Term="OData.Description" String="This term specifies that a property is required to be supported by services.  Properties not annotated as required are optional."/>
50      </Term>
51      <Term Name="RequiredOnCreate" Type="Edm.Boolean" DefaultValue="true">
52        <Annotation Term="OData.Description" String="The term specifies that a property is required to be specified in the body of a `POST` request to create the resource."/>
53      </Term>
54      <Term Name="Settings" Type="Settings.Settings">
55        <Annotation Term="OData.Description" String="The link to the settings resource that represents the settings to apply to this resource."/>
56      </Term>
57      <Term Name="AutoExpandReferences" Type="Edm.Boolean" DefaultValue="true">
58        <Annotation Term="RedfishExtensions.v1_0_0.Deprecated" String="This term has been deprecated in favor of `OData.AutoExpandReferences`."/>
59        <Annotation Term="OData.Description" String="This term can be applied to a navigation property to specify that the default behavior for the service is to expand the links to the related resource or resource collection in responses."/>
60      </Term>
61      <Term Name="AutoExpand" Type="Edm.Boolean" DefaultValue="true">
62        <Annotation Term="RedfishExtensions.v1_0_0.Deprecated" String="This term has been deprecated in favor of `OData.AutoExpand`."/>
63        <Annotation Term="OData.Description" String="The term can be applied to a navigation property to specify that the default behavior for the service is to expand the related resource or resource collection in responses."/>
64      </Term>
65      <Term Name="IPv6Format" Type="Edm.Boolean" DefaultValue="true">
66        <Annotation Term="OData.Description" String="The term can be applied to a property or parameter to specify that IPv6 addressing rules apply to that property or parameter."/>
67      </Term>
68      <Term Name="Copyright" Type="Edm.String">
69        <Annotation Term="OData.Description" String="The term is applied to Redfish payload samples to specify copyright information.  It would not generally be used in production payloads."/>
70      </Term>
71      <Term Name="Deprecated" Type="Edm.String">
72        <Annotation Term="OData.Description" String="The term is applied to a property or value to specify that the property or value is deprecated.  The string value should explain the deprecation, including new property or properties or value to use.  The property or value can be supported in new and existing implementations, but usage in new implementations is discouraged.  Deprecated properties and values are likely to be removed in a future major version of the schema."/>
73      </Term>
74      <Term Name="ActionInfo" Type="Edm.String">
75        <Annotation Term="OData.Description" String="The term can be applied to an action to specify a URI to an `ActionInfo` resource that describes the parameters supported by this instance of the action."/>
76        <Annotation Term="OData.IsURL"/>
77      </Term>
78      <Term Name="DynamicPropertyPatterns" Type="Collection(RedfishExtensions.v1_0_0.PropertyPattern)" Nullable="false"/>
79      <Term Name="SetOnlyOnCreate" Type="Edm.Boolean" DefaultValue="true">
80        <Annotation Term="OData.Description" String="The term specifies that a property can only be set when a client creates an instance of a resource through `POST`."/>
81      </Term>
82      <Term Name="OptionalOnCreate" Type="Edm.Boolean" DefaultValue="true">
83        <Annotation Term="OData.Description" String="The term specifies that a property can be set when a client creates an instance of a resource through `POST`."/>
84      </Term>
85      <Term Name="UpdatableAfterCreate" Type="Edm.Boolean" DefaultValue="true">
86        <Annotation Term="OData.Description" String="The term specifies that a property can be set by a client that uses `PATCH` after it creates an instance of a resource through `POST`."/>
87      </Term>
88      <Term Name="CollectionCapabilities" Type="CollectionCapabilities.CollectionCapabilities">
89        <Annotation Term="OData.Description" String="The link to the resource that represents the `POST` capabilities of a collection."/>
90      </Term>
91      <Term Name="Confidential" Type="Edm.String">
92        <Annotation Term="OData.Description" String="The term specifies that a schema or property is un-released and confidential material that is not meant for public disclosure."/>
93      </Term>
94      <Term Name="Release" Type="Edm.String">
95        <Annotation Term="OData.Description" String="The term specifies the version of the release bundle in which this schema or versioned namespace was first released."/>
96      </Term>
97      <Term Name="ReleaseStatus" Type="RedfishExtensions.v1_0_0.ReleaseStatusType">
98        <Annotation Term="OData.Description" String="The term specifies the public release status of a property or schema."/>
99      </Term>
100      <Term Name="SettingsApplyTime" Type="Settings.PreferredApplyTime">
101        <Annotation Term="OData.Description" String="The configuration settings for when the values in the settings object are applied to a resource."/>
102      </Term>
103      <Term Name="OperationApplyTime" Type="Settings.OperationApplyTime">
104        <Annotation Term="OData.Description" String="The requested apply time from a client when performing a create, delete, or action operation."/>
105      </Term>
106      <Term Name="OperationApplyTimeSupport" Type="Settings.OperationApplyTimeSupport">
107        <Annotation Term="OData.Description" String="An indication of whether a client can request an apply time for a create, delete, or action operation of a resource through the `OperationApplyTime` term."/>
108      </Term>
109      <Term Name="MaintenanceWindow" Type="Settings.MaintenanceWindow">
110        <Annotation Term="OData.Description" String="The maintenance window configuration for a resource for when to apply settings or operations."/>
111      </Term>
112      <Term Name="OwningEntity" Type="Edm.String">
113        <Annotation Term="OData.Description" String="The name of the entity responsible for development, publication, and maintenance of a schema.  Possible values include `DMTF` or `SNIA`, or an OEM label from a Redfish OEM extension section."/>
114      </Term>
115      <Term Name="Uris" Type="Collection(Edm.String)">
116        <Annotation Term="OData.Description" String="The term specifies the URIs that a service can use for the resource."/>
117      </Term>
118      <Term Name="DeprecatedUris" Type="Collection(Edm.String)">
119        <Annotation Term="OData.Description" String="The term specifies the deprecated URIs that a service can use for the resource.  Each URI listed is also specified in the `Uris` term."/>
120      </Term>
121      <Term Name="RequestedCount" Type="Edm.Int64">
122        <Annotation Term="OData.Description" String="The term is used by a client to specify a request for a quantity of items."/>
123      </Term>
124      <Term Name="RequestedCountRequired" Type="Edm.Boolean" DefaultValue="true">
125        <Annotation Term="OData.Description" String="The term specifies that a client is required to provide the `@Redfish.RequestedCount` term as part of the payload to specify a quantity of items."/>
126      </Term>
127      <Term Name="AllowOverprovisioning" Type="Edm.Boolean" DefaultValue="false">
128        <Annotation Term="OData.Description" String="The term specifies that a client allows the service to provide more resources than requested, which includes, but is not limited to, a larger quantity of items, larger capacity, and faster devices."/>
129        <Annotation Term="OData.LongDescription" String="The term shall specify that a client allows the service to provide more resources than requested, which includes, but is not limited to, a larger quantity of items, larger capacity, and faster devices.  If not specified by the client, the service shall treat this as `false`."/>
130      </Term>
131      <Term Name="ZoneAffinity" Type="Edm.String">
132        <Annotation Term="OData.Description" String="The term specifies that a client requests that the service fulfills a request with resources available within a specific zone resource.  The term value is the `Id` property of the zone resource."/>
133        <Annotation Term="OData.LongDescription" String="The term shall specify that a client requests that the service fulfills a request with resources available in a specific zone resource.  The term value shall contain the `Id` property of the zone resource.  This term shall only be at the root level of the request payload."/>
134      </Term>
135      <Term Name="Filter" Type="Edm.String">
136        <Annotation Term="OData.Description" String="The filter to apply to an array of objects when the values are copies of data elsewhere in the data model."/>
137        <Annotation Term="OData.LongDescription" String="The term shall specify a filter to apply to a set of objects used as the data source for an array.  The term value shall follow the Redfish Specification-specified filter query parameter format.  Items that match the filter shall appear in the resulting array, while items that do not match the filter shall be excluded from the results."/>
138      </Term>
139      <Term Name="Excerpt" Type="Edm.String">
140        <Annotation Term="OData.Description" String="The term specifies that the property is an excerpt data element that appears in objects marked as an excerpt copy when the term value matches the excerpt copy term type.  The value contains a property name to use as a key, and the `key` property value, and only one key property can be defined for each resource.  If the term value is unspecified, the property appears in all excerpt copy instances."/>
141      </Term>
142      <Term Name="ExcerptCopy" Type="Edm.String">
143        <Annotation Term="OData.Description" String="The term specifies that the object or property definition is a copy of data from a source elsewhere in the data model, and that only properties marked as excerpt in that linked definition are included.  The term value contains the name of the specific excerpt from the linked definition.  If the term value is not defined, all excerpt properties are copied from the linked definition."/>
144      </Term>
145      <Term Name="ExcerptCopyOnly" Type="Edm.Boolean" DefaultValue="true">
146        <Annotation Term="OData.Description" String="The term specifies that the property is a data element that appears only when the resource definition is used as a copy, using the excerpt copy term, and does not appear in the original data resource."/>
147      </Term>
148      <Term Name="SupportedCertificates" Type="Collection(Certificate.CertificateType)">
149        <Annotation Term="OData.Description" String="The term specifies the supported certificate formats for a given certificate collection."/>
150      </Term>
151      <Term Name="ResourceBlockLimits" Type="ResourceBlock.ResourceBlockLimits">
152        <Annotation Term="OData.Description" String="The term specifies the allowable quantities of types of resource blocks for a composition request."/>
153      </Term>
154      <Term Name="Language" Type="Edm.String" DefaultValue="en">
155        <Annotation Term="OData.Description" String="The term specifies the ISO 639-1 language code (Alpha-2) that matches the language used for the descriptive text in this schema file.  If this term is not present, the default value is English (en)."/>
156      </Term>
157      <Term Name="Translation" Type="Edm.String">
158        <Annotation Term="OData.Description" String="The term specifies a translated language (localized) version of the property name, parameter, or enumeration string.  The language matches the `Redfish.Language` value for this schema."/>
159      </Term>
160      <Term Name="License" Type="Edm.String">
161        <Annotation Term="OData.Description" String="The term specifies licensing information for a Redfish schema or registry."/>
162      </Term>
163      <Term Name="URISegment" Type="Edm.String">
164        <Annotation Term="OData.Description" String="The term specifies the segment appended to the URI of the resource when constructing the URI of a subordinate resource if the segment differs from the property name."/>
165      </Term>
166      <Term Name="IsEmail" Type="Edm.Boolean" DefaultValue="false">
167        <Annotation Term="OData.Description" String="The term specifies that a property is an email address and will match email address formatting when specified."/>
168      </Term>
169
170      <EnumType Name="ReleaseStatusType">
171        <Member Name="Standard">
172          <Annotation Term="OData.Description" String="Released as normative standard or specification."/>
173        </Member>
174        <Member Name="Informational">
175          <Annotation Term="OData.Description" String="Released as an informational, non-normative document."/>
176        </Member>
177        <Member Name="WorkInProgress">
178          <Annotation Term="OData.Description" String="Released as Work In Progress, subject to change perhaps profoundly and without notice."/>
179        </Member>
180        <Member Name="InDevelopment">
181          <Annotation Term="OData.Description" String="Un-released work product currently under development or review."/>
182        </Member>
183      </EnumType>
184
185      <ComplexType Name="PropertyPattern">
186        <Annotation Term="OData.Description" String="The pattern by which property names must adhere."/>
187        <Annotation Term="OData.LongDescription" String="This type shall describe the pattern to which a dynamic property name adheres."/>
188        <Property Name="Pattern" Type="Edm.String">
189          <Annotation Term="OData.Description" String="The pattern that the property name is allowed to match."/>
190          <Annotation Term="OData.LongDescription" String="This shall contain the pattern that the property name is allowed to match."/>
191        </Property>
192        <Property Name="Type" Type="Edm.String">
193          <Annotation Term="OData.Description" String="The data type for any property names matching the pattern."/>
194          <Annotation Term="OData.LongDescription" String="This shall contain the data type for any property names matching the pattern."/>
195        </Property>
196      </ComplexType>
197
198      <Term Name="Revisions" Type="Collection(RedfishExtensions.v1_0_0.RevisionType)" Nullable="false">
199        <Annotation Term="OData.Description" String="The list of revisions of a model element."/>
200      </Term>
201
202      <ComplexType Name="RevisionType">
203        <Annotation Term="OData.Description" String="The structure that contains revision information."/>
204        <Annotation Term="OData.LongDescription" String="This type shall contain revision information."/>
205        <Property Name="Version" Type="Edm.String" Nullable="true">
206          <Annotation Term="OData.Description" String="The schema version with which this revision was first published."/>
207          <Annotation Term="OData.LongDescription" String="This property shall contain the schema version with which this revision was first published."/>
208        </Property>
209        <Property Name="Kind" Type="RedfishExtensions.v1_0_0.RevisionKind" Nullable="false">
210          <Annotation Term="OData.Description" String="The kind of revision."/>
211          <Annotation Term="OData.LongDescription" String="This property shall describe the type of change made."/>
212        </Property>
213        <Property Name="Description" Type="Edm.String">
214          <Annotation Term="OData.Description" String="The reason for the revision."/>
215          <Annotation Term="OData.LongDescription" String="This property shall contain a description of the change."/>
216        </Property>
217      </ComplexType>
218
219      <EnumType Name="RevisionKind">
220        <Member Name="Added">
221          <Annotation Term="OData.Description" String="Model element was added."/>
222        </Member>
223        <Member Name="Modified">
224          <Annotation Term="OData.Description" String="Model element was modified."/>
225        </Member>
226        <Member Name="Deprecated">
227          <Annotation Term="OData.Description" String="Model element was deprecated."/>
228        </Member>
229      </EnumType>
230
231      <Term Name="Enumeration" Type="Collection(RedfishExtensions.v1_0_0.EnumerationMember)" Nullable="false">
232        <Annotation Term="OData.Description" String="The term enumerates the allowable set of legacy, non-standard string values where a standard enumeration cannot be used.  This annotation should not be used for any new values."/>
233      </Term>
234
235      <ComplexType Name="EnumerationMember">
236        <Annotation Term="OData.Description" String="The member of an enumeration that contains spaces, starts with a number, or otherwise does not comply with OData EnumMember naming rules.  Used for compatibility purposes for enumerations that do not comply with OData rules."/>
237        <Annotation Term="OData.LongDescription" String="This type shall describe a member of an enumeration that contains spaces, starts with a number, or otherwise does not comply with OData EnumMember naming rules."/>
238        <Property Name="Member" Type="Edm.String">
239          <Annotation Term="OData.Description" String="An allowable string member."/>
240          <Annotation Term="OData.LongDescription" String="This shall be an allowable string member for the enumeration."/>
241        </Property>
242      </ComplexType>
243    </Schema>
244
245    <!--These terms are used for validating a property value-->
246    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm"  Namespace="Validation.v1_0_0">
247      <Annotation Term="RedfishExtensions.v1_0_0.OwningEntity" String="DMTF"/>
248
249      <Term Name="Pattern" Type="Edm.String">
250        <Annotation Term="OData.Description" String="The pattern that a string property or parameter must match."/>
251        <Annotation Term="OData.LongDescription" String="This term shall contain a regular expression that follows the ECMA 262 syntax."/>
252      </Term>
253      <Term Name="Minimum" Type="Edm.Int64">
254        <Annotation Term="OData.Description" String="The minimum value for an integer property or parameter."/>
255      </Term>
256      <Term Name="Maximum" Type="Edm.Int64">
257        <Annotation Term="OData.Description" String="The maximum value for an integer property or parameter."/>
258      </Term>
259
260    </Schema>
261
262  </edmx:DataServices>
263</edmx:Edmx>
264