<?xml version="1.0" encoding="UTF-8"?>
<!---->
<!--################################################################################       -->
<!--# Redfish Schema:  Bios v1.2.0                                                         -->
<!--#                                                                                      -->
<!--# For a detailed change log, see the README file contained in the DSP8010 bundle,      -->
<!--# available at http://www.dmtf.org/standards/redfish                                   -->
<!--# Copyright 2014-2022 DMTF.                                                            -->
<!--# For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright -->
<!--################################################################################       -->
<!---->
<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/RedfishExtensions_v1.xml">
    <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
  </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:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/SoftwareInventory_v1.xml">
    <edmx:Include Namespace="SoftwareInventory"/>
  </edmx:Reference>

  <edmx:DataServices>

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

      <EntityType Name="Bios" BaseType="Resource.v1_0_0.Resource" Abstract="true">
        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
        <Annotation Term="OData.Description" String="The Bios schema contains properties related to the BIOS attribute registry.  The attribute registry describes the system-specific BIOS attributes and actions for changing to BIOS settings.  Changes to the BIOS typically require a system reset before they take effect.  It is likely that a client finds the `@Redfish.Settings` term in this resource, and if it is found, the client makes requests to change BIOS settings by modifying the resource identified by the `@Redfish.Settings` term."/>
        <Annotation Term="OData.LongDescription" String="This resource shall represent BIOS attributes for a Redfish implementation."/>
        <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="The attributes in the BIOS resource can be updated."/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.DeleteRestrictions">
          <Record>
            <PropertyValue Property="Deletable" Bool="false"/>
          </Record>
        </Annotation>
        <Annotation Term="Redfish.Uris">
          <Collection>
            <String>/redfish/v1/Systems/{ComputerSystemId}/Bios</String>
            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Bios</String>
            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Bios</String>
          </Collection>
        </Annotation>
      </EntityType>

      <Action Name="ResetBios" IsBound="true">
        <Annotation Term="OData.Description" String="This action resets the BIOS attributes to default."/>
        <Annotation Term="OData.LongDescription" String="This action shall reset the BIOS attributes to their default values.  To apply the default values, a system reset may be required.  This action can impact other resources.  This action may clear pending values in the settings resource."/>
        <Parameter Name="Bios" Type="Bios.v1_0_0.Actions"/>
      </Action>

      <Action Name="ChangePassword" IsBound="true">
        <Annotation Term="OData.Description" String="This action changes a BIOS password."/>
        <Annotation Term="OData.LongDescription" String="This action shall change the selected BIOS password."/>
        <Parameter Name="Bios" Type="Bios.v1_0_0.Actions"/>
        <Parameter Name="PasswordName" Type="Edm.String" Nullable="false">
          <Annotation Term="OData.Description" String="The name of the BIOS password to change."/>
          <Annotation Term="OData.LongDescription" String="This parameter shall contain the name of the BIOS password to change.  For instance, AdminPassword or UserPassword."/>
        </Parameter>
        <Parameter Name="OldPassword" Type="Edm.String" Nullable="false">
          <Annotation Term="OData.Description" String="The existing BIOS password."/>
          <Annotation Term="OData.LongDescription" String="This parameter shall contain the existing BIOS password to change."/>
        </Parameter>
        <Parameter Name="NewPassword" Type="Edm.String" Nullable="false">
          <Annotation Term="OData.Description" String="The new BIOS password."/>
          <Annotation Term="OData.LongDescription" String="This parameter shall contain the new BIOS password."/>
        </Parameter>
      </Action>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Bios.v1_0_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2016.1"/>

      <EntityType Name="Bios" BaseType="Bios.Bios">
        <Property Name="AttributeRegistry" Type="Edm.String">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The resource ID of the attribute registry that has the system-specific information about a BIOS resource."/>
          <Annotation Term="OData.LongDescription" String="The link to the attribute registry that lists the metadata describing the BIOS attribute settings in this resource."/>
        </Property>
        <Property Name="Actions" Type="Bios.v1_0_0.Actions" Nullable="false">
          <Annotation Term="OData.Description" String="The available actions for this resource."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this resource."/>
        </Property>
        <Property Name="Attributes" Type="Bios.v1_0_0.Attributes" Nullable="false">
          <Annotation Term="OData.Description" String="The list of BIOS attributes specific to the manufacturer or provider."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the list of BIOS attributes specific to the manufacturer or provider.  BIOS attribute settings appear as additional properties in this object, and can be looked up in the attribute registry by their AttributeName."/>
        </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="This type shall contain the available actions for this resource."/>
        <Property Name="Oem" Type="Bios.v1_0_0.OemActions" Nullable="false">
          <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific 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 the available OEM-specific actions for this resource."/>
      </ComplexType>

      <ComplexType Name="Attributes">
        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
        <Annotation Term="OData.Description" String="The list of BIOS attributes and their values as determined by the manufacturer or provider."/>
        <Annotation Term="OData.LongDescription" String="This property shall contain the list of BIOS attributes and their values as determined by the manufacturer or provider.  This object shall describe BIOS attribute settings as additional properties.  If the object specifies a BIOS attribute registry, attributes shall be looked up in that attribute registry by their attribute name.  Attributes in this attribute registry with the AttributeType of `Enumeration` shall use valid ValueName values in this object, as listed in that attribute registry."/>
        <Annotation Term="Redfish.DynamicPropertyPatterns">
          <Collection>
            <Record>
              <PropertyValue Property="Pattern" String="^[A-Za-z][A-Za-z0-9_]+$"/>
              <PropertyValue Property="Type" String="Edm.Primitive"/>
            </Record>
          </Collection>
        </Annotation>
      </ComplexType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Bios.v1_0_1">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to add explicit Permissions annotations to all properties for clarity."/>
      <EntityType Name="Bios" BaseType="Bios.v1_0_0.Bios"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Bios.v1_0_2">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to show annotations in previous namespaces were updated."/>
      <EntityType Name="Bios" BaseType="Bios.v1_0_1.Bios"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Bios.v1_0_3">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct the short and long descriptions in the defined actions.  It was also created to update the descriptions that this schema defines."/>
      <EntityType Name="Bios" BaseType="Bios.v1_0_2.Bios"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Bios.v1_0_4">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <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.  This version was also created to clarify some behavioral aspects for the ResetBios action, and to add text about the presence of the @Redfish.Settings term."/>
      <EntityType Name="Bios" BaseType="Bios.v1_0_3.Bios"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Bios.v1_0_5">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to update the long descriptions of the Attributes type to clarify how the attribute registry describes BIOS attributes and their values."/>
      <EntityType Name="Bios" BaseType="Bios.v1_0_4.Bios"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Bios.v1_0_6">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <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."/>
      <EntityType Name="Bios" BaseType="Bios.v1_0_5.Bios"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Bios.v1_0_7">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to update descriptions that this schema defines."/>
      <EntityType Name="Bios" BaseType="Bios.v1_0_6.Bios"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Bios.v1_0_8">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="Bios" BaseType="Bios.v1_0_7.Bios"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Bios.v1_0_9">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various description to use proper normative terminology and clarify behavior of the ResetBios action."/>
      <EntityType Name="Bios" BaseType="Bios.v1_0_8.Bios"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Bios.v1_1_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2019.2"/>

      <EntityType Name="Bios" BaseType="Bios.v1_0_6.Bios">
        <Property Name="Links" Type="Bios.v1_1_0.Links" Nullable="false">
          <Annotation Term="OData.Description" String="The links to other resources that are related to this resource."/>
          <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."/>
        </Property>
      </EntityType>

      <ComplexType Name="Links" BaseType="Resource.Links">
        <Annotation Term="OData.Description" String="The links to other resources that are related to this resource."/>
        <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."/>
        <NavigationProperty Name="ActiveSoftwareImage" Type="SoftwareInventory.SoftwareInventory" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The link to the software inventory that represents the active BIOS firmware image."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain a link a resource of type SoftwareInventory that represents the active BIOS firmware image."/>
          <Annotation Term="OData.AutoExpandReferences"/>
        </NavigationProperty>
        <NavigationProperty Name="SoftwareImages" Type="Collection(SoftwareInventory.SoftwareInventory)">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The images that are associated with this BIOS."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to resources of type SoftwareInventory that represent the firmware images that apply to this BIOS."/>
          <Annotation Term="OData.AutoExpandReferences"/>
        </NavigationProperty>
      </ComplexType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Bios.v1_1_1">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
      <EntityType Name="Bios" BaseType="Bios.v1_1_0.Bios"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Bios.v1_1_2">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various description to use proper normative terminology and clarify behavior of the ResetBios action."/>
      <EntityType Name="Bios" BaseType="Bios.v1_1_1.Bios"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Bios.v1_2_0">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2021.1"/>

      <EntityType Name="Bios" BaseType="Bios.v1_1_2.Bios">
        <Property Name="ResetBiosToDefaultsPending" Type="Edm.Boolean">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="An indication of whether there is a pending request to reset the BIOS attributes to default values."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate whether there is a pending request to reset the BIOS attributes to default values.  A successful completion of the ResetBios action shall set this property to `true`.  Applying the default attribute values to this resource shall set this property to `false`.  Services may reject modification requests to the settings resource if this property contains `true`."/>
        </Property>
      </EntityType>
    </Schema>

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