diff options
-rw-r--r-- | redfish-core/include/schemas.hpp | 1 | ||||
-rwxr-xr-x | scripts/update_schemas.py | 1 | ||||
-rw-r--r-- | static/redfish/v1/$metadata/index.xml | 5 | ||||
-rw-r--r-- | static/redfish/v1/JsonSchemas/ThermalMetrics/ThermalMetrics.json | 261 | ||||
-rw-r--r-- | static/redfish/v1/schema/ThermalMetrics_v1.xml | 138 |
5 files changed, 406 insertions, 0 deletions
diff --git a/redfish-core/include/schemas.hpp b/redfish-core/include/schemas.hpp index e618a62eba..d27d368c38 100644 --- a/redfish-core/include/schemas.hpp +++ b/redfish-core/include/schemas.hpp @@ -110,6 +110,7 @@ namespace redfish "TaskService", "TelemetryService", "Thermal", + "ThermalMetrics", "ThermalSubsystem", "Triggers", "TriggersCollection", diff --git a/scripts/update_schemas.py b/scripts/update_schemas.py index f0d70b8920..7f91496035 100755 --- a/scripts/update_schemas.py +++ b/scripts/update_schemas.py @@ -117,6 +117,7 @@ include_list = [ "TaskService", "TelemetryService", "Thermal", + "ThermalMetrics", "ThermalSubsystem", "Triggers", "TriggersCollection", diff --git a/static/redfish/v1/$metadata/index.xml b/static/redfish/v1/$metadata/index.xml index 2e078eb9c1..a56ffac5c2 100644 --- a/static/redfish/v1/$metadata/index.xml +++ b/static/redfish/v1/$metadata/index.xml @@ -2639,6 +2639,11 @@ <edmx:Include Namespace="Thermal.v1_7_0"/> <edmx:Include Namespace="Thermal.v1_7_1"/> </edmx:Reference> + <edmx:Reference Uri="/redfish/v1/schema/ThermalMetrics_v1.xml"> + <edmx:Include Namespace="ThermalMetrics"/> + <edmx:Include Namespace="ThermalMetrics.v1_0_0"/> + <edmx:Include Namespace="ThermalMetrics.v1_0_1"/> + </edmx:Reference> <edmx:Reference Uri="/redfish/v1/schema/ThermalSubsystem_v1.xml"> <edmx:Include Namespace="ThermalSubsystem"/> <edmx:Include Namespace="ThermalSubsystem.v1_0_0"/> diff --git a/static/redfish/v1/JsonSchemas/ThermalMetrics/ThermalMetrics.json b/static/redfish/v1/JsonSchemas/ThermalMetrics/ThermalMetrics.json new file mode 100644 index 0000000000..62279ecd91 --- /dev/null +++ b/static/redfish/v1/JsonSchemas/ThermalMetrics/ThermalMetrics.json @@ -0,0 +1,261 @@ +{ + "$id": "http://redfish.dmtf.org/schemas/v1/ThermalMetrics.v1_0_1.json", + "$ref": "#/definitions/ThermalMetrics", + "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json", + "copyright": "Copyright 2014-2021 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright", + "definitions": { + "Actions": { + "additionalProperties": false, + "description": "The available actions for this resource.", + "longDescription": "This type shall contain the available actions for this resource.", + "patternProperties": { + "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { + "description": "This property shall specify a valid odata or Redfish property.", + "type": [ + "array", + "boolean", + "integer", + "number", + "null", + "object", + "string" + ] + } + }, + "properties": { + "#ThermalMetrics.ResetMetrics": { + "$ref": "#/definitions/ResetMetrics" + }, + "Oem": { + "$ref": "#/definitions/OemActions", + "description": "The available OEM-specific actions for this resource.", + "longDescription": "This property shall contain the available OEM-specific actions for this resource." + } + }, + "type": "object" + }, + "OemActions": { + "additionalProperties": true, + "description": "The available OEM-specific actions for this resource.", + "longDescription": "This type shall contain the available OEM-specific actions for this resource.", + "patternProperties": { + "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { + "description": "This property shall specify a valid odata or Redfish property.", + "type": [ + "array", + "boolean", + "integer", + "number", + "null", + "object", + "string" + ] + } + }, + "properties": {}, + "type": "object" + }, + "ResetMetrics": { + "additionalProperties": false, + "description": "This action resets the summary metrics related to this equipment.", + "longDescription": "This action shall reset any time intervals or counted values for this equipment.", + "parameters": {}, + "patternProperties": { + "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { + "description": "This property shall specify a valid odata or Redfish property.", + "type": [ + "array", + "boolean", + "integer", + "number", + "null", + "object", + "string" + ] + } + }, + "properties": { + "target": { + "description": "Link to invoke action", + "format": "uri-reference", + "type": "string" + }, + "title": { + "description": "Friendly action name", + "type": "string" + } + }, + "type": "object" + }, + "TemperatureSummary": { + "additionalProperties": false, + "description": "The temperature readings for a subsystem.", + "longDescription": "This type shall contain properties that describe temperature sensor for a subsystem.", + "patternProperties": { + "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { + "description": "This property shall specify a valid odata or Redfish property.", + "type": [ + "array", + "boolean", + "integer", + "number", + "null", + "object", + "string" + ] + } + }, + "properties": { + "Ambient": { + "anyOf": [ + { + "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorExcerpt" + }, + { + "type": "null" + } + ], + "description": "The ambient temperature (Celsius) of this subsystem.", + "excerptCopy": "SensorExcerpt", + "longDescription": "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`." + }, + "Exhaust": { + "anyOf": [ + { + "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorExcerpt" + }, + { + "type": "null" + } + ], + "description": "The exhaust temperature (Celsius) of this subsystem.", + "excerptCopy": "SensorExcerpt", + "longDescription": "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`." + }, + "Intake": { + "anyOf": [ + { + "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorExcerpt" + }, + { + "type": "null" + } + ], + "description": "The intake temperature (Celsius) of this subsystem.", + "excerptCopy": "SensorExcerpt", + "longDescription": "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`." + }, + "Internal": { + "anyOf": [ + { + "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorExcerpt" + }, + { + "type": "null" + } + ], + "description": "The internal temperature (Celsius) of this subsystem.", + "excerptCopy": "SensorExcerpt", + "longDescription": "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`." + } + }, + "type": "object" + }, + "ThermalMetrics": { + "additionalProperties": false, + "description": "The ThermalMetrics schema represents the thermal metrics of a chassis.", + "longDescription": "This resource shall represent the thermal metrics of a chassis for a Redfish implementation.", + "patternProperties": { + "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { + "description": "This property shall specify a valid odata or Redfish property.", + "type": [ + "array", + "boolean", + "integer", + "number", + "null", + "object", + "string" + ] + } + }, + "properties": { + "@odata.context": { + "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context" + }, + "@odata.etag": { + "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag" + }, + "@odata.id": { + "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id" + }, + "@odata.type": { + "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type" + }, + "Actions": { + "$ref": "#/definitions/Actions", + "description": "The available actions for this resource.", + "longDescription": "This property shall contain the available actions for this resource." + }, + "Description": { + "anyOf": [ + { + "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description" + }, + { + "type": "null" + } + ], + "readonly": true + }, + "Id": { + "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id", + "readonly": true + }, + "Name": { + "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name", + "readonly": true + }, + "Oem": { + "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem", + "description": "The OEM extension property.", + "longDescription": "This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements." + }, + "TemperatureReadingsCelsius": { + "description": "The temperatures (Celsius) from all related sensors for this device.", + "excerptCopy": "SensorArrayExcerpt", + "items": { + "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorArrayExcerpt" + }, + "longDescription": "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`.", + "type": "array" + }, + "TemperatureReadingsCelsius@odata.count": { + "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count" + }, + "TemperatureSummaryCelsius": { + "anyOf": [ + { + "$ref": "#/definitions/TemperatureSummary" + }, + { + "type": "null" + } + ], + "description": "The summary temperature readings for this chassis.", + "longDescription": "This property shall contain the temperature sensor readings for this subsystem." + } + }, + "required": [ + "@odata.id", + "@odata.type", + "Id", + "Name" + ], + "type": "object" + } + }, + "owningEntity": "DMTF", + "release": "2020.4", + "title": "#ThermalMetrics.v1_0_1.ThermalMetrics" +}
\ No newline at end of file diff --git a/static/redfish/v1/schema/ThermalMetrics_v1.xml b/static/redfish/v1/schema/ThermalMetrics_v1.xml new file mode 100644 index 0000000000..caf35ae9b6 --- /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> |