<?xml version="1.0" encoding="UTF-8"?>
<!---->
<!-- Copyright 2015-2026 Storage Networking Industry Association (SNIA), USA. All rights reserved.-->
<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">

  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Core.V1.xml">
    <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Capabilities.V1.xml">
    <edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="Capabilities"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Resource_v1.xml">
    <edmx:Include Namespace="Resource"/>
    <edmx:Include Namespace="Resource.v1_0_0"/>
    <edmx:Include Namespace="Resource.v1_5_0"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
    <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
  </edmx:Reference>

  <edmx:DataServices>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="SpareResourceSet">
      <Annotation Term="Redfish.OwningEntity" String="SNIA"/>
      <Annotation Term="Redfish.Language" String="en"/>

      <EntityType Name="SpareResourceSet" BaseType="Resource.v1_0_0.Resource" Abstract="true">
        <Annotation Term="OData.Description" String="A description of a set of spare resources."/>
        <Annotation Term="OData.LongDescription" String="The values define a set of spares of a particular type."/>
        <Annotation Term="Capabilities.InsertRestrictions">
          <Record>
            <PropertyValue Property="Insertable" Bool="false"/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.UpdateRestrictions">
          <Record>
            <PropertyValue Property="Updatable" Bool="true"/>
            <Annotation Term="OData.Description" String="SpareResourceSet resources can be updated to change the writable properties."/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.DeleteRestrictions">
          <Record>
            <PropertyValue Property="Deletable" Bool="true"/>
            <Annotation Term="OData.Description" String="SpareResourceSet resources can be deleted by deleting the SpareResourceSet resource."/>
          </Record>
        </Annotation>
      </EntityType>

    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="SpareResourceSet.v1_0_0">
      <Annotation Term="Redfish.OwningEntity" String="SNIA"/>
      <Annotation Term="Redfish.Release" String="1.0.7a"/>
      <EntityType Name="SpareResourceSet" BaseType="SpareResourceSet.SpareResourceSet">
        <Annotation Term="OData.Description" String="A description of a set of spare resources."/>
        <Annotation Term="OData.LongDescription" String="The values define a set of spares of a particular type."/>
        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
        <Property Name="ResourceType" Type="Edm.String">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The type of resources in the set."/>
          <Annotation Term="OData.LongDescription" String="The type of resources in the set."/>
        </Property>
        <Property Name="TimeToProvision" Type="Edm.Duration">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="Amount of time needed to make an on-hand resource available as a spare."/>
          <Annotation Term="OData.LongDescription" String="Amount of time needed to make an on-hand resource available as a spare."/>
        </Property>
        <Property Name="TimeToReplenish" Type="Edm.Duration">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="Amount of time needed to get more on-hand resources."/>
          <Annotation Term="OData.LongDescription" String="Amount of time needed to replenish consumed on-hand resources."/>
        </Property>
        <Property Name="OnHandLocation" Type="Resource.v1_5_0.Location" Nullable="false">
          <Annotation Term="OData.Description" String="Location where this set of spares is kept."/>
          <Annotation Term="OData.LongDescription" String="The location where this set of spares is kept."/>
        </Property>
        <Property Name="OnLine" Type="Edm.Boolean">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="This set is available online."/>
          <Annotation Term="OData.LongDescription" String="This set shall be available online."/>
        </Property>
        <Property Name="Links" Type="SpareResourceSet.v1_0_0.Links" Nullable="false">
          <Annotation Term="OData.Description" String="Contains links to other resources that are related to this resource."/>
          <Annotation Term="OData.LongDescription" String="This structure shall contain references to resources that are not contained within this resource."/>
        </Property>
      </EntityType>
      <ComplexType Name="Links" BaseType="Resource.Links">
        <Annotation Term="OData.Description" String="The links object contains the links to other resources that are related to this resource."/>
        <Annotation Term="OData.LongDescription" String="The Links property, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource."/>
        <NavigationProperty Name="OnHandSpares" Type="Collection(Resource.Item)">
          <Annotation Term="OData.Description" String="The type of resources in the set."/>
          <Annotation Term="OData.LongDescription" String="The type of resources in the set."/>
        </NavigationProperty>
        <NavigationProperty Name="ReplacementSpareSets" Type="Collection(SpareResourceSet.v1_0_0.SpareResourceSet)">
          <Annotation Term="OData.Description" String="Other spare sets that can be utilized to replenish this spare set."/>
          <Annotation Term="OData.LongDescription" String="Other spare sets that can be utilized to replenish this spare set."/>
        </NavigationProperty>
      </ComplexType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="SpareResourceSet.v1_0_1">
      <Annotation Term="Redfish.OwningEntity" String="SNIA"/>
      <Annotation Term="OData.Description" String="This version was created to fix CSDL errors and adds both Redfish Uris and Capability Annotations, including adding Actions."/>
      <EntityType Name="SpareResourceSet" BaseType="SpareResourceSet.v1_0_0.SpareResourceSet">
        <Property Name="Actions" Type="SpareResourceSet.v1_0_1.Actions" Nullable="false">
          <Annotation Term="OData.Description" String="The available actions for this resource."/>
          <Annotation Term="OData.LongDescription" String="The Actions property shall contain the available actions for this resource."/>
        </Property>
      </EntityType>

      <ComplexType Name="Actions">
        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
        <Annotation Term="OData.Description" String="The available actions for this resource."/>
        <Annotation Term="OData.LongDescription" String="The Actions property shall contain the available actions for this resource."/>
        <Property Name="Oem" Type="SpareResourceSet.v1_0_1.OemActions" Nullable="false">
          <Annotation Term="OData.Description" String="This property contains the available OEM specific actions for this resource."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain any additional OEM actions for this resource."/>
        </Property>
      </ComplexType>

      <ComplexType Name="OemActions">
        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
        <Annotation Term="OData.Description" String="The available OEM specific actions for this resource."/>
        <Annotation Term="OData.LongDescription" String="This type shall contain any additional OEM actions for this resource."/>
      </ComplexType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="SpareResourceSet.v1_0_2">
      <Annotation Term="Redfish.OwningEntity" String="SNIA"/>
      <Annotation Term="OData.Description" String="This version was created to fix grammatical errors in TimeToReplenish."/>
      <EntityType Name="SpareResourceSet" BaseType="SpareResourceSet.v1_0_1.SpareResourceSet"/>

      </Schema>

  </edmx:DataServices>
</edmx:Edmx>
