<?xml version="1.0" encoding="UTF-8"?>
<!---->
<!--################################################################################       -->
<!--# Redfish Schema:  MetricReportDefinition v1.4.2                                       -->
<!--#                                                                                      -->
<!--# 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/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/RedfishExtensions_v1.xml">
    <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
    <edmx:Include Namespace="Validation.v1_0_0" Alias="Validation"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/MetricReport_v1.xml">
    <edmx:Include Namespace="MetricReport"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Schedule_v1.xml">
    <edmx:Include Namespace="Schedule"/>
  </edmx:Reference>
  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Triggers_v1.xml">
    <edmx:Include Namespace="Triggers"/>
  </edmx:Reference>

  <edmx:DataServices>

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

      <EntityType Name="MetricReportDefinition" BaseType="Resource.v1_0_0.Resource" Abstract="true">
        <Annotation Term="OData.Description" String="The MetricReportDefinition schema describes set of metrics that are collected into a metric report."/>
        <Annotation Term="OData.LongDescription" String="This resource shall specify a set of metrics that shall be collected into a metric report in 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="Any writable properties can be updated for metric report definitions."/>
          </Record>
        </Annotation>
        <Annotation Term="Capabilities.DeleteRestrictions">
          <Record>
            <PropertyValue Property="Deletable" Bool="true"/>
            <Annotation Term="OData.Description" String="Metric report definitions can be deleted."/>
          </Record>
        </Annotation>
        <Annotation Term="Redfish.Uris">
          <Collection>
            <String>/redfish/v1/TelemetryService/MetricReportDefinitions/{MetricReportDefinitionId}</String>
          </Collection>
        </Annotation>
      </EntityType>
    </Schema>

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

      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.MetricReportDefinition">
        <Property Name="MetricReportDefinitionType" Type="MetricReportDefinition.v1_0_0.MetricReportDefinitionType">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="Specifies when the metric report is generated."/>
          <Annotation Term="OData.LongDescription" String="This property shall specify when the metric report is generated.  If the value is `Periodic`, the Schedule property shall be present."/>
        </Property>
        <Property Name="Schedule" Type="Schedule.Schedule" Nullable="false">
          <Annotation Term="OData.Description" String="The schedule for generating the metric report."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the schedule of the metric report.  The metric report shall be generated at an interval specified by the RecurrenceInterval property within Schedule.  If MaxOccurrences property within Schedule is specified, the metric report shall no longer be generated after the specified number of occurrences.  The State property within Status should be set to `Disabled` and the MetricReportDefinitionEnabled property should be set to `false` when the specified number of occurrences is reached."/>
        </Property>
        <Property Name="ReportActions" Type="Collection(MetricReportDefinition.v1_0_0.ReportActionsEnum)" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The set of actions to perform when a metric report is generated."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the set of actions to perform when the metric report is generated.  This property should be ignored if MetricReportDefinitionType contains the value `OnRequest`."/>
        </Property>
        <Property Name="ReportUpdates" Type="MetricReportDefinition.v1_0_0.ReportUpdatesEnum" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The behavior for how subsequent metric reports are handled in relationship to an existing metric report created from the metric report definition.  Namely, whether to overwrite, append, or create a metric report."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the behavior for how subsequent metric reports are handled in relationship to an existing metric report created from the metric report definition.  This property should be ignored if MetricReportDefinitionType contains the value `OnRequest`."/>
        </Property>
        <Property Name="AppendLimit" Type="Edm.Int64" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The maximum number of entries that can be appended to a metric report.  When the metric report reaches its limit, its behavior is dictated by the ReportUpdates property."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain a number that indicates the maximum number of entries that can be appended to a metric report.  When the metric report reaches its limit, its behavior shall be dictated by the ReportUpdates property.  This property shall be required if ReportUpdates contains `AppendWrapsWhenFull` or `AppendStopsWhenFull`."/>
          <Annotation Term="Validation.Minimum" Int="0"/>
        </Property>
        <Property Name="Status" Type="Resource.Status" Nullable="false">
          <Annotation Term="OData.Description" String="The status and health of the resource and its subordinate or dependent resources."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain any status or health properties of the resource."/>
        </Property>
        <Property Name="Wildcards" Type="Collection(MetricReportDefinition.v1_0_0.Wildcard)" Nullable="false">
          <Annotation Term="OData.Description" String="The set of wildcards and their substitution values for the entries in the MetricProperties property."/>
          <Annotation Term="OData.LongDescription" String="The property shall contain a set of wildcards and their replacement strings, which are applied to the MetricProperties property.  Each wildcard expressed in the MetricProperties property shall have a corresponding entry in this property."/>
        </Property>
        <Property Name="MetricProperties" Type="Collection(Edm.String)">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The list of URIs with wildcards and property identifiers to include in the metric report.  If a URI has wildcards, the wildcards are substituted as specified in the Wildcards property."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain a list of URIs with wildcards and property identifiers to include in the metric report.  A set of curly braces shall delimit each wildcard in the URI.  The corresponding entry in the Wildcard property shall replace each wildcard.  After each wildcard is replaced, it shall describe a resource property to include in the metric report.  The property identifiers portion of the URI shall follow RFC6901-specified JSON pointer notation rules."/>
          <Annotation Term="OData.IsURL"/>
        </Property>
        <Property Name="Metrics" Type="Collection(MetricReportDefinition.v1_0_0.Metric)" Nullable="false">
          <Annotation Term="OData.Description" String="The list of metrics to include in the metric report.  The metrics may include calculations to apply to metric properties."/>
          <Annotation Term="OData.LongDescription" String="The property shall contain a list of metrics to include in the metric report.  The metrics may include calculations to apply to metric properties."/>
        </Property>
        <NavigationProperty Name="MetricReport" Type="MetricReport.MetricReport" Nullable="false">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The most recent metric report produced by this metric report definition."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource of type MetricReport that represents the most recent metric report produced by this metric report definition."/>
          <Annotation Term="OData.AutoExpandReferences"/>
        </NavigationProperty>
        <Property Name="Actions" Type="MetricReportDefinition.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>
      </EntityType>

      <ComplexType Name="Wildcard">
        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
        <Annotation Term="OData.Description" String="The wildcard and its substitution values."/>
        <Annotation Term="OData.LongDescription" String="This type shall contain a wildcard and its substitution values."/>
        <Property Name="Name" Type="Edm.String">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The string used as a wildcard."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the string used as a wildcard."/>
        </Property>
        <Property Name="Keys" Type="Collection(Edm.String)">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="An array of values to substitute for the wildcard."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the list of values to substitute for the wildcard."/>
          <Annotation Term="Redfish.Revisions">
            <Collection>
              <Record>
                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Deprecated"/>
                <PropertyValue Property="Version" String="v1_1_0"/>
                <PropertyValue Property="Description" String="This property has been deprecated in favor of using the property Values."/>
              </Record>
            </Collection>
          </Annotation>
        </Property>
      </ComplexType>

      <ComplexType Name="Metric">
        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
        <Annotation Term="OData.Description" String="Specifies a set of metrics to include in the metric report.  Calculation parameters, if present, are applied to the metrics prior to being included in the metric report."/>
        <Annotation Term="OData.LongDescription" String="The properties shall specify a set of metrics to include in the metric report.  The algorithm specified by CollectionFunction, if present, shall be applied to each of the metric properties listed in the MetricProperties property or the metric properties specified in the MetricDefinition referenced by the MetricId property prior to being included in the metric report."/>
        <Property Name="MetricId" Type="Edm.String">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The metric definition identifier that contains the metric properties to include in the metric report."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the value of the Id property of the MetricDefinition resource that contains the metric properties to include in the metric report.  This property should not be present if MetricProperties is present."/>
        </Property>
        <Property Name="MetricProperties" Type="Collection(Edm.String)">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The list of URIs with wildcards and property identifiers to include in the metric report.  If a URI has wildcards, the wildcards are substituted as specified in the Wildcards property."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain a list of URIs with wildcards and property identifiers to include in the metric report.  A set of curly braces shall delimit each wildcard in the URI.  The corresponding entry in the Wildcard property shall replace each wildcard.  After each wildcard is replaced, it shall describe a resource property to include in the metric report.  The property identifiers portion of the URI shall follow RFC6901-specified JSON pointer notation rules.  This property should not be present if MetricId is present."/>
          <Annotation Term="OData.IsURL"/>
        </Property>
        <Property Name="CollectionFunction" Type="MetricReportDefinition.v1_0_0.CalculationAlgorithmEnum">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="Specifies the function to perform on each of the metric properties listed in the MetricProperties property or the metric properties specified in the MetricDefinition referenced by the MetricId property.  If not specified, calculations are not performed on the metric properties."/>
          <Annotation Term="OData.LongDescription" String="The property shall specify the function to perform on each of the metric properties listed in the MetricProperties property or the metric properties specified in the MetricDefinition referenced by the MetricId property.  If not specified, calculations shall not be performed on the metric properties."/>
        </Property>
        <Property Name="CollectionDuration" Type="Edm.Duration">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The duration over which the function is computed."/>
          <Annotation Term="OData.LongDescription" String="This property shall specify the duration over which the function is computed."/>
        </Property>
        <Property Name="CollectionTimeScope" Type="MetricReportDefinition.v1_0_0.CollectionTimeScope">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The scope of time over which the function is applied."/>
          <Annotation Term="OData.LongDescription" String="This property shall specify the scope of time over which the function is applied."/>
        </Property>
      </ComplexType>

      <EnumType Name="MetricReportDefinitionType">
        <Annotation Term="OData.Description" String="Indicates when the metric report is generated."/>
        <Annotation Term="OData.LongDescription" String="This type shall specify when the metric report is generated."/>
        <Member Name="Periodic">
          <Annotation Term="OData.Description" String="The metric report is generated at a periodic time interval, specified in the Schedule property."/>
        </Member>
        <Member Name="OnChange">
          <Annotation Term="OData.Description" String="The metric report is generated when any of the metric values change."/>
        </Member>
        <Member Name="OnRequest">
          <Annotation Term="OData.Description" String="The metric report is generated when a HTTP GET is performed on the specified metric report."/>
        </Member>
      </EnumType>

      <EnumType Name="ReportActionsEnum">
        <Annotation Term="OData.Description" String="Actions to perform when a metric report is generated."/>
        <Annotation Term="OData.LongDescription" String="This type shall specify the actions to perform when a metric report is generated."/>
        <Member Name="LogToMetricReportsCollection">
          <Annotation Term="OData.Description" String="Record the occurrence to the metric report collection."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate the service records the occurrence to the metric report collection found under the telemetry service.  The service shall update the metric report based on the setting of the ReportUpdates property."/>
        </Member>
        <Member Name="RedfishEvent">
          <Annotation Term="OData.Description" String="Send a Redfish event message containing the metric report."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate the service sends a Redfish event of type MetricReport to subscribers in the event subscription collection of the event service."/>
        </Member>
      </EnumType>

      <EnumType Name="ReportUpdatesEnum">
        <Annotation Term="OData.Description" String="Handling of subsequent metric reports when a metric report exists."/>
        <Annotation Term="OData.LongDescription" String="This type shall indicate how the service handles subsequent metric reports when a metric report exists."/>
        <Member Name="Overwrite">
          <Annotation Term="OData.Description" String="Overwrite the metric report."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate the service overwrites the metric report referenced by the MetricReport property."/>
        </Member>
        <Member Name="AppendWrapsWhenFull">
          <Annotation Term="OData.Description" String="New information is appended to the metric report.  The metric report entries are overwritten with new entries when the metric report has reached its maximum capacity."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate the service appends new information to the metric report referenced by the MetricReport property.  The service shall overwrite entries in the metric report with new entries when the metric report has reached its maximum capacity."/>
        </Member>
        <Member Name="AppendStopsWhenFull">
          <Annotation Term="OData.Description" String="New information is appended to the metric report.  The service stops adding entries when the metric report has reached its maximum capacity."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate the service appends new information to the metric report referenced by the MetricReport property.  The service shall stop adding entries when the metric report has reached its maximum capacity.  The State property within Status should be set to `Disabled` and the MetricReportDefinitionEnabled property should be set to `false` when the append limit is reached."/>
        </Member>
        <Member Name="NewReport">
          <Annotation Term="OData.Description" String="A new metric report is created, whose identifier is a service-defined identifier concatenated with the timestamp."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate the service creates a new metric report resource, whose Id property is a service-defined identifier concatenated with the timestamp.  The metric report referenced by the MetricReport property shall reference the metric report most recently created by this metric report definition."/>
        </Member>
      </EnumType>

      <EnumType Name="CalculationAlgorithmEnum">
        <Annotation Term="OData.Description" String="The function to apply to the list of metric properties."/>
        <Annotation Term="OData.LongDescription" String="This type shall specify the function to apply to the list of metric properties."/>
        <Member Name="Average">
          <Annotation Term="OData.Description" String="The metric is calculated as the average metric reading over a duration."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate the metric is calculated as the average metric reading over a duration.  The duration shall be the CollectionDuration property value."/>
        </Member>
        <Member Name="Maximum">
          <Annotation Term="OData.Description" String="The metric is calculated as the maximum metric reading over a duration."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate the metric is calculated as the maximum metric reading over a duration.  The duration shall be the CollectionDuration property value."/>
        </Member>
        <Member Name="Minimum">
          <Annotation Term="OData.Description" String="The metric is calculated as the minimum metric reading over a duration."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate the metric is calculated as the minimum metric reading over a duration.  The duration shall be the CollectionDuration property value."/>
        </Member>
        <Member Name="Summation">
          <Annotation Term="OData.Description" String="The metric is calculated as the sum of the values over a duration."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate the metric is calculated as the sum of the specified metric reading over a duration.  The duration shall be the CollectionDuration property value."/>
        </Member>
      </EnumType>

      <EnumType Name="CollectionTimeScope">
        <Annotation Term="OData.Description" String="The time scope of the related metric values."/>
        <Annotation Term="OData.LongDescription" String="This type shall specify the time scope of the corresponding metric values."/>
        <Member Name="Point">
          <Annotation Term="OData.Description" String="The corresponding metric values apply to a point in time.  On the corresponding metric value instances, the Timestamp property value in the metric report specifies the point in time."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate the corresponding metric values apply to a point in time.  On the corresponding metric value instances, the Timestamp property value in the metric report shall specify the point in time."/>
        </Member>
        <Member Name="Interval">
          <Annotation Term="OData.Description" String="The corresponding metric values apply to a time interval.  On the corresponding metric value instances, the Timestamp property value in the metric report specifies the end of the time interval and the CollectionDuration property specifies its duration."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate the corresponding metric values apply to a time interval.  On the corresponding metric value instances, the Timestamp property value in the metric report shall specify the end of the time interval and the CollectionDuration property shall specify its duration."/>
        </Member>
        <Member Name="StartupInterval">
          <Annotation Term="OData.Description" String="The corresponding metric values apply to a time interval that began at the startup of the measured resource.  On the corresponding metric value instances, the Timestamp property value in the metric report shall specifies the end of the time interval.  The CollectionDuration property value specifies the duration between the startup of resource and timestamp."/>
          <Annotation Term="OData.LongDescription" String="This value shall indicate the corresponding metric values apply to a time interval that began at the startup of the measured resource.  On the corresponding metric value instances, the Timestamp property value in the metric report shall specify the end of the time interval.  The CollectionDuration property value shall specify the duration between the startup of resource and timestamp."/>
        </Member>
      </EnumType>

      <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="MetricReportDefinition.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>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MetricReportDefinition.v1_0_1">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to clarify descriptions of several properties."/>
      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_0_0.MetricReportDefinition"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MetricReportDefinition.v1_0_2">
      <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, and to add a missing term to several properties to disallow them from being null."/>
      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_0_1.MetricReportDefinition"/>
    </Schema>

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

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MetricReportDefinition.v1_0_4">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to clarify the behavior of `OnRequest` metric report definitions with regards to ReportUpdates and ReportActions.  It was also created to clarify the behavior when a metric report definition stops updating a metric report."/>
      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_0_3.MetricReportDefinition"/>
    </Schema>

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

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MetricReportDefinition.v1_0_6">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to mark ReportActions, ReportUpdates, MetricId, and properties in Wildcards as writable."/>
      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_0_5.MetricReportDefinition"/>
    </Schema>

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

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

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MetricReportDefinition.v1_0_9">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to clarify the behavior of the MetricReport property, clarify the identifier formatting for when `NewReport` is configured, and the usage of MetricId."/>
      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_0_8.MetricReportDefinition"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MetricReportDefinition.v1_1_0">
      <Annotation Term="OData.Description" String="This version was created to add the Values property to the Wildcard property."/>
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="Redfish.Release" String="2018.3"/>

      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_0_1.MetricReportDefinition"/>

      <ComplexType Name="Wildcard" BaseType="MetricReportDefinition.v1_0_0.Wildcard">
        <Property Name="Values" Type="Collection(Edm.String)">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="An array of values to substitute for the wildcard."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the list of values to substitute for the wildcard."/>
        </Property>
      </ComplexType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MetricReportDefinition.v1_1_1">
      <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, and to add a missing term to several properties to disallow them from being null."/>
      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_1_0.MetricReportDefinition"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MetricReportDefinition.v1_1_2">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct descriptions in the CalculationAlgorithmEnum enumeration.  It was also created to update descriptions that this schema defines."/>
      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_1_1.MetricReportDefinition"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MetricReportDefinition.v1_1_3">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to clarify the behavior of `OnRequest` metric report definitions with regards to ReportUpdates and ReportActions.  It was also created to clarify the behavior when a metric report definition stops updating a metric report."/>
      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_1_2.MetricReportDefinition"/>
    </Schema>

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

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MetricReportDefinition.v1_1_5">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to mark ReportActions, ReportUpdates, MetricId, and properties in Wildcards as writable."/>
      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_1_4.MetricReportDefinition"/>
    </Schema>

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

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MetricReportDefinition.v1_1_7">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various description to use proper normative terminology."/>
      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_1_6.MetricReportDefinition"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MetricReportDefinition.v1_1_8">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to clarify the behavior of the MetricReport property, clarify the identifier formatting for when `NewReport` is configured, and the usage of MetricId."/>
      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_1_7.MetricReportDefinition"/>
    </Schema>

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

      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_1_1.MetricReportDefinition">
        <Property Name="SuppressRepeatedMetricValue" Type="Edm.Boolean">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="An indication of whether any metrics are suppressed from the generated metric report.  If `true`, any metric that equals the same value in the previously generated metric report is suppressed from the current report.  Also, duplicate metrics are suppressed.  If `false`, no metrics are suppressed from the current report.  The current report may contain no metrics if all metrics equal the values in the previously generated metric report."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate whether any metrics are suppressed from the generated metric report.  If `true`, any metric that equals the same value in the previously generated metric report is suppressed from the current report.  Also, duplicate metrics are suppressed.  If `false`, no metrics are suppressed from the current report.  The current report may contain no metrics if all metrics equal the values in the previously generated metric report."/>
        </Property>
        <Property Name="MetricReportHeartbeatInterval" Type="Edm.Duration">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The interval at which to send the complete metric report because the Redfish client wants refreshed metric data even when the data has not changed.  This property value is always greater than the recurrence interval of a metric report, and it only applies when the SuppressRepeatedMetricValue property is `true`."/>
          <Annotation Term="OData.LongDescription" String="The property value shall contain a Redfish duration that describes the time interval between generations of the unsuppressed metric report.  It shall always be a value greater than the RecurrenceInterval property within Schedule and should only apply when the SuppressRepeatedMetricValue property is `true`."/>
        </Property>
        <Property Name="MetricReportDefinitionEnabled" Type="Edm.Boolean">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="An indication of whether the generation of new metric reports is enabled."/>
          <Annotation Term="OData.LongDescription" String="This property shall indicate whether the generation of new metric reports is enabled."/>
        </Property>
        <Property Name="Links" Type="MetricReportDefinition.v1_2_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="Triggers" Type="Collection(Triggers.Triggers)">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
          <Annotation Term="OData.Description" String="The triggers that cause this metric report definition to generate a new metric report upon a trigger occurrence when the TriggerActions property contains `RedfishMetricReport`."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain a set of triggers that cause this metric report to generate a new metric report upon a trigger occurrence when the TriggerActions property contains `RedfishMetricReport`."/>
          <Annotation Term="OData.AutoExpandReferences"/>
        </NavigationProperty>
      </ComplexType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MetricReportDefinition.v1_2_1">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct descriptions in the CalculationAlgorithmEnum enumeration.  It was also created to update descriptions that this schema defines."/>
      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_2_0.MetricReportDefinition"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MetricReportDefinition.v1_2_2">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to clarify the behavior of `OnRequest` metric report definitions with regards to ReportUpdates and ReportActions.  It was also created to clarify the behavior when a metric report definition stops updating a metric report."/>
      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_2_1.MetricReportDefinition"/>
    </Schema>

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

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MetricReportDefinition.v1_2_4">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to mark ReportActions, ReportUpdates, MetricId, and properties in Wildcards as writable."/>
      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_2_3.MetricReportDefinition"/>
    </Schema>

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

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MetricReportDefinition.v1_2_6">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various description to use proper normative terminology."/>
      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_2_5.MetricReportDefinition"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MetricReportDefinition.v1_2_7">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to clarify the behavior of the MetricReport property, clarify the identifier formatting for when `NewReport` is configured, and the usage of MetricId."/>
      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_2_6.MetricReportDefinition"/>
    </Schema>

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

      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_2_1.MetricReportDefinition">
        <Property Name="ReportTimespan" Type="Edm.Duration">
          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
          <Annotation Term="OData.Description" String="The maximum timespan that a metric report can cover."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain maximum timespan that a metric report can cover."/>
        </Property>
      </EntityType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MetricReportDefinition.v1_3_1">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to clarify the behavior of `OnRequest` metric report definitions with regards to ReportUpdates and ReportActions.  It was also created to clarify the behavior when a metric report definition stops updating a metric report.  It was also created to clarify the description for the ReportTimespan property."/>
      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_3_0.MetricReportDefinition"/>
    </Schema>

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

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MetricReportDefinition.v1_3_3">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to mark ReportActions, ReportUpdates, MetricId, and properties in Wildcards as writable."/>
      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_3_2.MetricReportDefinition"/>
    </Schema>

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

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MetricReportDefinition.v1_3_5">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various description to use proper normative terminology."/>
      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_3_4.MetricReportDefinition"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MetricReportDefinition.v1_3_6">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to clarify the behavior of the MetricReport property, clarify the identifier formatting for when `NewReport` is configured, and the usage of MetricId."/>
      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_3_5.MetricReportDefinition"/>
    </Schema>

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

      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_3_4.MetricReportDefinition"/>

      <ComplexType Name="Metric" BaseType="MetricReportDefinition.v1_0_0.Metric">
        <Property Name="Oem" Type="Resource.Oem" Nullable="false">
          <Annotation Term="OData.Description" String="The OEM extension property."/>
          <Annotation Term="OData.LongDescription" String="This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."/>
        </Property>
      </ComplexType>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MetricReportDefinition.v1_4_1">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to correct various description to use proper normative terminology."/>
      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_4_0.MetricReportDefinition"/>
    </Schema>

    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="MetricReportDefinition.v1_4_2">
      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
      <Annotation Term="OData.Description" String="This version was created to clarify the behavior of the MetricReport property, clarify the identifier formatting for when `NewReport` is configured, and the usage of MetricId."/>
      <EntityType Name="MetricReportDefinition" BaseType="MetricReportDefinition.v1_4_1.MetricReportDefinition"/>
    </Schema>

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