Add ThermalMetrics schema

Based on DSP8010_2022.2 and adds the ThermalMetrics schema.
ThermalMetrics is child of the ThermalSubsystem schema. It is part of
the new Power/Thermal Schemas.
ThermalMetrics contains temperature readings and the corresponding
link to that sensor in the sensor collection.
Temperatures such as Ambient, Exhaust, Intake, and Internal can be
found in the schema.

Tested: built bmcweb successfully and validator passes.

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I16ad2f922acc963a0434f3d9ab5583d2242b0013
diff --git a/static/redfish/v1/schema/ThermalMetrics_v1.xml b/static/redfish/v1/schema/ThermalMetrics_v1.xml
new file mode 100644
index 0000000..caf35ae
--- /dev/null
+++ b/static/redfish/v1/schema/ThermalMetrics_v1.xml
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!---->
+<!--################################################################################       -->
+<!--# Redfish Schema:  ThermalMetrics v1.0.1                                               -->
+<!--#                                                                                      -->
+<!--# 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.v1_0_0"/>
+  </edmx:Reference>
+  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Sensor_v1.xml">
+    <edmx:Include Namespace="Sensor"/>
+  </edmx:Reference>
+
+  <edmx:DataServices>
+
+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="ThermalMetrics">
+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+
+      <EntityType Name="ThermalMetrics" BaseType="Resource.v1_0_0.Resource" Abstract="true">
+        <Annotation Term="OData.Description" String="The ThermalMetrics schema represents the thermal metrics of a chassis."/>
+        <Annotation Term="OData.LongDescription" String="This resource shall represent the thermal metrics of a chassis for a Redfish implementation."/>
+        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
+        <Annotation Term="Capabilities.InsertRestrictions">
+          <Record>
+            <PropertyValue Property="Insertable" Bool="false"/>
+          </Record>
+        </Annotation>
+        <Annotation Term="Capabilities.UpdateRestrictions">
+          <Record>
+            <PropertyValue Property="Updatable" Bool="false"/>
+          </Record>
+        </Annotation>
+        <Annotation Term="Capabilities.DeleteRestrictions">
+          <Record>
+            <PropertyValue Property="Deletable" Bool="false"/>
+          </Record>
+        </Annotation>
+        <Annotation Term="Redfish.Uris">
+          <Collection>
+            <String>/redfish/v1/Chassis/{ChassisId}/ThermalSubsystem/ThermalMetrics</String>
+          </Collection>
+        </Annotation>
+      </EntityType>
+
+      <Action Name="ResetMetrics" IsBound="true">
+        <Parameter Name="ThermalMetrics" Type="ThermalMetrics.v1_0_0.Actions"/>
+        <Annotation Term="OData.Description" String="This action resets the summary metrics related to this equipment."/>
+        <Annotation Term="OData.LongDescription" String="This action shall reset any time intervals or counted values for this equipment."/>
+      </Action>
+    </Schema>
+
+    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="ThermalMetrics.v1_0_0">
+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+      <Annotation Term="Redfish.Release" String="2020.4"/>
+
+      <EntityType Name="ThermalMetrics" BaseType="ThermalMetrics.ThermalMetrics">
+        <Property Name="TemperatureSummaryCelsius" Type="ThermalMetrics.v1_0_0.TemperatureSummary">
+          <Annotation Term="OData.Description" String="The summary temperature readings for this chassis."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain the temperature sensor readings for this subsystem."/>
+        </Property>
+        <NavigationProperty Name="TemperatureReadingsCelsius" Type="Collection(Sensor.Sensor)">
+          <Annotation Term="Redfish.ExcerptCopy" String="Array"/>
+          <Annotation Term="OData.Description" String="The temperatures (Celsius) from all related sensors for this device."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain the temperatures, in degrees Celsius units, for this subsystem.  The value of the DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property containing the value `Temperature`."/>
+        </NavigationProperty>
+        <Property Name="Actions" Type="ThermalMetrics.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="TemperatureSummary">
+        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
+        <Annotation Term="OData.Description" String="The temperature readings for a subsystem."/>
+        <Annotation Term="OData.LongDescription" String="This type shall contain properties that describe temperature sensor for a subsystem."/>
+        <NavigationProperty Name="Internal" Type="Sensor.Sensor">
+          <Annotation Term="Redfish.ExcerptCopy"/>
+          <Annotation Term="OData.Description" String="The internal temperature (Celsius) of this subsystem."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain the temperature, in degrees Celsius units, for the internal temperature of this subsystem.  The value of the DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property containing the value `Temperature`."/>
+        </NavigationProperty>
+        <NavigationProperty Name="Intake" Type="Sensor.Sensor">
+          <Annotation Term="Redfish.ExcerptCopy"/>
+          <Annotation Term="OData.Description" String="The intake temperature (Celsius) of this subsystem."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain the temperature, in degrees Celsius units, for the intake temperature of this subsystem.  The value of the DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property containing the value `Temperature`."/>
+        </NavigationProperty>
+        <NavigationProperty Name="Exhaust" Type="Sensor.Sensor">
+          <Annotation Term="Redfish.ExcerptCopy"/>
+          <Annotation Term="OData.Description" String="The exhaust temperature (Celsius) of this subsystem."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain the temperature, in degrees Celsius units, for the exhaust temperature of this subsystem.  The value of the DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property containing the value `Temperature`."/>
+        </NavigationProperty>
+        <NavigationProperty Name="Ambient" Type="Sensor.Sensor">
+          <Annotation Term="Redfish.ExcerptCopy"/>
+          <Annotation Term="OData.Description" String="The ambient temperature (Celsius) of this subsystem."/>
+          <Annotation Term="OData.LongDescription" String="This property shall contain the temperature, in degrees Celsius units, for the ambient temperature of this subsystem.  The value of the DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property containing the value `Temperature`."/>
+        </NavigationProperty>
+      </ComplexType>
+
+      <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="ThermalMetrics.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="ThermalMetrics.v1_0_1">
+      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+      <Annotation Term="OData.Description" String="This version was created to update descriptions to tie excerpt property definitions to a specific type of Sensor or Control. It was also created to correct various typographical errors."/>
+      <EntityType Name="ThermalMetrics" BaseType="ThermalMetrics.v1_0_0.ThermalMetrics"/>
+    </Schema>
+
+  </edmx:DataServices>
+</edmx:Edmx>