summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Liu <liuxiwei@inspur.com>2022-09-29 04:29:18 +0300
committerEd Tanous <ed@tanous.net>2022-09-30 01:29:56 +0300
commit1a7b377664022ff20dd6687927f2dcc0de33131e (patch)
treec21656635011404d625f28c601907d967060cd1e
parent9c11a172247a663dfbd708f0ded12024afd9fb1e (diff)
downloadbmcweb-1a7b377664022ff20dd6687927f2dcc0de33131e.tar.xz
Add Fan and FanCollection schema
Based on DSP8010_2022.2 and adds the schema of Fan and FanCollection. Tested: built bmcweb successfully and validator passes Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: Id1867a6f19d47d0fb1d686d650f7d936c33b5284
-rw-r--r--redfish-core/include/schemas.hpp2
-rwxr-xr-xscripts/update_schemas.py2
-rw-r--r--static/redfish/v1/$metadata/index.xml13
-rw-r--r--static/redfish/v1/JsonSchemas/Fan/Fan.json296
-rw-r--r--static/redfish/v1/JsonSchemas/FanCollection/FanCollection.json99
-rw-r--r--static/redfish/v1/schema/FanCollection_v1.xml69
-rw-r--r--static/redfish/v1/schema/Fan_v1.xml233
7 files changed, 714 insertions, 0 deletions
diff --git a/redfish-core/include/schemas.hpp b/redfish-core/include/schemas.hpp
index a165693538..89027f7f87 100644
--- a/redfish-core/include/schemas.hpp
+++ b/redfish-core/include/schemas.hpp
@@ -37,6 +37,8 @@ namespace redfish
"EventDestination",
"EventDestinationCollection",
"EventService",
+ "Fan",
+ "FanCollection",
"IPAddresses",
"JsonSchemaFile",
"JsonSchemaFileCollection",
diff --git a/scripts/update_schemas.py b/scripts/update_schemas.py
index cf79a19cef..626c0d10a7 100755
--- a/scripts/update_schemas.py
+++ b/scripts/update_schemas.py
@@ -49,6 +49,8 @@ include_list = [
"EventDestination",
"EventDestinationCollection",
"EventService",
+ "Fan",
+ "FanCollection",
"IPAddresses",
"JsonSchemaFile",
"JsonSchemaFileCollection", # redfish/v1/JsonSchemas
diff --git a/static/redfish/v1/$metadata/index.xml b/static/redfish/v1/$metadata/index.xml
index 2fcdf438d8..4212e72130 100644
--- a/static/redfish/v1/$metadata/index.xml
+++ b/static/redfish/v1/$metadata/index.xml
@@ -983,6 +983,19 @@
<edmx:Include Namespace="EventService.v1_7_3"/>
<edmx:Include Namespace="EventService.v1_8_0"/>
</edmx:Reference>
+ <edmx:Reference Uri="/redfish/v1/schema/Fan_v1.xml">
+ <edmx:Include Namespace="Fan"/>
+ <edmx:Include Namespace="Fan.v1_0_0"/>
+ <edmx:Include Namespace="Fan.v1_0_1"/>
+ <edmx:Include Namespace="Fan.v1_0_2"/>
+ <edmx:Include Namespace="Fan.v1_1_0"/>
+ <edmx:Include Namespace="Fan.v1_1_1"/>
+ <edmx:Include Namespace="Fan.v1_2_0"/>
+ <edmx:Include Namespace="Fan.v1_3_0"/>
+ </edmx:Reference>
+ <edmx:Reference Uri="/redfish/v1/schema/FanCollection_v1.xml">
+ <edmx:Include Namespace="FanCollection"/>
+ </edmx:Reference>
<edmx:Reference Uri="/redfish/v1/schema/IPAddresses_v1.xml">
<edmx:Include Namespace="IPAddresses"/>
<edmx:Include Namespace="IPAddresses.v1_0_0"/>
diff --git a/static/redfish/v1/JsonSchemas/Fan/Fan.json b/static/redfish/v1/JsonSchemas/Fan/Fan.json
new file mode 100644
index 0000000000..a21f2d5bcc
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/Fan/Fan.json
@@ -0,0 +1,296 @@
+{
+ "$id": "http://redfish.dmtf.org/schemas/v1/Fan.v1_3_0.json",
+ "$ref": "#/definitions/Fan",
+ "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+ "copyright": "Copyright 2014-2022 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": {
+ "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"
+ },
+ "Fan": {
+ "additionalProperties": false,
+ "description": "The Fan schema describes a cooling fan unit for a computer system or similar devices contained within a chassis.",
+ "longDescription": "This resource shall represent the management properties for monitoring and management of cooling fans 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."
+ },
+ "Assembly": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/Assembly.json#/definitions/Assembly",
+ "description": "The link to the assembly associated with this fan.",
+ "longDescription": "This property shall contain a link to a resource of type Assembly.",
+ "readonly": true
+ },
+ "Description": {
+ "anyOf": [
+ {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "readonly": true
+ },
+ "HotPluggable": {
+ "description": "An indication of whether this device can be inserted or removed while the equipment is in operation.",
+ "longDescription": "This property shall indicate whether the device can be inserted or removed while the underlying equipment otherwise remains in its current operational state. Hot-pluggable devices can become operable without altering the operational state of the underlying equipment. Devices that cannot be inserted or removed from equipment in operation, or devices that cannot become operable without affecting the operational state of that equipment, shall be not hot-pluggable.",
+ "readonly": true,
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "Id": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
+ "readonly": true
+ },
+ "Links": {
+ "$ref": "#/definitions/Links",
+ "description": "The links to other resources that are related to this resource.",
+ "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.",
+ "versionAdded": "v1_2_0"
+ },
+ "Location": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
+ "description": "The location of the fan.",
+ "longDescription": "This property shall contain location information of this fan."
+ },
+ "LocationIndicatorActive": {
+ "description": "An indicator allowing an operator to physically locate this resource.",
+ "longDescription": "This property shall contain the state of the indicator used to physically identify or locate this resource.",
+ "readonly": false,
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "Manufacturer": {
+ "description": "The manufacturer of this fan.",
+ "longDescription": "This property shall contain the name of the organization responsible for producing the fan. This organization may be the entity from whom the fan is purchased, but this is not necessarily true.",
+ "readonly": true,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "Model": {
+ "description": "The model number for this fan.",
+ "longDescription": "This property shall contain the model information as defined by the manufacturer for this fan.",
+ "readonly": true,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "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."
+ },
+ "PartNumber": {
+ "description": "The part number for this fan.",
+ "longDescription": "This property shall contain the part number as defined by the manufacturer for this fan.",
+ "readonly": true,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "PhysicalContext": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/PhysicalContext.json#/definitions/PhysicalContext",
+ "description": "The area or device associated with this fan.",
+ "longDescription": "This property shall contain a description of the affected device or region within the chassis with which this fan is associated.",
+ "readonly": true
+ },
+ "PowerWatts": {
+ "anyOf": [
+ {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorPowerExcerpt"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Power consumption (W).",
+ "excerptCopy": "SensorPowerExcerpt",
+ "longDescription": "This property shall contain the total power, in watt units, for this resource. The value of the DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property containing the value `Power`.",
+ "versionAdded": "v1_1_0"
+ },
+ "Replaceable": {
+ "description": "An indication of whether this component can be independently replaced as allowed by the vendor's replacement policy.",
+ "longDescription": "This property shall indicate whether this component can be independently replaced as allowed by the vendor's replacement policy. A value of `false` indicates the component needs to be replaced by policy, as part of another component. If the `LocationType` property of this component contains `Embedded`, this property shall contain `false`.",
+ "readonly": true,
+ "type": [
+ "boolean",
+ "null"
+ ],
+ "versionAdded": "v1_3_0"
+ },
+ "SerialNumber": {
+ "description": "The serial number for this fan.",
+ "longDescription": "This property shall contain the serial number as defined by the manufacturer for this fan.",
+ "readonly": true,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "SparePartNumber": {
+ "description": "The spare part number for this fan.",
+ "longDescription": "This property shall contain the spare or replacement part number as defined by the manufacturer for this fan.",
+ "readonly": true,
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "SpeedPercent": {
+ "anyOf": [
+ {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/Sensor.json#/definitions/SensorFanExcerpt"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The fan speed (percent).",
+ "excerptCopy": "SensorFanExcerpt",
+ "longDescription": "This property shall contain the fan speed, in percent units, for this resource. The value of the DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property containing the value `Percent`."
+ },
+ "Status": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
+ "description": "The status and health of the resource and its subordinate or dependent resources.",
+ "longDescription": "This property shall contain any status or health properties of the resource."
+ }
+ },
+ "required": [
+ "@odata.id",
+ "@odata.type",
+ "Id",
+ "Name"
+ ],
+ "type": "object"
+ },
+ "Links": {
+ "additionalProperties": false,
+ "description": "The links to other resources that are related to this resource.",
+ "longDescription": "This Redfish Specification-described type shall contain links to resources that are related to but are not contained by, or subordinate to, 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": {
+ "CoolingChassis": {
+ "description": "An array of links to the chassis that are directly cooled by this fan.",
+ "items": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis"
+ },
+ "longDescription": "This property shall contain an array of links to resources of type Chassis that represent the chassis directly cooled by this fan. This property shall not be present if the fan is only providing cooling to its containing chassis.",
+ "readonly": true,
+ "type": "array",
+ "versionAdded": "v1_2_0"
+ },
+ "CoolingChassis@odata.count": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+ },
+ "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 contained in this object shall conform to the Redfish Specification-described requirements."
+ }
+ },
+ "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"
+ }
+ },
+ "owningEntity": "DMTF",
+ "release": "2022.2",
+ "title": "#Fan.v1_3_0.Fan"
+} \ No newline at end of file
diff --git a/static/redfish/v1/JsonSchemas/FanCollection/FanCollection.json b/static/redfish/v1/JsonSchemas/FanCollection/FanCollection.json
new file mode 100644
index 0000000000..e12cbee513
--- /dev/null
+++ b/static/redfish/v1/JsonSchemas/FanCollection/FanCollection.json
@@ -0,0 +1,99 @@
+{
+ "$id": "http://redfish.dmtf.org/schemas/v1/FanCollection.json",
+ "$ref": "#/definitions/FanCollection",
+ "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
+ "copyright": "Copyright 2014-2022 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
+ "definitions": {
+ "FanCollection": {
+ "anyOf": [
+ {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/idRef"
+ },
+ {
+ "additionalProperties": false,
+ "description": "The collection of Fan resource instances.",
+ "longDescription": "This resource shall represent a resource collection of Fan instances 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"
+ },
+ "Description": {
+ "anyOf": [
+ {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "readonly": true
+ },
+ "Members": {
+ "description": "The members of this collection.",
+ "items": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/Fan.json#/definitions/Fan"
+ },
+ "longDescription": "This property shall contain an array of links to the members of this collection.",
+ "readonly": true,
+ "type": "array"
+ },
+ "Members@odata.count": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
+ },
+ "Members@odata.nextLink": {
+ "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/nextLink"
+ },
+ "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 contained in this object shall conform to the Redfish Specification-described requirements."
+ }
+ },
+ "required": [
+ "Members",
+ "Members@odata.count",
+ "@odata.id",
+ "@odata.type",
+ "Name"
+ ],
+ "type": "object"
+ }
+ ],
+ "deletable": false,
+ "insertable": false,
+ "updatable": false,
+ "uris": [
+ "/redfish/v1/Chassis/{ChassisId}/ThermalSubsystem/Fans"
+ ]
+ }
+ },
+ "owningEntity": "DMTF",
+ "title": "#FanCollection.FanCollection"
+} \ No newline at end of file
diff --git a/static/redfish/v1/schema/FanCollection_v1.xml b/static/redfish/v1/schema/FanCollection_v1.xml
new file mode 100644
index 0000000000..db9ba63368
--- /dev/null
+++ b/static/redfish/v1/schema/FanCollection_v1.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!---->
+<!--################################################################################ -->
+<!--# Redfish Schema: FanCollection -->
+<!--# -->
+<!--# 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.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:Reference>
+ <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Fan_v1.xml">
+ <edmx:Include Namespace="Fan"/>
+ </edmx:Reference>
+
+ <edmx:DataServices>
+
+ <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="FanCollection">
+ <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+
+ <EntityType Name="FanCollection" BaseType="Resource.v1_0_0.ResourceCollection">
+ <Annotation Term="OData.Description" String="The collection of Fan resource instances."/>
+ <Annotation Term="OData.LongDescription" String="This resource shall represent a resource collection of Fan instances 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="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/Fans</String>
+ </Collection>
+ </Annotation>
+ <NavigationProperty Name="Members" Type="Collection(Fan.Fan)">
+ <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+ <Annotation Term="OData.Description" String="The members of this collection."/>
+ <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to the members of this collection."/>
+ <Annotation Term="OData.AutoExpandReferences"/>
+ <Annotation Term="Redfish.Required"/>
+ </NavigationProperty>
+ </EntityType>
+ </Schema>
+
+ </edmx:DataServices>
+</edmx:Edmx>
diff --git a/static/redfish/v1/schema/Fan_v1.xml b/static/redfish/v1/schema/Fan_v1.xml
new file mode 100644
index 0000000000..34d3d82263
--- /dev/null
+++ b/static/redfish/v1/schema/Fan_v1.xml
@@ -0,0 +1,233 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!---->
+<!--################################################################################ -->
+<!--# Redfish Schema: Fan v1.3.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://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Measures.V1.xml">
+ <edmx:Include Namespace="Org.OData.Measures.V1" Alias="Measures"/>
+ </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/PhysicalContext_v1.xml">
+ <edmx:Include Namespace="PhysicalContext"/>
+ </edmx:Reference>
+ <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Redundancy_v1.xml">
+ <edmx:Include Namespace="Redundancy"/>
+ </edmx:Reference>
+ <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Sensor_v1.xml">
+ <edmx:Include Namespace="Sensor"/>
+ </edmx:Reference>
+ <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Assembly_v1.xml">
+ <edmx:Include Namespace="Assembly"/>
+ </edmx:Reference>
+ <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Chassis_v1.xml">
+ <edmx:Include Namespace="Chassis"/>
+ </edmx:Reference>
+
+ <edmx:DataServices>
+
+ <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Fan">
+ <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+
+ <EntityType Name="Fan" BaseType="Resource.v1_0_0.Resource" Abstract="true">
+ <Annotation Term="OData.Description" String="The Fan schema describes a cooling fan unit for a computer system or similar devices contained within a chassis."/>
+ <Annotation Term="OData.LongDescription" String="This resource shall represent the management properties for monitoring and management of cooling fans 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="Any writable properties 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/Chassis/{ChassisId}/ThermalSubsystem/Fans/{FanId}</String>
+ </Collection>
+ </Annotation>
+ </EntityType>
+ </Schema>
+
+ <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Fan.v1_0_0">
+ <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+ <Annotation Term="Redfish.Release" String="2020.4"/>
+
+ <EntityType Name="Fan" BaseType="Fan.Fan">
+ <Property Name="PhysicalContext" Type="PhysicalContext.PhysicalContext" Nullable="false">
+ <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+ <Annotation Term="OData.Description" String="The area or device associated with this fan."/>
+ <Annotation Term="OData.LongDescription" String="This property shall contain a description of the affected device or region within the chassis with which this fan is associated."/>
+ </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>
+ <NavigationProperty Name="SpeedPercent" Type="Sensor.Sensor">
+ <Annotation Term="Redfish.ExcerptCopy" String="Fan"/>
+ <Annotation Term="OData.Description" String="The fan speed (percent)."/>
+ <Annotation Term="OData.LongDescription" String="This property shall contain the fan speed, in percent units, for this resource. The value of the DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property containing the value `Percent`."/>
+ </NavigationProperty>
+ <Property Name="Manufacturer" Type="Edm.String">
+ <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+ <Annotation Term="OData.Description" String="The manufacturer of this fan."/>
+ <Annotation Term="OData.LongDescription" String="This property shall contain the name of the organization responsible for producing the fan. This organization may be the entity from whom the fan is purchased, but this is not necessarily true."/>
+ </Property>
+ <Property Name="Model" Type="Edm.String">
+ <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+ <Annotation Term="OData.Description" String="The model number for this fan."/>
+ <Annotation Term="OData.LongDescription" String="This property shall contain the model information as defined by the manufacturer for this fan."/>
+ </Property>
+ <Property Name="SerialNumber" Type="Edm.String">
+ <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+ <Annotation Term="OData.Description" String="The serial number for this fan."/>
+ <Annotation Term="OData.LongDescription" String="This property shall contain the serial number as defined by the manufacturer for this fan."/>
+ </Property>
+ <Property Name="PartNumber" Type="Edm.String">
+ <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+ <Annotation Term="OData.Description" String="The part number for this fan."/>
+ <Annotation Term="OData.LongDescription" String="This property shall contain the part number as defined by the manufacturer for this fan."/>
+ </Property>
+ <Property Name="SparePartNumber" Type="Edm.String">
+ <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+ <Annotation Term="OData.Description" String="The spare part number for this fan."/>
+ <Annotation Term="OData.LongDescription" String="This property shall contain the spare or replacement part number as defined by the manufacturer for this fan."/>
+ </Property>
+ <Property Name="Location" Type="Resource.Location" Nullable="false">
+ <Annotation Term="OData.Description" String="The location of the fan."/>
+ <Annotation Term="OData.LongDescription" String="This property shall contain location information of this fan."/>
+ </Property>
+ <Property Name="LocationIndicatorActive" Type="Edm.Boolean">
+ <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
+ <Annotation Term="OData.Description" String="An indicator allowing an operator to physically locate this resource."/>
+ <Annotation Term="OData.LongDescription" String="This property shall contain the state of the indicator used to physically identify or locate this resource."/>
+ </Property>
+ <Property Name="HotPluggable" Type="Edm.Boolean">
+ <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+ <Annotation Term="OData.Description" String="An indication of whether this device can be inserted or removed while the equipment is in operation."/>
+ <Annotation Term="OData.LongDescription" String="This property shall indicate whether the device can be inserted or removed while the underlying equipment otherwise remains in its current operational state. Hot-pluggable devices can become operable without altering the operational state of the underlying equipment. Devices that cannot be inserted or removed from equipment in operation, or devices that cannot become operable without affecting the operational state of that equipment, shall be not hot-pluggable."/>
+ </Property>
+ <NavigationProperty Name="Assembly" Type="Assembly.Assembly" ContainsTarget="true" Nullable="false">
+ <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+ <Annotation Term="OData.Description" String="The link to the assembly associated with this fan."/>
+ <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource of type Assembly."/>
+ <Annotation Term="OData.AutoExpandReferences"/>
+ </NavigationProperty>
+ <Property Name="Actions" Type="Fan.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="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="Fan.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="Fan.v1_0_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="Fan" BaseType="Fan.v1_0_0.Fan"/>
+ </Schema>
+
+ <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Fan.v1_0_2">
+ <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."/>
+ <EntityType Name="Fan" BaseType="Fan.v1_0_1.Fan"/>
+ </Schema>
+
+ <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Fan.v1_1_0">
+ <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+ <Annotation Term="Redfish.Release" String="2021.1"/>
+
+ <EntityType Name="Fan" BaseType="Fan.v1_0_1.Fan">
+ <NavigationProperty Name="PowerWatts" Type="Sensor.Sensor">
+ <Annotation Term="Redfish.ExcerptCopy" String="Power"/>
+ <Annotation Term="OData.Description" String="Power consumption (W)."/>
+ <Annotation Term="OData.LongDescription" String="This property shall contain the total power, in watt units, for this resource. The value of the DataSourceUri property, if present, shall reference a resource of type Sensor with the ReadingType property containing the value `Power`."/>
+ </NavigationProperty>
+ </EntityType>
+ </Schema>
+
+ <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Fan.v1_1_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."/>
+ <EntityType Name="Fan" BaseType="Fan.v1_1_0.Fan"/>
+ </Schema>
+
+ <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Fan.v1_2_0">
+ <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+ <Annotation Term="Redfish.Release" String="2022.1"/>
+
+ <EntityType Name="Fan" BaseType="Fan.v1_1_1.Fan">
+ <Property Name="Links" Type="Fan.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="CoolingChassis" Type="Collection(Chassis.Chassis)">
+ <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+ <Annotation Term="OData.Description" String="An array of links to the chassis that are directly cooled by this fan."/>
+ <Annotation Term="OData.LongDescription" String="This property shall contain an array of links to resources of type Chassis that represent the chassis directly cooled by this fan. This property shall not be present if the fan is only providing cooling to its containing chassis."/>
+ <Annotation Term="OData.AutoExpandReferences"/>
+ </NavigationProperty>
+ </ComplexType>
+ </Schema>
+
+ <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Fan.v1_3_0">
+ <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
+ <Annotation Term="Redfish.Release" String="2022.2"/>
+
+ <EntityType Name="Fan" BaseType="Fan.v1_2_0.Fan">
+ <Property Name="Replaceable" Type="Edm.Boolean">
+ <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
+ <Annotation Term="OData.Description" String="An indication of whether this component can be independently replaced as allowed by the vendor's replacement policy."/>
+ <Annotation Term="OData.LongDescription" String="This property shall indicate whether this component can be independently replaced as allowed by the vendor's replacement policy. A value of `false` indicates the component needs to be replaced by policy, as part of another component. If the `LocationType` property of this component contains `Embedded`, this property shall contain `false`."/>
+ </Property>
+ </EntityType>
+ </Schema>
+
+ </edmx:DataServices>
+</edmx:Edmx>