xref: /openbmc/bmcweb/redfish-core/schema/dmtf/csdl/Storage_v1.xml (revision c6d7a45d427f9a6d9e761afcf305761dca60d7cf)
1<?xml version="1.0" encoding="UTF-8"?>
2<!---->
3<!--################################################################################                   -->
4<!--# Redfish Schema:  Storage v1.19.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-2025 DMTF in cooperation with the Storage Networking Industry Association (SNIA). -->
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/Chassis_v1.xml">
32    <edmx:Include Namespace="Chassis"/>
33  </edmx:Reference>
34  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Redundancy_v1.xml">
35    <edmx:Include Namespace="Redundancy"/>
36  </edmx:Reference>
37  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Drive_v1.xml">
38    <edmx:Include Namespace="Drive"/>
39  </edmx:Reference>
40  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/swordfish/v1/VolumeCollection_v1.xml">
41    <edmx:Include Namespace="VolumeCollection"/>
42  </edmx:Reference>
43  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Endpoint_v1.xml">
44    <edmx:Include Namespace="Endpoint"/>
45  </edmx:Reference>
46  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Assembly_v1.xml">
47    <edmx:Include Namespace="Assembly"/>
48  </edmx:Reference>
49  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Protocol_v1.xml">
50    <edmx:Include Namespace="Protocol"/>
51  </edmx:Reference>
52  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/PCIeDevice_v1.xml">
53    <edmx:Include Namespace="PCIeDevice"/>
54  </edmx:Reference>
55  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/PCIeFunction_v1.xml">
56    <edmx:Include Namespace="PCIeFunction"/>
57  </edmx:Reference>
58  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/PortCollection_v1.xml">
59    <edmx:Include Namespace="PortCollection"/>
60  </edmx:Reference>
61  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/swordfish/v1/StorageService_v1.xml">
62    <edmx:Include Namespace="StorageService"/>
63  </edmx:Reference>
64  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/swordfish/v1/Volume_v1.xml">
65    <edmx:Include Namespace="Volume"/>
66  </edmx:Reference>
67  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/swordfish/v1/FileSystemCollection_v1.xml">
68    <edmx:Include Namespace="FileSystemCollection"/>
69  </edmx:Reference>
70  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/swordfish/v1/StoragePoolCollection_v1.xml">
71    <edmx:Include Namespace="StoragePoolCollection"/>
72  </edmx:Reference>
73  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/swordfish/v1/StorageGroupCollection_v1.xml">
74    <edmx:Include Namespace="StorageGroupCollection"/>
75  </edmx:Reference>
76  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/EndpointGroupCollection_v1.xml">
77    <edmx:Include Namespace="EndpointGroupCollection"/>
78  </edmx:Reference>
79  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/swordfish/v1/ConsistencyGroupCollection_v1.xml">
80    <edmx:Include Namespace="ConsistencyGroupCollection"/>
81  </edmx:Reference>
82  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/SimpleStorage_v1.xml">
83    <edmx:Include Namespace="SimpleStorage"/>
84  </edmx:Reference>
85  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/StorageControllerCollection_v1.xml">
86    <edmx:Include Namespace="StorageControllerCollection"/>
87  </edmx:Reference>
88  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/CertificateCollection_v1.xml">
89    <edmx:Include Namespace="CertificateCollection"/>
90  </edmx:Reference>
91  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/SoftwareInventory_v1.xml">
92    <edmx:Include Namespace="SoftwareInventory"/>
93  </edmx:Reference>
94  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/ComputerSystem_v1.xml">
95    <edmx:Include Namespace="ComputerSystem"/>
96  </edmx:Reference>
97  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/ConnectionCollection_v1.xml">
98    <edmx:Include Namespace="ConnectionCollection"/>
99  </edmx:Reference>
100  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/StorageMetrics_v1.xml">
101    <edmx:Include Namespace="StorageMetrics"/>
102  </edmx:Reference>
103
104  <edmx:DataServices>
105
106    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage">
107      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
108      <Annotation Term="Redfish.Language" String="en"/>
109
110      <EntityType Name="Storage" BaseType="Resource.v1_0_0.Resource" Abstract="true">
111        <Annotation Term="OData.Description" String="The `Storage` schema defines a storage subsystem and its respective properties.  A storage subsystem represents a set of physical or virtual storage controllers and the resources, such as volumes, that can be accessed from that subsystem."/>
112        <Annotation Term="OData.LongDescription" String="This resource shall represent a storage subsystem in the Redfish Specification."/>
113        <Annotation Term="Capabilities.InsertRestrictions">
114          <Record>
115            <PropertyValue Property="Insertable" Bool="false"/>
116          </Record>
117        </Annotation>
118        <Annotation Term="Capabilities.UpdateRestrictions">
119          <Record>
120            <PropertyValue Property="Updatable" Bool="true"/>
121            <Annotation Term="OData.Description" String="Writable properties, such as `AssetTag`, can be updated for a storage subsystem."/>
122          </Record>
123        </Annotation>
124        <Annotation Term="Capabilities.DeleteRestrictions">
125          <Record>
126            <PropertyValue Property="Deletable" Bool="false"/>
127          </Record>
128        </Annotation>
129        <Annotation Term="Redfish.Uris">
130          <Collection>
131            <String>/redfish/v1/Storage/{StorageId}</String>
132            <String>/redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}</String>
133            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}</String>
134            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}</String>
135            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}</String>
136            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}</String>
137          </Collection>
138        </Annotation>
139      </EntityType>
140
141      <EntityType Name="StorageController" BaseType="Resource.v1_0_0.ReferenceableMember" Abstract="true">
142        <Annotation Term="OData.Description" String="The StorageController schema describes a storage controller and its properties.  A storage controller represents a physical or virtual storage device that produces volumes."/>
143        <Annotation Term="OData.LongDescription" String="This resource shall represent a storage controller in the Redfish Specification."/>
144      </EntityType>
145
146      <Action Name="SetEncryptionKey" IsBound="true">
147        <Annotation Term="OData.Description" String="This action sets the local encryption key for the storage subsystem."/>
148        <Annotation Term="OData.LongDescription" String="This action shall set the local encryption key for the storage subsystem."/>
149        <Parameter Name="Storage" Type="Storage.v1_0_0.Actions"/>
150        <Parameter Name="EncryptionKey" Type="Edm.String" Nullable="false">
151          <Annotation Term="OData.Description" String="The local encryption key to set on the storage subsystem."/>
152          <Annotation Term="OData.LongDescription" String="This parameter shall contain the local encryption key to set on the storage subsystem."/>
153        </Parameter>
154        <Parameter Name="EncryptionKeyIdentifier" Type="Edm.String">
155          <Annotation Term="OData.Description" String="The local encryption key identifier used by the storage subsystem."/>
156          <Annotation Term="OData.LongDescription" String="This property shall contain the local encryption key identifier used by the storage subsystem."/>
157          <Annotation Term="Redfish.Revisions">
158            <Collection>
159              <Record>
160                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
161                <PropertyValue Property="Version" String="v1_14_0"/>
162              </Record>
163            </Collection>
164          </Annotation>
165        </Parameter>
166        <Parameter Name="CurrentEncryptionKey" Type="Edm.String">
167          <Annotation Term="OData.Description" String="The current local encryption key on the storage subsystem.  This parameter is not needed if the controller does not currently have an encryption key."/>
168          <Annotation Term="OData.LongDescription" String="This parameter shall contain the current local encryption key on the storage subsystem.  Services may reject the action request if this parameter is not provided or the value supplied does not match the current encryption key."/>
169          <Annotation Term="Redfish.Revisions">
170            <Collection>
171              <Record>
172                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
173                <PropertyValue Property="Version" String="v1_14_0"/>
174              </Record>
175            </Collection>
176          </Annotation>
177        </Parameter>
178      </Action>
179
180      <Action Name="ResetToDefaults" IsBound="true">
181        <Annotation Term="OData.Description" String="The reset action resets the storage device to factory defaults.  This can cause the loss of data."/>
182        <Annotation Term="OData.LongDescription" String="This action shall reset the storage device.  This action can impact other resources."/>
183        <Parameter Name="Storage" Type="Storage.v1_0_0.Actions"/>
184        <Parameter Name="ResetType" Type="Storage.v1_11_0.ResetToDefaultsType" Nullable="false">
185          <Annotation Term="OData.Description" String="The type of reset to defaults."/>
186          <Annotation Term="OData.LongDescription" String="This parameter shall contain the type of reset to defaults."/>
187        </Parameter>
188        <Annotation Term="Redfish.Revisions">
189          <Collection>
190            <Record>
191              <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
192              <PropertyValue Property="Version" String="v1_11_0"/>
193            </Record>
194          </Collection>
195        </Annotation>
196      </Action>
197
198      <Action Name="RekeyExternalKey" IsBound="true">
199        <Annotation Term="OData.Description" String="This action causes the controllers of the storage subsystem to request new encryption keys managed by an external key service."/>
200        <Annotation Term="OData.LongDescription" String="This action shall cause the controllers of the storage subsystem to request new encryption keys managed by an external key service."/>
201        <Parameter Name="Storage" Type="Storage.v1_0_0.Actions"/>
202        <Annotation Term="Redfish.Revisions">
203          <Collection>
204            <Record>
205              <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
206              <PropertyValue Property="Version" String="v1_16_0"/>
207            </Record>
208          </Collection>
209        </Annotation>
210      </Action>
211
212      <Action Name="SetControllerPassword" IsBound="true">
213        <Annotation Term="OData.Description" String="This action sets the controller boot password for a host-based storage controller."/>
214        <Annotation Term="OData.LongDescription" String="This action shall set the controller boot password for a host-based storage controller."/>
215        <Parameter Name="Storage" Type="Storage.v1_0_0.Actions"/>
216        <Parameter Name="CurrentPassword" Type="Edm.String">
217          <Annotation Term="OData.Description" String="The current controller password.  This parameter is not needed if the controller does not currently have a password."/>
218          <Annotation Term="OData.LongDescription" String="This parameter shall contain the current controller password.  Services may reject the action request if this parameter is not provided or the value supplied does not match the current password."/>
219        </Parameter>
220        <Parameter Name="NewPassword" Type="Edm.String" Nullable="false">
221          <Annotation Term="OData.Description" String="The new password to set for the controller."/>
222          <Annotation Term="OData.LongDescription" String="This parameter shall contain the new password to set for the controller."/>
223        </Parameter>
224        <Parameter Name="SecurityKey" Type="Edm.String">
225          <Annotation Term="OData.Description" String="The security key for the controller.  This parameter is not needed if the controller does not have a security key."/>
226          <Annotation Term="OData.LongDescription" String="This parameter shall contain the controller security key.  Services may reject the action request if this parameter is not provided or the value provided does not match the security key for the controller."/>
227        </Parameter>
228        <Annotation Term="Redfish.Revisions">
229          <Collection>
230            <Record>
231              <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
232              <PropertyValue Property="Version" String="v1_17_0"/>
233            </Record>
234          </Collection>
235        </Annotation>
236      </Action>
237
238      <Action Name="ImportForeignDrives" IsBound="true">
239        <Annotation Term="OData.Description" String="This action imports encrypted foreign drives to a host-based storage controller by supplying encryption access credentials."/>
240        <Annotation Term="OData.LongDescription" String="This action shall import encrypted foreign drives to a host-based storage controller by supplying encryption access credentials.  Upon successful completion, the `EncryptionStatus` property of the affected `Drive` shall change from `Foreign` to `Unlocked`."/>
241        <Parameter Name="Storage" Type="Storage.v1_0_0.Actions"/>
242        <Parameter Name="ControllerPassword" Type="Edm.String">
243          <Annotation Term="OData.Description" String="The current controller password.  This parameter is not required if the controller does not currently have a password."/>
244          <Annotation Term="OData.LongDescription" String="This parameter shall contain the current controller password.  Services may reject the action request if this parameter is not provided or the value supplied does not match the current password."/>
245        </Parameter>
246        <Parameter Name="DriveEncryptionKey" Type="Edm.String" Nullable="false">
247          <Annotation Term="OData.Description" String="The encryption key to unlock the drives."/>
248          <Annotation Term="OData.LongDescription" String="This parameter shall contain the encryption key to unlock the drives."/>
249        </Parameter>
250        <Parameter Name="DriveEncryptionKeyIdentifier" Type="Edm.String">
251          <Annotation Term="OData.Description" String="An encryption key identifier to filter the drives that are imported.  If not provided, the controller attempts to import all foreign drives."/>
252          <Annotation Term="OData.LongDescription" String="This parameter shall contain an encryption key identifier to filter the drives that are imported.  If this parameter is not provided, the service shall not perform filtering of foreign drives."/>
253        </Parameter>
254        <Annotation Term="Redfish.Revisions">
255          <Collection>
256            <Record>
257              <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
258              <PropertyValue Property="Version" String="v1_19_0"/>
259            </Record>
260          </Collection>
261        </Annotation>
262      </Action>
263    </Schema>
264
265    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_0_0">
266      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
267      <Annotation Term="Redfish.Release" String="2016.1"/>
268
269      <EntityType Name="Storage" BaseType="Storage.Storage">
270        <NavigationProperty Name="StorageControllers" Type="Collection(Storage.v1_0_0.StorageController)" ContainsTarget="true">
271          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
272          <Annotation Term="OData.Description" String="The set of storage controllers that this resource represents."/>
273          <Annotation Term="OData.LongDescription" String="This property shall contain a set of the storage controllers that this resource represents."/>
274          <Annotation Term="OData.AutoExpand"/>
275          <Annotation Term="Redfish.Revisions">
276            <Collection>
277              <Record>
278                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Deprecated"/>
279                <PropertyValue Property="Version" String="v1_13_0"/>
280                <PropertyValue Property="Description" String="This property has been deprecated in favor of `Controllers` to allow for storage controllers to be represented as their own resources."/>
281              </Record>
282            </Collection>
283          </Annotation>
284        </NavigationProperty>
285        <NavigationProperty Name="Drives" Type="Collection(Drive.Drive)" ContainsTarget="true">
286          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
287          <Annotation Term="OData.Description" String="The set of drives attached to the storage controllers that this resource represents."/>
288          <Annotation Term="OData.LongDescription" String="This property shall contain a set of the drives attached to the storage controllers that this resource represents."/>
289          <Annotation Term="OData.AutoExpandReferences"/>
290        </NavigationProperty>
291        <NavigationProperty Name="Volumes" Type="VolumeCollection.VolumeCollection" ContainsTarget="true" Nullable="false">
292          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
293          <Annotation Term="OData.Description" String="The set of volumes that the storage controllers produce."/>
294          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource collection of type `VolumeCollection`."/>
295          <Annotation Term="OData.AutoExpandReferences"/>
296        </NavigationProperty>
297        <Property Name="Links" Type="Storage.v1_0_0.Links" Nullable="false">
298          <Annotation Term="OData.Description" String="The links to other resources that are related to this resource."/>
299          <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."/>
300        </Property>
301        <Property Name="Actions" Type="Storage.v1_0_0.Actions" Nullable="false">
302          <Annotation Term="OData.Description" String="The available actions for this resource."/>
303          <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this resource."/>
304        </Property>
305        <Property Name="Status" Type="Resource.Status" Nullable="false">
306          <Annotation Term="OData.Description" String="The status and health of the resource and its subordinate or dependent resources."/>
307          <Annotation Term="OData.LongDescription" String="This property shall contain any status or health properties of the resource."/>
308        </Property>
309        <NavigationProperty Name="Redundancy" Type="Collection(Redundancy.Redundancy)" ContainsTarget="true">
310          <Annotation Term="OData.Description" String="Redundancy information for the storage subsystem."/>
311          <Annotation Term="OData.LongDescription" String="This property shall contain redundancy information for the storage subsystem."/>
312          <Annotation Term="OData.AutoExpand"/>
313        </NavigationProperty>
314      </EntityType>
315
316      <ComplexType Name="Links" BaseType="Resource.Links">
317        <Annotation Term="OData.Description" String="The links to other resources that are related to this resource."/>
318        <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."/>
319        <NavigationProperty Name="Enclosures" Type="Collection(Chassis.Chassis)">
320          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
321          <Annotation Term="OData.Description" String="An array of links to the chassis to which this storage subsystem is attached."/>
322          <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to resources of type `Chassis` that represent the physical containers attached to this resource."/>
323          <Annotation Term="OData.AutoExpandReferences"/>
324        </NavigationProperty>
325      </ComplexType>
326
327      <ComplexType Name="Actions">
328        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
329        <Annotation Term="OData.Description" String="The available actions for this resource."/>
330        <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
331        <Property Name="Oem" Type="Storage.v1_0_0.OemActions" Nullable="false">
332          <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
333          <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific actions for this resource."/>
334        </Property>
335      </ComplexType>
336
337      <ComplexType Name="OemActions">
338        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
339        <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
340        <Annotation Term="OData.LongDescription" String="This type shall contain the available OEM-specific actions for this resource."/>
341      </ComplexType>
342
343      <EntityType Name="StorageController" BaseType="Storage.StorageController">
344        <Property Name="Status" Type="Resource.Status" Nullable="false">
345          <Annotation Term="OData.Description" String="The status and health of the resource and its subordinate or dependent resources."/>
346          <Annotation Term="OData.LongDescription" String="This property shall contain any status or health properties of the resource."/>
347        </Property>
348        <Property Name="SpeedGbps" Type="Edm.Decimal">
349          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
350          <Annotation Term="OData.Description" String="The maximum speed of the storage controller's device interface."/>
351          <Annotation Term="OData.LongDescription" String="This property shall represent the maximum supported speed of the storage bus interface, in Gbit/s.  The specified interface connects the controller to the storage devices, not the controller to a host.  For example, SAS bus not PCIe host bus."/>
352          <Annotation Term="Validation.Minimum" Int="0"/>
353          <Annotation Term="Measures.Unit" String="Gbit/s"/>
354        </Property>
355        <Property Name="FirmwareVersion" Type="Edm.String">
356          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
357          <Annotation Term="OData.Description" String="The firmware version of this storage controller."/>
358          <Annotation Term="OData.LongDescription" String="This property shall contain the firmware version as defined by the manufacturer for the associated storage controller."/>
359        </Property>
360        <Property Name="Manufacturer" Type="Edm.String">
361          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
362          <Annotation Term="OData.Description" String="The manufacturer of this storage controller."/>
363          <Annotation Term="OData.LongDescription" String="This property shall contain the name of the organization responsible for producing the storage controller.  This organization may be the entity from which the storage controller is purchased, but this is not necessarily true."/>
364        </Property>
365        <Property Name="Model" Type="Edm.String">
366          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
367          <Annotation Term="OData.Description" String="The model number for the storage controller."/>
368          <Annotation Term="OData.LongDescription" String="This property shall contain the name by which the manufacturer generally refers to the storage controller."/>
369        </Property>
370        <Property Name="SKU" Type="Edm.String">
371          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
372          <Annotation Term="OData.Description" String="The SKU for this storage controller."/>
373          <Annotation Term="OData.LongDescription" String="This property shall contain the stock-keeping unit number for this storage controller."/>
374        </Property>
375        <Property Name="SerialNumber" Type="Edm.String">
376          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
377          <Annotation Term="OData.Description" String="The serial number for this storage controller."/>
378          <Annotation Term="OData.LongDescription" String="This property shall contain a manufacturer-allocated number that identifies the storage controller."/>
379        </Property>
380        <Property Name="PartNumber" Type="Edm.String">
381          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
382          <Annotation Term="OData.Description" String="The part number for this storage controller."/>
383          <Annotation Term="OData.LongDescription" String="This property shall contain a part number assigned by the organization that is responsible for producing or manufacturing the storage controller."/>
384        </Property>
385        <Property Name="AssetTag" Type="Edm.String">
386          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
387          <Annotation Term="OData.Description" String="The user-assigned asset tag for this storage controller."/>
388          <Annotation Term="OData.LongDescription" String="This property shall track the storage controller for inventory purposes."/>
389        </Property>
390        <Property Name="SupportedControllerProtocols" Type="Collection(Protocol.Protocol)" Nullable="false">
391          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
392          <Annotation Term="OData.Description" String="The supported set of protocols for communicating with this storage controller."/>
393          <Annotation Term="OData.LongDescription" String="This property shall contain the supported set of protocols for communicating with this storage controller."/>
394        </Property>
395        <Property Name="SupportedDeviceProtocols" Type="Collection(Protocol.Protocol)" Nullable="false">
396          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
397          <Annotation Term="OData.Description" String="The protocols that the storage controller can use to communicate with attached devices."/>
398          <Annotation Term="OData.LongDescription" String="This property shall contain the set of protocols this storage controller can use to communicate with attached devices."/>
399        </Property>
400        <Property Name="Identifiers" Type="Collection(Resource.Identifier)" Nullable="false">
401          <Annotation Term="OData.Description" String="The durable names for the storage controller."/>
402          <Annotation Term="OData.LongDescription" String="This property shall contain a list of all known durable names for the associated storage controller."/>
403        </Property>
404      </EntityType>
405    </Schema>
406
407    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_0_1">
408      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
409      <Annotation Term="OData.Description" String="This version was created to show annotations in previous namespaces were updated."/>
410      <EntityType Name="Storage" BaseType="Storage.v1_0_0.Storage"/>
411      <EntityType Name="StorageController" BaseType="Storage.v1_0_0.StorageController"/>
412    </Schema>
413
414    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_0_2">
415      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
416      <Annotation Term="OData.Description" String="This version was created to show annotations in previous namespaces were updated."/>
417      <EntityType Name="Storage" BaseType="Storage.v1_0_1.Storage"/>
418      <EntityType Name="StorageController" BaseType="Storage.v1_0_1.StorageController"/>
419    </Schema>
420
421    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_0_3">
422      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
423      <Annotation Term="OData.Description" String="This version was created to remove the nullable term on arrays of links."/>
424      <EntityType Name="Storage" BaseType="Storage.v1_0_2.Storage"/>
425      <EntityType Name="StorageController" BaseType="Storage.v1_0_2.StorageController"/>
426    </Schema>
427
428    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_0_4">
429      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
430      <Annotation Term="OData.Description" String="This version was created to change `Identifier` to its abstract base type, to add an abstract definition of `StorageController`, and to deprecate the versioned definition of `Protocol` to use an unversioned definition.  It was also created to mark several action parameters as mandatory.  It was also created to correct the short and long descriptions in the defined actions."/>
431      <EntityType Name="Storage" BaseType="Storage.v1_0_3.Storage"/>
432      <EntityType Name="StorageController" BaseType="Storage.v1_0_3.StorageController"/>
433    </Schema>
434
435    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_0_5">
436      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
437      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are marked as required, and integer properties are marked as integer rather than number."/>
438      <EntityType Name="Storage" BaseType="Storage.v1_0_4.Storage"/>
439      <EntityType Name="StorageController" BaseType="Storage.v1_0_4.StorageController"/>
440    </Schema>
441
442    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_0_6">
443      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
444      <Annotation Term="OData.Description" String="This version was created to use the new revisions annotation.  It was also created to change the `VolumeCollection` reference to Swordfish."/>
445      <EntityType Name="Storage" BaseType="Storage.v1_0_5.Storage"/>
446      <EntityType Name="StorageController" BaseType="Storage.v1_0_5.StorageController"/>
447    </Schema>
448
449    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_0_7">
450      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
451      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that URI properties use the uri-reference format."/>
452      <EntityType Name="Storage" BaseType="Storage.v1_0_6.Storage"/>
453      <EntityType Name="StorageController" BaseType="Storage.v1_0_6.StorageController"/>
454    </Schema>
455
456    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_0_8">
457      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
458      <Annotation Term="OData.Description" String="This version was created to update descriptions that this schema defines."/>
459      <EntityType Name="Storage" BaseType="Storage.v1_0_7.Storage"/>
460      <EntityType Name="StorageController" BaseType="Storage.v1_0_7.StorageController"/>
461    </Schema>
462
463    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_0_9">
464      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
465      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
466      <EntityType Name="Storage" BaseType="Storage.v1_0_8.Storage"/>
467      <EntityType Name="StorageController" BaseType="Storage.v1_0_8.StorageController"/>
468    </Schema>
469
470    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_0_10">
471      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
472      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
473      <EntityType Name="Storage" BaseType="Storage.v1_0_9.Storage"/>
474      <EntityType Name="StorageController" BaseType="Storage.v1_0_9.StorageController"/>
475    </Schema>
476
477    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_0_11">
478      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
479      <Annotation Term="OData.Description" String="This version was created to correct various descriptions to use proper normative terminology."/>
480      <EntityType Name="Storage" BaseType="Storage.v1_0_10.Storage"/>
481      <EntityType Name="StorageController" BaseType="Storage.v1_0_10.StorageController"/>
482    </Schema>
483
484    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_0_12">
485      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
486      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
487      <EntityType Name="Storage" BaseType="Storage.v1_0_11.Storage"/>
488      <EntityType Name="StorageController" BaseType="Storage.v1_0_11.StorageController"/>
489    </Schema>
490
491    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_0_13">
492      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
493      <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."/>
494      <EntityType Name="Storage" BaseType="Storage.v1_0_12.Storage"/>
495      <EntityType Name="StorageController" BaseType="Storage.v1_0_12.StorageController"/>
496    </Schema>
497
498    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_0_14">
499      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
500      <Annotation Term="OData.Description" String="This version was created to correct the OpenAPI usage of payload annotations in action request bodies."/>
501      <EntityType Name="Storage" BaseType="Storage.v1_0_13.Storage"/>
502      <EntityType Name="StorageController" BaseType="Storage.v1_0_13.StorageController"/>
503    </Schema>
504
505    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_1_0">
506      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
507      <Annotation Term="Redfish.Release" String="2016.2"/>
508
509      <EntityType Name="Storage" BaseType="Storage.v1_0_1.Storage"/>
510
511      <EntityType Name="StorageController" BaseType="Storage.v1_0_1.StorageController">
512        <Property Name="Links" Type="Storage.v1_1_0.StorageControllerLinks" Nullable="false">
513          <Annotation Term="OData.Description" String="The links to other resources that are related to this resource."/>
514          <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."/>
515        </Property>
516      </EntityType>
517
518      <ComplexType Name="StorageControllerLinks" BaseType="Resource.Links">
519        <Annotation Term="OData.Description" String="The links to other resources that are related to this resource."/>
520        <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."/>
521        <NavigationProperty Name="Endpoints" Type="Collection(Endpoint.Endpoint)">
522          <Annotation Term="OData.Description" String="An array of links to the endpoints that connect to this controller."/>
523          <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to resources of type `Endpoint` with which this controller is associated."/>
524          <Annotation Term="OData.AutoExpandReferences"/>
525        </NavigationProperty>
526      </ComplexType>
527    </Schema>
528
529    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_1_1">
530      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
531      <Annotation Term="OData.Description" String="This version was created to show annotations in previous namespaces were updated."/>
532      <EntityType Name="Storage" BaseType="Storage.v1_1_0.Storage"/>
533      <EntityType Name="StorageController" BaseType="Storage.v1_1_0.StorageController"/>
534    </Schema>
535
536    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_1_2">
537      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
538      <Annotation Term="OData.Description" String="This version was created to remove the nullable term on arrays of links."/>
539      <EntityType Name="Storage" BaseType="Storage.v1_1_1.Storage"/>
540      <EntityType Name="StorageController" BaseType="Storage.v1_1_1.StorageController"/>
541    </Schema>
542
543    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_1_3">
544      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
545      <Annotation Term="OData.Description" String="This version was created to change `Identifier` to its abstract base type, to add an abstract definition of `StorageController`, and to deprecate the versioned definition of `Protocol` to use an unversioned definition.  It was also created to mark several action parameters as mandatory.  It was also created to correct the short and long descriptions in the defined actions."/>
546      <EntityType Name="Storage" BaseType="Storage.v1_1_2.Storage"/>
547      <EntityType Name="StorageController" BaseType="Storage.v1_1_2.StorageController"/>
548    </Schema>
549
550    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_1_4">
551      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
552      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are marked as required, and integer properties are marked as integer rather than number."/>
553      <EntityType Name="Storage" BaseType="Storage.v1_1_3.Storage"/>
554      <EntityType Name="StorageController" BaseType="Storage.v1_1_3.StorageController"/>
555    </Schema>
556
557    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_1_5">
558      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
559      <Annotation Term="OData.Description" String="This version was created to use the new revisions annotation.  It was also created to change the `VolumeCollection` reference to Swordfish."/>
560      <EntityType Name="Storage" BaseType="Storage.v1_1_4.Storage"/>
561      <EntityType Name="StorageController" BaseType="Storage.v1_1_4.StorageController"/>
562    </Schema>
563
564    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_1_6">
565      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
566      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that URI properties use the uri-reference format."/>
567      <EntityType Name="Storage" BaseType="Storage.v1_1_5.Storage"/>
568      <EntityType Name="StorageController" BaseType="Storage.v1_1_5.StorageController"/>
569    </Schema>
570
571    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_1_7">
572      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
573      <Annotation Term="OData.Description" String="This version was created to update descriptions that this schema defines."/>
574      <EntityType Name="Storage" BaseType="Storage.v1_1_6.Storage"/>
575      <EntityType Name="StorageController" BaseType="Storage.v1_1_6.StorageController"/>
576    </Schema>
577
578    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_1_8">
579      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
580      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
581      <EntityType Name="Storage" BaseType="Storage.v1_1_7.Storage"/>
582      <EntityType Name="StorageController" BaseType="Storage.v1_1_7.StorageController"/>
583    </Schema>
584
585    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_1_9">
586      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
587      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
588      <EntityType Name="Storage" BaseType="Storage.v1_1_8.Storage"/>
589      <EntityType Name="StorageController" BaseType="Storage.v1_1_8.StorageController"/>
590    </Schema>
591
592    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_1_10">
593      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
594      <Annotation Term="OData.Description" String="This version was created to correct various descriptions to use proper normative terminology."/>
595      <EntityType Name="Storage" BaseType="Storage.v1_1_9.Storage"/>
596      <EntityType Name="StorageController" BaseType="Storage.v1_1_9.StorageController"/>
597    </Schema>
598
599    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_1_11">
600      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
601      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
602      <EntityType Name="Storage" BaseType="Storage.v1_1_10.Storage"/>
603      <EntityType Name="StorageController" BaseType="Storage.v1_1_10.StorageController"/>
604    </Schema>
605
606    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_1_12">
607      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
608      <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."/>
609      <EntityType Name="Storage" BaseType="Storage.v1_1_11.Storage"/>
610      <EntityType Name="StorageController" BaseType="Storage.v1_1_11.StorageController"/>
611    </Schema>
612
613    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_1_13">
614      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
615      <Annotation Term="OData.Description" String="This version was created to correct the OpenAPI usage of payload annotations in action request bodies."/>
616      <EntityType Name="Storage" BaseType="Storage.v1_1_12.Storage"/>
617      <EntityType Name="StorageController" BaseType="Storage.v1_1_12.StorageController"/>
618    </Schema>
619
620    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_2_0">
621      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
622      <Annotation Term="Redfish.Release" String="2017.1"/>
623
624      <EntityType Name="Storage" BaseType="Storage.v1_1_2.Storage"/>
625
626      <EntityType Name="StorageController" BaseType="Storage.v1_1_2.StorageController">
627        <Property Name="Actions" Type="Storage.v1_2_0.StorageControllerActions" Nullable="false">
628          <Annotation Term="OData.Description" String="The available actions for this resource."/>
629          <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this resource."/>
630        </Property>
631      </EntityType>
632
633      <ComplexType Name="StorageControllerActions">
634        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
635        <Annotation Term="OData.Description" String="The available actions for this resource."/>
636        <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
637        <Property Name="Oem" Type="Storage.v1_2_0.StorageControllerOemActions" Nullable="false">
638          <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
639          <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific actions for this resource."/>
640        </Property>
641      </ComplexType>
642
643      <ComplexType Name="StorageControllerOemActions">
644        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
645        <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
646        <Annotation Term="OData.LongDescription" String="This type shall contain the available OEM-specific actions for this resource."/>
647      </ComplexType>
648    </Schema>
649
650    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_2_1">
651      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
652      <Annotation Term="OData.Description" String="This version was created to change `Identifier` to its abstract base type, to add an abstract definition of `StorageController`, and to deprecate the versioned definition of `Protocol` to use an unversioned definition.  It was also created to mark several action parameters as mandatory.  It was also created to correct the short and long descriptions in the defined actions."/>
653      <EntityType Name="Storage" BaseType="Storage.v1_2_0.Storage"/>
654      <EntityType Name="StorageController" BaseType="Storage.v1_2_0.StorageController"/>
655    </Schema>
656
657    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_2_2">
658      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
659      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are marked as required, and integer properties are marked as integer rather than number."/>
660      <EntityType Name="Storage" BaseType="Storage.v1_2_1.Storage"/>
661      <EntityType Name="StorageController" BaseType="Storage.v1_2_1.StorageController"/>
662    </Schema>
663
664    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_2_3">
665      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
666      <Annotation Term="OData.Description" String="This version was created to use the new revisions annotation.  It was also created to change the `VolumeCollection` reference to Swordfish."/>
667      <EntityType Name="Storage" BaseType="Storage.v1_2_2.Storage"/>
668      <EntityType Name="StorageController" BaseType="Storage.v1_2_2.StorageController"/>
669    </Schema>
670
671    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_2_4">
672      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
673      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that URI properties use the uri-reference format."/>
674      <EntityType Name="Storage" BaseType="Storage.v1_2_3.Storage"/>
675      <EntityType Name="StorageController" BaseType="Storage.v1_2_3.StorageController"/>
676    </Schema>
677
678    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_2_5">
679      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
680      <Annotation Term="OData.Description" String="This version was created to update descriptions that this schema defines."/>
681      <EntityType Name="Storage" BaseType="Storage.v1_2_4.Storage"/>
682      <EntityType Name="StorageController" BaseType="Storage.v1_2_4.StorageController"/>
683    </Schema>
684
685    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_2_6">
686      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
687      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
688      <EntityType Name="Storage" BaseType="Storage.v1_2_5.Storage"/>
689      <EntityType Name="StorageController" BaseType="Storage.v1_2_5.StorageController"/>
690    </Schema>
691
692    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_2_7">
693      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
694      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
695      <EntityType Name="Storage" BaseType="Storage.v1_2_6.Storage"/>
696      <EntityType Name="StorageController" BaseType="Storage.v1_2_6.StorageController"/>
697    </Schema>
698
699    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_2_8">
700      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
701      <Annotation Term="OData.Description" String="This version was created to correct various descriptions to use proper normative terminology."/>
702      <EntityType Name="Storage" BaseType="Storage.v1_2_7.Storage"/>
703      <EntityType Name="StorageController" BaseType="Storage.v1_2_7.StorageController"/>
704    </Schema>
705
706    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_2_9">
707      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
708      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
709      <EntityType Name="Storage" BaseType="Storage.v1_2_8.Storage"/>
710      <EntityType Name="StorageController" BaseType="Storage.v1_2_8.StorageController"/>
711    </Schema>
712
713    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_2_10">
714      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
715      <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."/>
716      <EntityType Name="Storage" BaseType="Storage.v1_2_9.Storage"/>
717      <EntityType Name="StorageController" BaseType="Storage.v1_2_9.StorageController"/>
718    </Schema>
719
720    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_2_11">
721      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
722      <Annotation Term="OData.Description" String="This version was created to correct the OpenAPI usage of payload annotations in action request bodies."/>
723      <EntityType Name="Storage" BaseType="Storage.v1_2_10.Storage"/>
724      <EntityType Name="StorageController" BaseType="Storage.v1_2_10.StorageController"/>
725    </Schema>
726
727    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_3_0">
728      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
729      <Annotation Term="Redfish.Release" String="2017.2"/>
730
731      <EntityType Name="Storage" BaseType="Storage.v1_2_0.Storage"/>
732
733      <EntityType Name="StorageController" BaseType="Storage.v1_2_0.StorageController">
734        <Property Name="Name" Type="Edm.String">
735          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
736          <Annotation Term="OData.Description" String="The name of the storage controller."/>
737          <Annotation Term="OData.LongDescription" String="This property shall contain the name of the storage controller."/>
738        </Property>
739      </EntityType>
740    </Schema>
741
742    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_3_1">
743      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
744      <Annotation Term="OData.Description" String="This version was created to move `Protocols` to its own schema file.  It was also created to mark several action parameters as mandatory.  It was also created to correct the short and long descriptions in the defined actions."/>
745      <EntityType Name="Storage" BaseType="Storage.v1_3_0.Storage"/>
746      <EntityType Name="StorageController" BaseType="Storage.v1_3_0.StorageController"/>
747    </Schema>
748
749    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_3_2">
750      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
751      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are marked as required, and integer properties are marked as integer rather than number."/>
752      <EntityType Name="Storage" BaseType="Storage.v1_3_1.Storage"/>
753      <EntityType Name="StorageController" BaseType="Storage.v1_3_1.StorageController"/>
754    </Schema>
755
756    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_3_3">
757      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
758      <Annotation Term="OData.Description" String="This version was created to use the new revisions annotation.  It was also created to change the `VolumeCollection` reference to Swordfish."/>
759      <EntityType Name="Storage" BaseType="Storage.v1_3_2.Storage"/>
760      <EntityType Name="StorageController" BaseType="Storage.v1_3_2.StorageController"/>
761    </Schema>
762
763    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_3_4">
764      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
765      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that URI properties use the uri-reference format."/>
766      <EntityType Name="Storage" BaseType="Storage.v1_3_3.Storage"/>
767      <EntityType Name="StorageController" BaseType="Storage.v1_3_3.StorageController"/>
768    </Schema>
769
770    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_3_5">
771      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
772      <Annotation Term="OData.Description" String="This version was created to update descriptions that this schema defines."/>
773      <EntityType Name="Storage" BaseType="Storage.v1_3_4.Storage"/>
774      <EntityType Name="StorageController" BaseType="Storage.v1_3_4.StorageController"/>
775    </Schema>
776
777    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_3_6">
778      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
779      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
780      <EntityType Name="Storage" BaseType="Storage.v1_3_5.Storage"/>
781      <EntityType Name="StorageController" BaseType="Storage.v1_3_5.StorageController"/>
782    </Schema>
783
784    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_3_7">
785      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
786      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
787      <EntityType Name="Storage" BaseType="Storage.v1_3_6.Storage"/>
788      <EntityType Name="StorageController" BaseType="Storage.v1_3_6.StorageController"/>
789    </Schema>
790
791    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_3_8">
792      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
793      <Annotation Term="OData.Description" String="This version was created to correct various descriptions to use proper normative terminology."/>
794      <EntityType Name="Storage" BaseType="Storage.v1_3_7.Storage"/>
795      <EntityType Name="StorageController" BaseType="Storage.v1_3_7.StorageController"/>
796    </Schema>
797
798    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_3_9">
799      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
800      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
801      <EntityType Name="Storage" BaseType="Storage.v1_3_8.Storage"/>
802      <EntityType Name="StorageController" BaseType="Storage.v1_3_8.StorageController"/>
803    </Schema>
804
805    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_3_10">
806      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
807      <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."/>
808      <EntityType Name="Storage" BaseType="Storage.v1_3_9.Storage"/>
809      <EntityType Name="StorageController" BaseType="Storage.v1_3_9.StorageController"/>
810    </Schema>
811
812    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_3_11">
813      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
814      <Annotation Term="OData.Description" String="This version was created to correct the OpenAPI usage of payload annotations in action request bodies."/>
815      <EntityType Name="Storage" BaseType="Storage.v1_3_10.Storage"/>
816      <EntityType Name="StorageController" BaseType="Storage.v1_3_10.StorageController"/>
817    </Schema>
818
819    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_4_0">
820      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
821      <Annotation Term="Redfish.Release" String="2017.3"/>
822
823      <EntityType Name="Storage" BaseType="Storage.v1_3_1.Storage"/>
824
825      <EntityType Name="StorageController" BaseType="Storage.v1_3_1.StorageController">
826        <Property Name="Location" Type="Resource.Location" Nullable="false">
827          <Annotation Term="OData.Description" String="The location of the storage controller."/>
828          <Annotation Term="OData.LongDescription" String="This property shall contain the location information of the associated storage controller."/>
829        </Property>
830        <NavigationProperty Name="Assembly" Type="Assembly.Assembly" ContainsTarget="true" Nullable="false">
831          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
832          <Annotation Term="OData.Description" String="The link to the assembly associated with this storage controller."/>
833          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource of type `Assembly`."/>
834          <Annotation Term="OData.AutoExpandReferences"/>
835        </NavigationProperty>
836      </EntityType>
837
838      <ComplexType Name="StorageControllerLinks" BaseType="Storage.v1_1_0.StorageControllerLinks">
839        <NavigationProperty Name="StorageServices" Type="Collection(StorageService.StorageService)">
840          <Annotation Term="OData.Description" String="An array of links to the storage services that connect to this controller."/>
841          <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to resources of type `StorageService` with which this controller is associated."/>
842          <Annotation Term="OData.AutoExpandReferences"/>
843          <Annotation Term="Redfish.Revisions">
844            <Collection>
845              <Record>
846                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Deprecated"/>
847                <PropertyValue Property="Version" String="v1_9_0"/>
848                <PropertyValue Property="Description" String="This property has been deprecated in favor of `StorageServices` within the `Links` property at the root level."/>
849              </Record>
850            </Collection>
851          </Annotation>
852        </NavigationProperty>
853      </ComplexType>
854    </Schema>
855
856    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_4_1">
857      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
858      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are marked as required, and integer properties are marked as integer rather than number."/>
859      <EntityType Name="Storage" BaseType="Storage.v1_4_0.Storage"/>
860      <EntityType Name="StorageController" BaseType="Storage.v1_4_0.StorageController"/>
861    </Schema>
862
863    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_4_2">
864      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
865      <Annotation Term="OData.Description" String="This version was created to use the new revisions annotation.  It was also created to change the `VolumeCollection` reference to Swordfish."/>
866      <EntityType Name="Storage" BaseType="Storage.v1_4_1.Storage"/>
867      <EntityType Name="StorageController" BaseType="Storage.v1_4_1.StorageController"/>
868    </Schema>
869
870    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_4_3">
871      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
872      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that URI properties use the uri-reference format."/>
873      <EntityType Name="Storage" BaseType="Storage.v1_4_2.Storage"/>
874      <EntityType Name="StorageController" BaseType="Storage.v1_4_2.StorageController"/>
875    </Schema>
876
877    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_4_4">
878      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
879      <Annotation Term="OData.Description" String="This version was created to update descriptions that this schema defines."/>
880      <EntityType Name="Storage" BaseType="Storage.v1_4_3.Storage"/>
881      <EntityType Name="StorageController" BaseType="Storage.v1_4_3.StorageController"/>
882    </Schema>
883
884    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_4_5">
885      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
886      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
887      <EntityType Name="Storage" BaseType="Storage.v1_4_4.Storage"/>
888      <EntityType Name="StorageController" BaseType="Storage.v1_4_4.StorageController"/>
889    </Schema>
890
891    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_4_6">
892      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
893      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
894      <EntityType Name="Storage" BaseType="Storage.v1_4_5.Storage"/>
895      <EntityType Name="StorageController" BaseType="Storage.v1_4_5.StorageController"/>
896    </Schema>
897
898    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_4_8">
899      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
900      <Annotation Term="OData.Description" String="This version was created to correct various descriptions to use proper normative terminology."/>
901      <EntityType Name="Storage" BaseType="Storage.v1_4_6.Storage"/>
902      <EntityType Name="StorageController" BaseType="Storage.v1_4_6.StorageController"/>
903    </Schema>
904
905    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_4_9">
906      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
907      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
908      <EntityType Name="Storage" BaseType="Storage.v1_4_8.Storage"/>
909      <EntityType Name="StorageController" BaseType="Storage.v1_4_8.StorageController"/>
910    </Schema>
911
912    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_4_10">
913      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
914      <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."/>
915      <EntityType Name="Storage" BaseType="Storage.v1_4_9.Storage"/>
916      <EntityType Name="StorageController" BaseType="Storage.v1_4_9.StorageController"/>
917    </Schema>
918
919    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_4_11">
920      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
921      <Annotation Term="OData.Description" String="This version was created to correct the OpenAPI usage of payload annotations in action request bodies."/>
922      <EntityType Name="Storage" BaseType="Storage.v1_4_10.Storage"/>
923      <EntityType Name="StorageController" BaseType="Storage.v1_4_10.StorageController"/>
924    </Schema>
925
926    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_5_0">
927      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
928      <Annotation Term="Redfish.Release" String="2018.2"/>
929
930      <EntityType Name="Storage" BaseType="Storage.v1_4_1.Storage"/>
931
932      <EntityType Name="StorageController" BaseType="Storage.v1_4_1.StorageController">
933        <Property Name="CacheSummary" Type="Storage.v1_5_0.CacheSummary" Nullable="false">
934          <Annotation Term="OData.Description" String="The cache memory of the storage controller in general detail."/>
935          <Annotation Term="OData.LongDescription" String="This property shall contain properties that describe the cache memory for this resource."/>
936        </Property>
937        <Property Name="PCIeInterface" Type="PCIeDevice.PCIeInterface" Nullable="false">
938          <Annotation Term="OData.Description" String="The PCIe interface details for this controller."/>
939          <Annotation Term="OData.LongDescription" String="This property shall contain details on the PCIe interface that connects this PCIe-based controller to its host."/>
940        </Property>
941      </EntityType>
942
943      <ComplexType Name="CacheSummary">
944        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
945        <Annotation Term="OData.Description" String="This type describes the cache memory of the storage controller in general detail."/>
946        <Annotation Term="OData.LongDescription" String="This type shall contain properties that describe the cache memory for a storage controller."/>
947        <Property Name="TotalCacheSizeMiB" Type="Edm.Int64">
948          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
949          <Annotation Term="OData.Description" String="The total configured cache memory, measured in MiB."/>
950          <Annotation Term="OData.LongDescription" String="This property shall contain the amount of configured cache memory as measured in mebibytes."/>
951          <Annotation Term="Validation.Minimum" Int="0"/>
952          <Annotation Term="Measures.Unit" String="MiBy"/>
953          <Annotation Term="Redfish.Required"/>
954        </Property>
955        <Property Name="PersistentCacheSizeMiB" Type="Edm.Int64">
956          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
957          <Annotation Term="OData.Description" String="The portion of the cache memory that is persistent, measured in MiB."/>
958          <Annotation Term="OData.LongDescription" String="This property shall contain the amount of cache memory that is persistent as measured in mebibytes.  This size shall be less than or equal to the `TotalCacheSizeMiB`."/>
959          <Annotation Term="Validation.Minimum" Int="0"/>
960          <Annotation Term="Measures.Unit" String="MiBy"/>
961        </Property>
962        <Property Name="Status" Type="Resource.Status" Nullable="false">
963          <Annotation Term="OData.Description" String="The status and health of the resource and its subordinate or dependent resources."/>
964          <Annotation Term="OData.LongDescription" String="This property shall contain any status or health properties of the resource."/>
965        </Property>
966      </ComplexType>
967    </Schema>
968
969    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_5_1">
970      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
971      <Annotation Term="OData.Description" String="This version was created to use the new revisions annotation.  It was also created to change the `VolumeCollection` reference to Swordfish."/>
972      <EntityType Name="Storage" BaseType="Storage.v1_5_0.Storage"/>
973      <EntityType Name="StorageController" BaseType="Storage.v1_5_0.StorageController"/>
974    </Schema>
975
976    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_5_2">
977      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
978      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that URI properties use the uri-reference format.  It was also created to add a missing term on `PCIeInterface` to not allow it to be `null`."/>
979      <EntityType Name="Storage" BaseType="Storage.v1_5_1.Storage"/>
980      <EntityType Name="StorageController" BaseType="Storage.v1_5_1.StorageController"/>
981    </Schema>
982
983    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_5_3">
984      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
985      <Annotation Term="OData.Description" String="This version was created to update descriptions that this schema defines."/>
986      <EntityType Name="Storage" BaseType="Storage.v1_5_2.Storage"/>
987      <EntityType Name="StorageController" BaseType="Storage.v1_5_2.StorageController"/>
988    </Schema>
989
990    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_5_4">
991      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
992      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
993      <EntityType Name="Storage" BaseType="Storage.v1_5_3.Storage"/>
994      <EntityType Name="StorageController" BaseType="Storage.v1_5_3.StorageController"/>
995    </Schema>
996
997    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_5_5">
998      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
999      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
1000      <EntityType Name="Storage" BaseType="Storage.v1_5_4.Storage"/>
1001      <EntityType Name="StorageController" BaseType="Storage.v1_5_4.StorageController"/>
1002    </Schema>
1003
1004    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_5_6">
1005      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1006      <Annotation Term="OData.Description" String="This version was created to correct various descriptions to use proper normative terminology."/>
1007      <EntityType Name="Storage" BaseType="Storage.v1_5_5.Storage"/>
1008      <EntityType Name="StorageController" BaseType="Storage.v1_5_5.StorageController"/>
1009    </Schema>
1010
1011    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_5_7">
1012      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1013      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
1014      <EntityType Name="Storage" BaseType="Storage.v1_5_6.Storage"/>
1015      <EntityType Name="StorageController" BaseType="Storage.v1_5_6.StorageController"/>
1016    </Schema>
1017
1018    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_5_8">
1019      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1020      <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."/>
1021      <EntityType Name="Storage" BaseType="Storage.v1_5_7.Storage"/>
1022      <EntityType Name="StorageController" BaseType="Storage.v1_5_7.StorageController"/>
1023    </Schema>
1024
1025    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_5_9">
1026      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1027      <Annotation Term="OData.Description" String="This version was created to correct the OpenAPI usage of payload annotations in action request bodies."/>
1028      <EntityType Name="Storage" BaseType="Storage.v1_5_8.Storage"/>
1029      <EntityType Name="StorageController" BaseType="Storage.v1_5_8.StorageController"/>
1030    </Schema>
1031
1032    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_6_0">
1033      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1034      <Annotation Term="Redfish.Release" String="2018.3"/>
1035
1036      <EntityType Name="Storage" BaseType="Storage.v1_5_1.Storage"/>
1037
1038      <EntityType Name="StorageController" BaseType="Storage.v1_5_1.StorageController">
1039        <Property Name="SupportedRAIDTypes" Type="Collection(Volume.RAIDType)">
1040          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1041          <Annotation Term="OData.Description" String="The set of RAID types supported by the storage controller."/>
1042          <Annotation Term="OData.LongDescription" String="This property shall contain an array of all the RAID types supported by this controller."/>
1043        </Property>
1044      </EntityType>
1045    </Schema>
1046
1047    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_6_1">
1048      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1049      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that URI properties use the uri-reference format.  It was also created to add a missing term on `PCIeInterface` to not allow it to be `null`."/>
1050      <EntityType Name="Storage" BaseType="Storage.v1_6_0.Storage"/>
1051      <EntityType Name="StorageController" BaseType="Storage.v1_6_0.StorageController"/>
1052    </Schema>
1053
1054    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_6_2">
1055      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1056      <Annotation Term="OData.Description" String="This version was created to update descriptions that this schema defines."/>
1057      <EntityType Name="Storage" BaseType="Storage.v1_6_1.Storage"/>
1058      <EntityType Name="StorageController" BaseType="Storage.v1_6_1.StorageController"/>
1059    </Schema>
1060
1061    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_6_3">
1062      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1063      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
1064      <EntityType Name="Storage" BaseType="Storage.v1_6_2.Storage"/>
1065      <EntityType Name="StorageController" BaseType="Storage.v1_6_2.StorageController"/>
1066    </Schema>
1067
1068    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_6_4">
1069      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1070      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
1071      <EntityType Name="Storage" BaseType="Storage.v1_6_3.Storage"/>
1072      <EntityType Name="StorageController" BaseType="Storage.v1_6_3.StorageController"/>
1073    </Schema>
1074
1075    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_6_5">
1076      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1077      <Annotation Term="OData.Description" String="This version was created to correct various descriptions to use proper normative terminology."/>
1078      <EntityType Name="Storage" BaseType="Storage.v1_6_4.Storage"/>
1079      <EntityType Name="StorageController" BaseType="Storage.v1_6_4.StorageController"/>
1080    </Schema>
1081
1082    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_6_6">
1083      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1084      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
1085      <EntityType Name="Storage" BaseType="Storage.v1_6_5.Storage"/>
1086      <EntityType Name="StorageController" BaseType="Storage.v1_6_5.StorageController"/>
1087    </Schema>
1088
1089    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_6_7">
1090      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1091      <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."/>
1092      <EntityType Name="Storage" BaseType="Storage.v1_6_6.Storage"/>
1093      <EntityType Name="StorageController" BaseType="Storage.v1_6_6.StorageController"/>
1094    </Schema>
1095
1096    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_6_8">
1097      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1098      <Annotation Term="OData.Description" String="This version was created to correct the OpenAPI usage of payload annotations in action request bodies."/>
1099      <EntityType Name="Storage" BaseType="Storage.v1_6_7.Storage"/>
1100      <EntityType Name="StorageController" BaseType="Storage.v1_6_7.StorageController"/>
1101    </Schema>
1102
1103    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_7_0">
1104      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1105      <Annotation Term="Redfish.Release" String="2019.1"/>
1106
1107      <EntityType Name="Storage" BaseType="Storage.v1_6_1.Storage"/>
1108
1109      <EntityType Name="StorageController" BaseType="Storage.v1_6_1.StorageController">
1110        <NavigationProperty Name="Ports" Type="PortCollection.PortCollection" ContainsTarget="true" Nullable="false">
1111          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1112          <Annotation Term="OData.Description" String="The link to the collection of ports that exist on the storage controller."/>
1113          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource collection of type `PortCollection`."/>
1114        </NavigationProperty>
1115        <Property Name="ControllerRates" Type="Storage.v1_7_0.Rates" Nullable="false">
1116          <Annotation Term="OData.Description" String="This property describes the various controller rates used for processes such as volume rebuild or consistency checks."/>
1117          <Annotation Term="OData.LongDescription" String="This object shall contain all the rate settings available on the controller."/>
1118        </Property>
1119      </EntityType>
1120
1121      <ComplexType Name="Rates">
1122        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
1123        <Annotation Term="OData.Description" String="This type describes the various controller rates used for processes such as volume rebuild or consistency checks."/>
1124        <Annotation Term="OData.LongDescription" String="This type shall contain all the rate settings available on the controller."/>
1125        <Property Name="RebuildRatePercent" Type="Edm.Int64">
1126          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
1127          <Annotation Term="OData.Description" String="The percentage of controller resources used for rebuilding/repairing volumes."/>
1128          <Annotation Term="OData.LongDescription" String="This property shall contain the percentage of controller resources used for rebuilding volumes."/>
1129          <Annotation Term="Validation.Minimum" Int="0"/>
1130          <Annotation Term="Validation.Maximum" Int="100"/>
1131        </Property>
1132        <Property Name="TransformationRatePercent" Type="Edm.Int64">
1133          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
1134          <Annotation Term="OData.Description" String="The percentage of controller resources used for transforming volumes from one configuration to another."/>
1135          <Annotation Term="OData.LongDescription" String="This property shall contain the percentage of controller resources used for transforming volumes."/>
1136          <Annotation Term="Validation.Minimum" Int="0"/>
1137          <Annotation Term="Validation.Maximum" Int="100"/>
1138        </Property>
1139        <Property Name="ConsistencyCheckRatePercent" Type="Edm.Int64">
1140          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
1141          <Annotation Term="OData.Description" String="The percentage of controller resources used for performing a data consistency check on volumes."/>
1142          <Annotation Term="OData.LongDescription" String="This property shall contain the percentage of controller resources used for checking data consistency on volumes."/>
1143          <Annotation Term="Validation.Minimum" Int="0"/>
1144          <Annotation Term="Validation.Maximum" Int="100"/>
1145        </Property>
1146      </ComplexType>
1147
1148      <ComplexType Name="StorageControllerLinks" BaseType="Storage.v1_4_0.StorageControllerLinks">
1149        <NavigationProperty Name="PCIeFunctions" Type="Collection(PCIeFunction.PCIeFunction)">
1150          <Annotation Term="OData.Description" String="An array of links to the PCIe functions that the storage controller produces."/>
1151          <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to resources of type `PCIeFunction` that represent the PCIe functions associated with this resource."/>
1152          <Annotation Term="OData.AutoExpandReferences"/>
1153        </NavigationProperty>
1154      </ComplexType>
1155    </Schema>
1156
1157    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_7_1">
1158      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1159      <Annotation Term="OData.Description" String="This version was created to update descriptions that this schema defines."/>
1160      <EntityType Name="Storage" BaseType="Storage.v1_7_0.Storage"/>
1161      <EntityType Name="StorageController" BaseType="Storage.v1_7_0.StorageController"/>
1162    </Schema>
1163
1164    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_7_2">
1165      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1166      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
1167      <EntityType Name="Storage" BaseType="Storage.v1_7_1.Storage"/>
1168      <EntityType Name="StorageController" BaseType="Storage.v1_7_1.StorageController"/>
1169    </Schema>
1170
1171    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_7_3">
1172      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1173      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
1174      <EntityType Name="Storage" BaseType="Storage.v1_7_2.Storage"/>
1175      <EntityType Name="StorageController" BaseType="Storage.v1_7_2.StorageController"/>
1176    </Schema>
1177
1178    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_7_4">
1179      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1180      <Annotation Term="OData.Description" String="This version was created to correct various descriptions to use proper normative terminology."/>
1181      <EntityType Name="Storage" BaseType="Storage.v1_7_3.Storage"/>
1182      <EntityType Name="StorageController" BaseType="Storage.v1_7_3.StorageController"/>
1183    </Schema>
1184
1185    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_7_5">
1186      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1187      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
1188      <EntityType Name="Storage" BaseType="Storage.v1_7_4.Storage"/>
1189      <EntityType Name="StorageController" BaseType="Storage.v1_7_4.StorageController"/>
1190    </Schema>
1191
1192    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_7_6">
1193      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1194      <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."/>
1195      <EntityType Name="Storage" BaseType="Storage.v1_7_5.Storage"/>
1196      <EntityType Name="StorageController" BaseType="Storage.v1_7_5.StorageController"/>
1197    </Schema>
1198
1199    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_7_7">
1200      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1201      <Annotation Term="OData.Description" String="This version was created to correct the OpenAPI usage of payload annotations in action request bodies."/>
1202      <EntityType Name="Storage" BaseType="Storage.v1_7_6.Storage"/>
1203      <EntityType Name="StorageController" BaseType="Storage.v1_7_6.StorageController"/>
1204    </Schema>
1205
1206    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_8_0">
1207      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1208      <Annotation Term="Redfish.Release" String="2019.3"/>
1209
1210      <EntityType Name="Storage" BaseType="Storage.v1_7_1.Storage">
1211        <NavigationProperty Name="FileSystems" Type="FileSystemCollection.FileSystemCollection" Nullable="false" ContainsTarget="true">
1212          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1213          <Annotation Term="OData.Description" String="All file systems that are allocated by this storage subsystem."/>
1214          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource collection of type `FileSystemCollection`.  This property shall be used when file systems are shared or exported by the storage subsystem."/>
1215          <Annotation Term="OData.AutoExpandReferences"/>
1216        </NavigationProperty>
1217        <NavigationProperty Name="StoragePools" Type="StoragePoolCollection.StoragePoolCollection" Nullable="false" ContainsTarget="true">
1218          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1219          <Annotation Term="OData.Description" String="The set of all storage pools that are allocated by this storage subsystem.  A storage pool is the set of storage capacity that can be used to produce volumes or other storage pools."/>
1220          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource collection of type `StoragePoolCollection`.  This property shall be used when an abstraction of media, rather than references to individual media, are used as the storage data source."/>
1221          <Annotation Term="OData.AutoExpandReferences"/>
1222        </NavigationProperty>
1223        <NavigationProperty Name="StorageGroups" Type="StorageGroupCollection.StorageGroupCollection" ContainsTarget="true" Nullable="false">
1224          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1225          <Annotation Term="OData.Description" String="All of the storage groups, each of which contains a set of volumes and endpoints that are managed as a group for mapping and masking, that belong to this storage subsystem."/>
1226          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource collection of type `StorageGroupsCollection`.  This property shall be used when implementing mapping and masking."/>
1227          <Annotation Term="OData.AutoExpandReferences"/>
1228          <Annotation Term="Redfish.Revisions">
1229            <Collection>
1230              <Record>
1231                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Deprecated"/>
1232                <PropertyValue Property="Version" String="v1_15_0"/>
1233                <PropertyValue Property="Description" String="This property was deprecated in favor of the `Connections` property."/>
1234              </Record>
1235            </Collection>
1236          </Annotation>
1237        </NavigationProperty>
1238        <NavigationProperty Name="EndpointGroups" Type="EndpointGroupCollection.EndpointGroupCollection" Nullable="false" ContainsTarget="true">
1239          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1240          <Annotation Term="OData.Description" String="All of the endpoint groups, each of which contains a set of endpoints that are used for a common purpose such as an ACL or logical identification, that belong to this storage subsystem."/>
1241          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource collection of type `EndpointGroupCollection`.  This property shall be implemented when atomic control is needed to perform mapping, masking, and zoning operations."/>
1242          <Annotation Term="OData.AutoExpandReferences"/>
1243        </NavigationProperty>
1244        <NavigationProperty Name="ConsistencyGroups" Type="ConsistencyGroupCollection.ConsistencyGroupCollection" ContainsTarget="true" Nullable="false">
1245          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1246          <Annotation Term="OData.Description" String="The consistency groups, each of which contains a set of volumes that are treated by an application or set of applications as a single resource, that are managed by this storage subsystem."/>
1247          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource collection of type `ConsistencyGroupCollection`.  The property shall be used when groups of volumes are treated as a single resource by an application or set of applications."/>
1248          <Annotation Term="OData.AutoExpandReferences"/>
1249        </NavigationProperty>
1250      </EntityType>
1251
1252      <EntityType Name="StorageController" BaseType="Storage.v1_7_1.StorageController"/>
1253    </Schema>
1254
1255    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_8_1">
1256      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1257      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
1258      <EntityType Name="Storage" BaseType="Storage.v1_8_0.Storage"/>
1259      <EntityType Name="StorageController" BaseType="Storage.v1_8_0.StorageController"/>
1260    </Schema>
1261
1262    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_8_2">
1263      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1264      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
1265      <EntityType Name="Storage" BaseType="Storage.v1_8_1.Storage"/>
1266      <EntityType Name="StorageController" BaseType="Storage.v1_8_1.StorageController"/>
1267    </Schema>
1268
1269    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_8_3">
1270      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1271      <Annotation Term="OData.Description" String="This version was created to correct various descriptions to use proper normative terminology."/>
1272      <EntityType Name="Storage" BaseType="Storage.v1_8_2.Storage"/>
1273      <EntityType Name="StorageController" BaseType="Storage.v1_8_2.StorageController"/>
1274    </Schema>
1275
1276    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_8_4">
1277      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1278      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
1279      <EntityType Name="Storage" BaseType="Storage.v1_8_3.Storage"/>
1280      <EntityType Name="StorageController" BaseType="Storage.v1_8_3.StorageController"/>
1281    </Schema>
1282
1283    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_8_5">
1284      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1285      <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."/>
1286      <EntityType Name="Storage" BaseType="Storage.v1_8_4.Storage"/>
1287      <EntityType Name="StorageController" BaseType="Storage.v1_8_4.StorageController"/>
1288    </Schema>
1289
1290    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_8_6">
1291      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1292      <Annotation Term="OData.Description" String="This version was created to correct the OpenAPI usage of payload annotations in action request bodies."/>
1293      <EntityType Name="Storage" BaseType="Storage.v1_8_5.Storage"/>
1294      <EntityType Name="StorageController" BaseType="Storage.v1_8_5.StorageController"/>
1295    </Schema>
1296
1297    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_9_0">
1298      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1299      <Annotation Term="Redfish.Release" String="2020.3"/>
1300
1301      <EntityType Name="Storage" BaseType="Storage.v1_8_1.Storage">
1302        <NavigationProperty Name="Controllers" Type="StorageControllerCollection.StorageControllerCollection" ContainsTarget="true" Nullable="false">
1303          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1304          <Annotation Term="OData.Description" String="The set of controllers instantiated by this storage subsystem."/>
1305          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource collection of type `StorageControllerCollection` that contains the set of storage controllers allocated to this storage subsystem."/>
1306          <Annotation Term="OData.AutoExpandReferences"/>
1307        </NavigationProperty>
1308        <Property Name="Identifiers" Type="Collection(Resource.Identifier)" Nullable="false">
1309          <Annotation Term="OData.Description" String="The durable names for the storage subsystem."/>
1310          <Annotation Term="OData.LongDescription" String="This property shall contain a list of all known durable names for the storage subsystem."/>
1311        </Property>
1312      </EntityType>
1313
1314      <ComplexType Name="Links" BaseType="Storage.v1_0_0.Links">
1315        <NavigationProperty Name="SimpleStorage" Type="SimpleStorage.SimpleStorage" Nullable="false">
1316          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1317          <Annotation Term="OData.Description" String="The link to the simple storage instance that corresponds to this storage."/>
1318          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource of type `SimpleStorage` that represents the same storage subsystem as this resource."/>
1319          <Annotation Term="OData.AutoExpandReferences"/>
1320        </NavigationProperty>
1321        <NavigationProperty Name="StorageServices" Type="Collection(StorageService.StorageService)">
1322          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1323          <Annotation Term="OData.Description" String="An array of links to the storage services that connect to this storage subsystem."/>
1324          <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to resources of type `StorageService` with which this storage subsystem is associated."/>
1325          <Annotation Term="OData.AutoExpandReferences"/>
1326        </NavigationProperty>
1327      </ComplexType>
1328
1329      <EntityType Name="StorageController" BaseType="Storage.v1_8_1.StorageController"/>
1330    </Schema>
1331
1332    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_9_1">
1333      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1334      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
1335      <EntityType Name="Storage" BaseType="Storage.v1_9_0.Storage"/>
1336      <EntityType Name="StorageController" BaseType="Storage.v1_9_0.StorageController"/>
1337    </Schema>
1338
1339    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_9_2">
1340      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1341      <Annotation Term="OData.Description" String="This version was created to correct various descriptions to use proper normative terminology."/>
1342      <EntityType Name="Storage" BaseType="Storage.v1_9_1.Storage"/>
1343      <EntityType Name="StorageController" BaseType="Storage.v1_9_1.StorageController"/>
1344    </Schema>
1345
1346    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_9_3">
1347      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1348      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
1349      <EntityType Name="Storage" BaseType="Storage.v1_9_2.Storage"/>
1350      <EntityType Name="StorageController" BaseType="Storage.v1_9_2.StorageController"/>
1351    </Schema>
1352
1353    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_9_4">
1354      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1355      <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."/>
1356      <EntityType Name="Storage" BaseType="Storage.v1_9_3.Storage"/>
1357      <EntityType Name="StorageController" BaseType="Storage.v1_9_3.StorageController"/>
1358    </Schema>
1359
1360    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_9_5">
1361      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1362      <Annotation Term="OData.Description" String="This version was created to correct the OpenAPI usage of payload annotations in action request bodies."/>
1363      <EntityType Name="Storage" BaseType="Storage.v1_9_4.Storage"/>
1364      <EntityType Name="StorageController" BaseType="Storage.v1_9_4.StorageController"/>
1365    </Schema>
1366
1367    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_10_0">
1368      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1369      <Annotation Term="Redfish.Release" String="2020.4"/>
1370
1371      <EntityType Name="Storage" BaseType="Storage.v1_9_1.Storage"/>
1372
1373      <EntityType Name="StorageController" BaseType="Storage.v1_9_1.StorageController">
1374        <NavigationProperty Name="Certificates" Type="CertificateCollection.CertificateCollection" ContainsTarget="true" Nullable="false">
1375          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1376          <Annotation Term="OData.Description" String="The link to a collection of certificates for device identity and attestation."/>
1377          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource collection of type `CertificateCollection` that contains certificates for device identity and attestation."/>
1378          <Annotation Term="OData.AutoExpandReferences"/>
1379        </NavigationProperty>
1380        <Property Name="Measurements" Type="Collection(SoftwareInventory.MeasurementBlock)" Nullable="false">
1381          <Annotation Term="OData.Description" String="An array of DSP0274-defined measurement blocks."/>
1382          <Annotation Term="OData.LongDescription" String="This property shall contain an array of DSP0274-defined measurement blocks."/>
1383          <Annotation Term="Redfish.Revisions">
1384            <Collection>
1385              <Record>
1386                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Deprecated"/>
1387                <PropertyValue Property="Version" String="v1_12_0"/>
1388                <PropertyValue Property="Description" String="This property has been deprecated in favor of the `ComponentIntegrity` resource."/>
1389              </Record>
1390            </Collection>
1391          </Annotation>
1392        </Property>
1393      </EntityType>
1394    </Schema>
1395
1396    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_10_1">
1397      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1398      <Annotation Term="OData.Description" String="This version was created to correct various descriptions to use proper normative terminology."/>
1399      <EntityType Name="Storage" BaseType="Storage.v1_10_0.Storage"/>
1400      <EntityType Name="StorageController" BaseType="Storage.v1_10_0.StorageController"/>
1401    </Schema>
1402
1403    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_10_2">
1404      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1405      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
1406      <EntityType Name="Storage" BaseType="Storage.v1_10_1.Storage"/>
1407      <EntityType Name="StorageController" BaseType="Storage.v1_10_1.StorageController"/>
1408    </Schema>
1409
1410    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_10_3">
1411      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1412      <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."/>
1413      <EntityType Name="Storage" BaseType="Storage.v1_10_2.Storage"/>
1414      <EntityType Name="StorageController" BaseType="Storage.v1_10_2.StorageController"/>
1415    </Schema>
1416
1417    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_10_4">
1418      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1419      <Annotation Term="OData.Description" String="This version was created to correct the OpenAPI usage of payload annotations in action request bodies."/>
1420      <EntityType Name="Storage" BaseType="Storage.v1_10_3.Storage"/>
1421      <EntityType Name="StorageController" BaseType="Storage.v1_10_3.StorageController"/>
1422    </Schema>
1423
1424    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_11_0">
1425      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1426      <Annotation Term="Redfish.Release" String="2021.2"/>
1427      <Annotation Term="OData.Description" String="This version was created to add the `ResetToDefaults` action."/>
1428
1429      <EntityType Name="Storage" BaseType="Storage.v1_10_1.Storage"/>
1430
1431      <EnumType Name="ResetToDefaultsType">
1432        <Member Name="ResetAll">
1433          <Annotation Term="OData.Description" String="Reset all settings to factory defaults and remove all volumes."/>
1434        </Member>
1435        <Member Name="PreserveVolumes">
1436          <Annotation Term="OData.Description" String="Reset all settings to factory defaults but preserve the configured volumes on the controllers."/>
1437        </Member>
1438      </EnumType>
1439
1440      <ComplexType Name="Links" BaseType="Storage.v1_9_0.Links">
1441        <NavigationProperty Name="HostingStorageSystems" Type="Collection(ComputerSystem.ComputerSystem)">
1442          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1443          <Annotation Term="OData.Description" String="The storage systems that host this storage subsystem."/>
1444          <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to resources of type `ComputerSystem` that represent the storage systems that host this storage subsystem.  The members of this array shall be in the `StorageSystems` resource collection off the service root."/>
1445          <Annotation Term="OData.AutoExpandReferences"/>
1446        </NavigationProperty>
1447      </ComplexType>
1448
1449      <EntityType Name="StorageController" BaseType="Storage.v1_10_1.StorageController"/>
1450    </Schema>
1451
1452    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_11_1">
1453      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1454      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
1455      <EntityType Name="Storage" BaseType="Storage.v1_11_0.Storage"/>
1456      <EntityType Name="StorageController" BaseType="Storage.v1_11_0.StorageController"/>
1457    </Schema>
1458
1459    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_11_2">
1460      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1461      <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."/>
1462      <EntityType Name="Storage" BaseType="Storage.v1_11_1.Storage"/>
1463      <EntityType Name="StorageController" BaseType="Storage.v1_11_1.StorageController"/>
1464    </Schema>
1465
1466    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_11_3">
1467      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1468      <Annotation Term="OData.Description" String="This version was created to correct the OpenAPI usage of payload annotations in action request bodies."/>
1469      <EntityType Name="Storage" BaseType="Storage.v1_11_2.Storage"/>
1470      <EntityType Name="StorageController" BaseType="Storage.v1_11_2.StorageController"/>
1471    </Schema>
1472
1473    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_12_0">
1474      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1475      <Annotation Term="Redfish.Release" String="2021.4"/>
1476      <Annotation Term="OData.Description" String="This version was created to deprecate `Measurements` in favor of measurement reporting in the `ComponentIntegrity` resource."/>
1477
1478      <EntityType Name="Storage" BaseType="Storage.v1_11_0.Storage"/>
1479      <EntityType Name="StorageController" BaseType="Storage.v1_11_0.StorageController"/>
1480    </Schema>
1481
1482    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_12_1">
1483      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1484      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
1485      <EntityType Name="Storage" BaseType="Storage.v1_12_0.Storage"/>
1486      <EntityType Name="StorageController" BaseType="Storage.v1_12_0.StorageController"/>
1487    </Schema>
1488
1489    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_12_2">
1490      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1491      <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."/>
1492      <EntityType Name="Storage" BaseType="Storage.v1_12_1.Storage"/>
1493      <EntityType Name="StorageController" BaseType="Storage.v1_12_1.StorageController"/>
1494    </Schema>
1495
1496    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_12_3">
1497      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1498      <Annotation Term="OData.Description" String="This version was created to correct the OpenAPI usage of payload annotations in action request bodies."/>
1499      <EntityType Name="Storage" BaseType="Storage.v1_12_2.Storage"/>
1500      <EntityType Name="StorageController" BaseType="Storage.v1_12_2.StorageController"/>
1501    </Schema>
1502
1503    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_13_0">
1504      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1505      <Annotation Term="Redfish.Release" String="2022.1"/>
1506      <Annotation Term="OData.Description" String="This version was created to deprecate the `StorageControllers` array property in favor of the `StorageControllerCollection` resource collection provided by the `Controllers` property."/>
1507
1508      <EntityType Name="Storage" BaseType="Storage.v1_12_0.Storage"/>
1509      <EntityType Name="StorageController" BaseType="Storage.v1_12_0.StorageController"/>
1510    </Schema>
1511
1512    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_13_1">
1513      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1514      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
1515      <EntityType Name="Storage" BaseType="Storage.v1_13_0.Storage"/>
1516      <EntityType Name="StorageController" BaseType="Storage.v1_13_0.StorageController"/>
1517    </Schema>
1518
1519    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_13_2">
1520      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1521      <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."/>
1522      <EntityType Name="Storage" BaseType="Storage.v1_13_1.Storage"/>
1523      <EntityType Name="StorageController" BaseType="Storage.v1_13_1.StorageController"/>
1524    </Schema>
1525
1526    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_13_3">
1527      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1528      <Annotation Term="OData.Description" String="This version was created to correct the OpenAPI usage of payload annotations in action request bodies."/>
1529      <EntityType Name="Storage" BaseType="Storage.v1_13_2.Storage"/>
1530      <EntityType Name="StorageController" BaseType="Storage.v1_13_2.StorageController"/>
1531    </Schema>
1532
1533    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_14_0">
1534      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1535      <Annotation Term="Redfish.Release" String="2022.3"/>
1536
1537      <EntityType Name="Storage" BaseType="Storage.v1_13_0.Storage">
1538        <Property Name="HotspareActivationPolicy" Type="Storage.v1_14_0.HotspareActivationPolicy">
1539          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
1540          <Annotation Term="OData.Description" String="The policy under which hot spare drives in this storage domain will activate."/>
1541          <Annotation Term="OData.LongDescription" String="This property shall contain the policy under which all drives operating as hot spares in this storage domain will activate."/>
1542        </Property>
1543        <Property Name="EncryptionMode" Type="Storage.v1_14_0.EncryptionMode">
1544          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
1545          <Annotation Term="OData.Description" String="The encryption mode of this storage subsystem."/>
1546          <Annotation Term="OData.LongDescription" String="This property shall contain the encryption mode of this storage subsystem."/>
1547        </Property>
1548        <Property Name="LocalEncryptionKeyIdentifier" Type="Edm.String">
1549          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1550          <Annotation Term="OData.Description" String="The local encryption key identifier used by the storage subsystem."/>
1551          <Annotation Term="OData.LongDescription" String="This property shall contain the local encryption key identifier used by the storage subsystem when `EncryptionMode` contains `UseLocalKey`."/>
1552        </Property>
1553      </EntityType>
1554
1555      <EnumType Name="HotspareActivationPolicy">
1556        <Member Name="OnDriveFailure">
1557          <Annotation Term="OData.Description" String="The hot spare drive will take over for the original drive when the original drive has been marked as failed by the storage domain."/>
1558        </Member>
1559        <Member Name="OnDrivePredictedFailure">
1560          <Annotation Term="OData.Description" String="The hot spare drive will take over for the original drive when the original drive has been predicted to fail in the future by the storage domain."/>
1561        </Member>
1562        <Member Name="OEM">
1563          <Annotation Term="OData.Description" String="The hot spare drive will take over for the original drive in an algorithm custom to the OEM."/>
1564        </Member>
1565      </EnumType>
1566
1567      <EnumType Name="EncryptionMode">
1568        <Member Name="Disabled">
1569          <Annotation Term="OData.Description" String="Encryption is disabled on the storage subsystem."/>
1570        </Member>
1571        <Member Name="UseExternalKey">
1572          <Annotation Term="OData.Description" String="The storage subsystem uses one or more external keys for encryption."/>
1573        </Member>
1574        <Member Name="UseLocalKey">
1575          <Annotation Term="OData.Description" String="The storage subsystem uses a local key for encryption."/>
1576        </Member>
1577        <Member Name="PasswordOnly">
1578          <Annotation Term="OData.Description" String="The storage subsystem uses a password, but no keys for encryption."/>
1579          <Annotation Term="Redfish.Revisions">
1580            <Collection>
1581              <Record>
1582                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
1583                <PropertyValue Property="Version" String="v1_17_0"/>
1584              </Record>
1585            </Collection>
1586          </Annotation>
1587        </Member>
1588        <Member Name="PasswordWithExternalKey">
1589          <Annotation Term="OData.Description" String="The storage subsystem uses a password and one or more external keys for encryption."/>
1590          <Annotation Term="Redfish.Revisions">
1591            <Collection>
1592              <Record>
1593                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
1594                <PropertyValue Property="Version" String="v1_17_0"/>
1595              </Record>
1596            </Collection>
1597          </Annotation>
1598        </Member>
1599        <Member Name="PasswordWithLocalKey">
1600          <Annotation Term="OData.Description" String="The storage subsystem uses a password and a local key for encryption."/>
1601          <Annotation Term="Redfish.Revisions">
1602            <Collection>
1603              <Record>
1604                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
1605                <PropertyValue Property="Version" String="v1_17_0"/>
1606              </Record>
1607            </Collection>
1608          </Annotation>
1609        </Member>
1610      </EnumType>
1611
1612      <EntityType Name="StorageController" BaseType="Storage.v1_13_0.StorageController"/>
1613    </Schema>
1614
1615    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_14_1">
1616      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1617      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
1618      <EntityType Name="Storage" BaseType="Storage.v1_14_0.Storage"/>
1619      <EntityType Name="StorageController" BaseType="Storage.v1_14_0.StorageController"/>
1620    </Schema>
1621
1622    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_14_2">
1623      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1624      <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."/>
1625      <EntityType Name="Storage" BaseType="Storage.v1_14_1.Storage"/>
1626      <EntityType Name="StorageController" BaseType="Storage.v1_14_1.StorageController"/>
1627    </Schema>
1628
1629    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_14_3">
1630      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1631      <Annotation Term="OData.Description" String="This version was created to correct the OpenAPI usage of payload annotations in action request bodies."/>
1632      <EntityType Name="Storage" BaseType="Storage.v1_14_2.Storage"/>
1633      <EntityType Name="StorageController" BaseType="Storage.v1_14_2.StorageController"/>
1634    </Schema>
1635
1636    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_15_0">
1637      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1638      <Annotation Term="Redfish.Release" String="2023.1"/>
1639
1640      <EntityType Name="Storage" BaseType="Storage.v1_14_0.Storage">
1641        <NavigationProperty Name="Connections" Type="ConnectionCollection.ConnectionCollection" ContainsTarget="true" Nullable="false">
1642          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1643          <Annotation Term="OData.Description" String="The collection of links to the connections that this storage subsystem contains."/>
1644          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource collection of type `ConnectionCollection`.  The members of this collection shall reference Connection resources subordinate to Fabric resources."/>
1645          <Annotation Term="OData.AutoExpandReferences"/>
1646        </NavigationProperty>
1647        <Property Name="AutoVolumeCreate" Type="Storage.v1_15_0.AutoVolumeCreate">
1648          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
1649          <Annotation Term="OData.Description" String="Indicates if this storage subsystem automatically creates new volumes for unassigned drives."/>
1650          <Annotation Term="OData.LongDescription" String="This property shall indicate if volumes are created automatically for each unassigned drive attached to this storage subsystem."/>
1651        </Property>
1652      </EntityType>
1653
1654      <ComplexType Name="Links" BaseType="Storage.v1_11_0.Links">
1655        <NavigationProperty Name="NVMeoFDiscoverySubsystems" Type="Collection(Storage.Storage)">
1656          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1657          <Annotation Term="OData.Description" String="An array of links to the discovery subsystems that discovered this subsystem in an NVMe-oF environment."/>
1658          <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to resources of type `Storage` that represent the discovery subsystems that discovered this subsystem in an NVMe-oF environment."/>
1659        </NavigationProperty>
1660      </ComplexType>
1661
1662      <EnumType Name="AutoVolumeCreate">
1663        <Member Name="Disabled">
1664          <Annotation Term="OData.Description" String="Do not automatically create volumes."/>
1665        </Member>
1666        <Member Name="NonRAID">
1667          <Annotation Term="OData.Description" String="Automatically create non-RAID volumes."/>
1668        </Member>
1669        <Member Name="RAID0">
1670          <Annotation Term="OData.Description" String="Automatically create RAID0 volumes."/>
1671        </Member>
1672        <Member Name="RAID1">
1673          <Annotation Term="OData.Description" String="Automatically create RAID1 volumes."/>
1674        </Member>
1675      </EnumType>
1676
1677      <EntityType Name="StorageController" BaseType="Storage.v1_14_0.StorageController"/>
1678    </Schema>
1679
1680    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_15_1">
1681      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1682      <Annotation Term="OData.Description" String="This version was created to correct the spelling of the `NVMeoFDiscoverySubsystems` property.  It was also created to correct various typographical errors."/>
1683      <EntityType Name="Storage" BaseType="Storage.v1_15_0.Storage"/>
1684      <EntityType Name="StorageController" BaseType="Storage.v1_15_0.StorageController"/>
1685    </Schema>
1686
1687    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_15_2">
1688      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1689      <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."/>
1690      <EntityType Name="Storage" BaseType="Storage.v1_15_1.Storage"/>
1691      <EntityType Name="StorageController" BaseType="Storage.v1_15_1.StorageController"/>
1692    </Schema>
1693
1694    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_15_3">
1695      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1696      <Annotation Term="OData.Description" String="This version was created to correct the OpenAPI usage of payload annotations in action request bodies."/>
1697      <EntityType Name="Storage" BaseType="Storage.v1_15_2.Storage"/>
1698      <EntityType Name="StorageController" BaseType="Storage.v1_15_2.StorageController"/>
1699    </Schema>
1700
1701    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_16_0">
1702      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1703      <Annotation Term="Redfish.Release" String="2024.1"/>
1704      <Annotation Term="OData.Description" String="This version was created to add the `RekeyExternalKey` action."/>
1705
1706      <EntityType Name="Storage" BaseType="Storage.v1_15_2.Storage">
1707        <Property Name="NVMeSubsystemProperties" Type="Storage.v1_16_0.NVMeSubsystemProperties">
1708          <Annotation Term="OData.Description" String="Information specific to NVMe Subsystems."/>
1709          <Annotation Term="OData.LongDescription" String="This property shall contain information specific to NVMe Subsystems.  This property shall only be present if this resource represents an NVMe Subsystem."/>
1710        </Property>
1711        <Property Name="ConfigurationLock" Type="Storage.v1_16_0.ConfigurationLock">
1712          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
1713          <Annotation Term="OData.Description" String="Indicates whether in-band configuration requests to the storage subsystem are locked.  Other properties, such as `ConfigurationLockState`, contain additional information regarding the status of the configuration lock."/>
1714          <Annotation Term="OData.LongDescription" String="This property shall indicate whether configuration requests to the storage subsystem are locked.  Services shall reject modification requests that contain the value `Partial`.  Modifying the value of this property may affect the `ConfigurationLock` property in `Drive` resources referenced by the `Drives` property."/>
1715        </Property>
1716      </EntityType>
1717
1718      <ComplexType Name="NVMeSubsystemProperties">
1719        <Annotation Term="OData.Description" String="Information specific to NVMe Subsystems."/>
1720        <Annotation Term="OData.LongDescription" String="This type shall contain information specific to NVMe Subsystems."/>
1721        <Property Name="MaxNamespacesSupported" Type="Edm.Decimal">
1722          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1723          <Annotation Term="OData.Description" String="The maximum number of namespace attachments supported by this NVMe Subsystem."/>
1724          <Annotation Term="OData.LongDescription" String="This property shall contain the maximum number of namespace attachments supported by this NVMe Subsystem.  If no maximum is specified, this property should not be implemented."/>
1725        </Property>
1726        <Property Name="SharedNamespaceControllerAttachmentSupported" Type="Edm.Boolean">
1727          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1728          <Annotation Term="OData.Description" String="Indicates whether the subsystem supports shared namespace controller attachment, allowing a shared namespace to be attached concurrently to two or more controllers in an NVMe Subsystem."/>
1729          <Annotation Term="OData.LongDescription" String="This property shall indicate whether the subsystem supports shared namespace controller attachment, allowing a shared namespace to be attached concurrently to two or more controllers in an NVMe Subsystem."/>
1730        </Property>
1731      </ComplexType>
1732
1733      <EntityType Name="StorageController" BaseType="Storage.v1_15_2.StorageController"/>
1734
1735      <EnumType Name="ConfigurationLock">
1736        <Member Name="Enabled">
1737          <Annotation Term="OData.Description" String="In-band configuration requests are locked as specified by `TargetConfigurationLockLevel`."/>
1738          <Annotation Term="OData.LongDescription" String="This value shall indicate in-band configuration requests are locked as specified by `TargetConfigurationLockLevel`."/>
1739        </Member>
1740        <Member Name="Disabled">
1741          <Annotation Term="OData.Description" String="In-band configuration requests are not locked."/>
1742          <Annotation Term="OData.LongDescription" String="This value shall indicate in-band configuration requests are not locked."/>
1743        </Member>
1744        <Member Name="Partial">
1745          <Annotation Term="OData.Description" String="Some in-band configuration requests are not locked while others are locked.  This value is used for status reporting to indicate that the storage subsystem is partially locked and client action is recommended."/>
1746          <Annotation Term="OData.LongDescription" String="This value shall indicate some in-band configuration requests are not locked while others are locked."/>
1747        </Member>
1748      </EnumType>
1749    </Schema>
1750
1751    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_16_1">
1752      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1753      <Annotation Term="OData.Description" String="This version was created to update the descriptions for `ConfigurationLock` to align with the new `TargetConfigurationLockLevel` property."/>
1754      <EntityType Name="Storage" BaseType="Storage.v1_16_0.Storage"/>
1755      <EntityType Name="StorageController" BaseType="Storage.v1_16_0.StorageController"/>
1756    </Schema>
1757
1758    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_16_2">
1759      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1760      <Annotation Term="OData.Description" String="This version was created to correct the OpenAPI usage of payload annotations in action request bodies."/>
1761      <EntityType Name="Storage" BaseType="Storage.v1_16_1.Storage"/>
1762      <EntityType Name="StorageController" BaseType="Storage.v1_16_1.StorageController"/>
1763    </Schema>
1764
1765    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_17_0">
1766      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1767      <Annotation Term="Redfish.Release" String="2024.2"/>
1768      <Annotation Term="OData.Description" String="This version was created to add the `SetControllerPassword` action.  It was also created to add `PasswordOnly`, `PasswordWithExternalKey`, and `PasswordWithLocalKey` to `EncryptionMode`."/>
1769
1770      <EntityType Name="Storage" BaseType="Storage.v1_16_1.Storage">
1771        <Property Name="TargetConfigurationLockLevel" Type="Storage.v1_17_0.TargetConfigurationLockLevel">
1772          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
1773          <Annotation Term="OData.Description" String="Indicates the target configuration lock level for the drive based upon the state of the `ConfigurationLock` property.  Other properties, such as `ConfigurationLockState`, contain additional information regarding the status of the configuration lock."/>
1774          <Annotation Term="OData.LongDescription" String="This property shall contain the target configuration lock level for the drive.  For NVMe subsystems, services shall implement the locking requirements specified by SNIA's Swordfish NVMe Model Overview and Mapping Guide."/>
1775        </Property>
1776      </EntityType>
1777
1778      <EntityType Name="StorageController" BaseType="Storage.v1_16_1.StorageController"/>
1779
1780      <EnumType Name="TargetConfigurationLockLevel">
1781        <Member Name="Baseline">
1782          <Annotation Term="OData.Description" String="The standard configuration lock level, corresponding to applying firmware, updating security keys, and modifying other hardware settings.  It does not include managing the volumes or data within the storage subsystem."/>
1783        </Member>
1784      </EnumType>
1785
1786      <EnumType Name="ConfigLockOptions">
1787        <Member Name="Unlocked">
1788          <Annotation Term="OData.Description" String="The command is supported, able to be locked, and is currently unlocked."/>
1789        </Member>
1790        <Member Name="Locked">
1791          <Annotation Term="OData.Description" String="The command is supported and is currently locked."/>
1792        </Member>
1793        <Member Name="LockdownUnsupported">
1794          <Annotation Term="OData.Description" String="The command is supported but is not able to be locked."/>
1795        </Member>
1796        <Member Name="CommandUnsupported">
1797          <Annotation Term="OData.Description" String="The command is not supported, therefore lockdown does not apply."/>
1798        </Member>
1799      </EnumType>
1800
1801      <ComplexType Name="NVMeConfigurationLockState">
1802        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
1803        <Annotation Term="OData.Description" String="The configurable features that are able to be locked on an NVMe subsystem and their current lock state."/>
1804        <Annotation Term="OData.LongDescription" String="This type shall contain the configurable features that are able to be locked on an NVMe subsystem and their current lock state."/>
1805        <Property Name="FirmwareCommit" Type="Storage.v1_17_0.ConfigLockOptions">
1806          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1807          <Annotation Term="OData.Description" String="The lock state of the NVMe-defined Firmware Commit command."/>
1808          <Annotation Term="OData.LongDescription" String="This property shall contain the lock state of the NVMe-defined Firmware Commit command."/>
1809        </Property>
1810        <Property Name="Lockdown" Type="Storage.v1_17_0.ConfigLockOptions">
1811          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1812          <Annotation Term="OData.Description" String="The lock state of the NVMe-defined Lockdown command."/>
1813          <Annotation Term="OData.LongDescription" String="This property shall contain the lock state of the NVMe-defined Lockdown command."/>
1814        </Property>
1815        <Property Name="SecuritySend" Type="Storage.v1_17_0.ConfigLockOptions">
1816          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1817          <Annotation Term="OData.Description" String="The lock state of the NVMe-defined Security Send command."/>
1818          <Annotation Term="OData.LongDescription" String="This property shall contain the lock state of the NVMe-defined Security Send command."/>
1819        </Property>
1820        <Property Name="FirmwareImageDownload" Type="Storage.v1_17_0.ConfigLockOptions">
1821          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1822          <Annotation Term="OData.Description" String="The lock state of the NVMe-defined Firmware Image Download command."/>
1823          <Annotation Term="OData.LongDescription" String="This property shall contain the lock state of the NVMe-defined Firmware Image Download command."/>
1824        </Property>
1825        <Property Name="VPDWrite" Type="Storage.v1_17_0.ConfigLockOptions">
1826          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1827          <Annotation Term="OData.Description" String="The lock state of the NVMe-MI-defined VPD Write command."/>
1828          <Annotation Term="OData.LongDescription" String="This property shall contain the lock state of the NVMe-MI-defined VPD Write command."/>
1829        </Property>
1830      </ComplexType>
1831
1832      <ComplexType Name="NVMeSubsystemProperties" BaseType="Storage.v1_16_0.NVMeSubsystemProperties">
1833        <Property Name="ConfigurationLockState" Type="Storage.v1_17_0.NVMeConfigurationLockState">
1834          <Annotation Term="OData.Description" String="The configurable features that are able to be locked from in-band usage on an NVMe subsystem and their current lock state."/>
1835          <Annotation Term="OData.LongDescription" String="This property shall contain the configurable features that are able to be locked from in-band usage on an NVMe subsystem and their current lock state."/>
1836        </Property>
1837      </ComplexType>
1838    </Schema>
1839
1840    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_17_1">
1841      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1842      <Annotation Term="OData.Description" String="This version was created to correct the OpenAPI usage of payload annotations in action request bodies."/>
1843      <EntityType Name="Storage" BaseType="Storage.v1_17_0.Storage"/>
1844      <EntityType Name="StorageController" BaseType="Storage.v1_17_0.StorageController"/>
1845    </Schema>
1846
1847    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_18_0">
1848      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1849      <Annotation Term="Redfish.Release" String="2024.4"/>
1850
1851      <EntityType Name="Storage" BaseType="Storage.v1_17_1.Storage">
1852        <Property Name="BlockSecurityIDPolicy" Type="Edm.Boolean">
1853          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
1854          <Annotation Term="OData.Description" String="Indicates if the storage controller sends a command to block establishment of a TCG-defined security ID (SID) during each drive boot sequence for drives that support it."/>
1855          <Annotation Term="OData.LongDescription" String="This property shall indicate if the storage controller sends the TCG-defined 'Block SID' command to block establishment of a TCG-defined security ID (SID) during each drive boot sequence for drives that support it.  The value `true` shall indicate the TCG-defined 'Block SID' command is sent to supporting drives during each drive boot sequence."/>
1856        </Property>
1857        <NavigationProperty Name="Metrics" Type="StorageMetrics.StorageMetrics">
1858          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1859          <Annotation Term="OData.Description" String="The link to the metrics associated with this storage subsystem."/>
1860          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource of type `StorageMetrics` that represents the metrics associated with this storage subsystem."/>
1861          <Annotation Term="OData.AutoExpandReferences"/>
1862        </NavigationProperty>
1863      </EntityType>
1864
1865      <ComplexType Name="Links" BaseType="Storage.v1_15_0.Links">
1866        <NavigationProperty Name="BlockSecurityIDUnsupportedDrives" Type="Collection(Drive.Drive)">
1867          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1868          <Annotation Term="OData.Description" String="The set of drives in this storage subsystem that do not support blocking of TCG-defined security ID (SID)."/>
1869          <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to resources of type `Drive` that represent the drives in this storage subsystem that do not support the TCG-defined 'Block SID' command.  This property should only be present if at least one drive does not support the TCG-defined 'Block SID' command."/>
1870          <Annotation Term="OData.AutoExpandReferences"/>
1871        </NavigationProperty>
1872        <NavigationProperty Name="BlockSecurityIDUpdateUnsuccessfulDrives" Type="Collection(Drive.Drive)">
1873          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
1874          <Annotation Term="OData.Description" String="The set of drives in this storage subsystem for which the most recent attempt to block TCG-defined security ID (SID) failed."/>
1875          <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to resources of type `Drive` that represent the drives in this storage subsystem for which the most recent attempt to block TCG-defined security ID (SID) with the TCG-defined 'Block SID' command failed.  This property should only be present if the most recent attempt to block TCG-defined security ID (SID) with the TCG-defined 'Block SID' command failed for at least one drive."/>
1876          <Annotation Term="OData.AutoExpandReferences"/>
1877        </NavigationProperty>
1878      </ComplexType>
1879    </Schema>
1880
1881    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Storage.v1_19_0">
1882      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
1883      <Annotation Term="Redfish.Release" String="2025.2"/>
1884      <Annotation Term="OData.Description" String="This version was created to add the `ImportForeignDrive` action."/>
1885
1886      <EntityType Name="Storage" BaseType="Storage.v1_18_0.Storage"/>
1887    </Schema>
1888
1889  </edmx:DataServices>
1890</edmx:Edmx>
1891