1*c6d7a45dSGunnar Mills{ 2*c6d7a45dSGunnar Mills "$id": "http://redfish.dmtf.org/schemas/v1/MetricDefinition.v1_3_5.json", 3*c6d7a45dSGunnar Mills "$ref": "#/definitions/MetricDefinition", 4*c6d7a45dSGunnar Mills "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json", 5*c6d7a45dSGunnar Mills "copyright": "Copyright 2014-2025 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright", 6*c6d7a45dSGunnar Mills "definitions": { 7*c6d7a45dSGunnar Mills "Actions": { 8*c6d7a45dSGunnar Mills "additionalProperties": false, 9*c6d7a45dSGunnar Mills "description": "The available actions for this resource.", 10*c6d7a45dSGunnar Mills "longDescription": "This type shall contain the available actions for this resource.", 11*c6d7a45dSGunnar Mills "patternProperties": { 12*c6d7a45dSGunnar Mills "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 13*c6d7a45dSGunnar Mills "description": "This property shall specify a valid odata or Redfish property.", 14*c6d7a45dSGunnar Mills "type": [ 15*c6d7a45dSGunnar Mills "array", 16*c6d7a45dSGunnar Mills "boolean", 17*c6d7a45dSGunnar Mills "integer", 18*c6d7a45dSGunnar Mills "number", 19*c6d7a45dSGunnar Mills "null", 20*c6d7a45dSGunnar Mills "object", 21*c6d7a45dSGunnar Mills "string" 22*c6d7a45dSGunnar Mills ] 23*c6d7a45dSGunnar Mills } 24*c6d7a45dSGunnar Mills }, 25*c6d7a45dSGunnar Mills "properties": { 26*c6d7a45dSGunnar Mills "Oem": { 27*c6d7a45dSGunnar Mills "$ref": "#/definitions/OemActions", 28*c6d7a45dSGunnar Mills "description": "The available OEM-specific actions for this resource.", 29*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the available OEM-specific actions for this resource." 30*c6d7a45dSGunnar Mills } 31*c6d7a45dSGunnar Mills }, 32*c6d7a45dSGunnar Mills "type": "object" 33*c6d7a45dSGunnar Mills }, 34*c6d7a45dSGunnar Mills "Calculable": { 35*c6d7a45dSGunnar Mills "description": "The types of calculations that can be applied to the metric reading. Provides information to the client on the suitability of calculation using the metric reading.", 36*c6d7a45dSGunnar Mills "enum": [ 37*c6d7a45dSGunnar Mills "NonCalculatable", 38*c6d7a45dSGunnar Mills "Summable", 39*c6d7a45dSGunnar Mills "NonSummable" 40*c6d7a45dSGunnar Mills ], 41*c6d7a45dSGunnar Mills "enumDescriptions": { 42*c6d7a45dSGunnar Mills "NonCalculatable": "No calculations should be performed on the metric reading.", 43*c6d7a45dSGunnar Mills "NonSummable": "The sum of the metric reading across multiple instances is not meaningful.", 44*c6d7a45dSGunnar Mills "Summable": "The sum of the metric reading across multiple instances is meaningful." 45*c6d7a45dSGunnar Mills }, 46*c6d7a45dSGunnar Mills "longDescription": "The type shall describe the types of calculations that can be applied to the metric reading.", 47*c6d7a45dSGunnar Mills "type": "string" 48*c6d7a45dSGunnar Mills }, 49*c6d7a45dSGunnar Mills "CalculationAlgorithmEnum": { 50*c6d7a45dSGunnar Mills "enum": [ 51*c6d7a45dSGunnar Mills "Average", 52*c6d7a45dSGunnar Mills "Maximum", 53*c6d7a45dSGunnar Mills "Minimum", 54*c6d7a45dSGunnar Mills "OEM" 55*c6d7a45dSGunnar Mills ], 56*c6d7a45dSGunnar Mills "enumDescriptions": { 57*c6d7a45dSGunnar Mills "Average": "The metric is calculated as the average metric reading over a sliding time interval.", 58*c6d7a45dSGunnar Mills "Maximum": "The metric is calculated as the maximum metric reading over during a time interval.", 59*c6d7a45dSGunnar Mills "Minimum": "The metric is calculated as the minimum metric reading over a sliding time interval.", 60*c6d7a45dSGunnar Mills "OEM": "The metric is calculated as specified by an OEM." 61*c6d7a45dSGunnar Mills }, 62*c6d7a45dSGunnar Mills "enumLongDescriptions": { 63*c6d7a45dSGunnar Mills "Average": "The metric shall be calculated as the average metric reading over a sliding time interval. The time interval shall contain the `CalculationTimeInterval` property value.", 64*c6d7a45dSGunnar Mills "Maximum": "The metric shall be calculated as the maximum metric reading over a sliding time interval. The time interval shall contain the `CalculationTimeInterval` property value.", 65*c6d7a45dSGunnar Mills "Minimum": "The metric shall be calculated as the minimum metric reading over a sliding time interval. The time interval shall contain the `CalculationTimeInterval` property value.", 66*c6d7a45dSGunnar Mills "OEM": "The metric shall be calculated as specified by an OEM. The `OEMCalculationAlgorithm` property shall contain the specific OEM calculation algorithm." 67*c6d7a45dSGunnar Mills }, 68*c6d7a45dSGunnar Mills "enumVersionAdded": { 69*c6d7a45dSGunnar Mills "OEM": "v1_1_0" 70*c6d7a45dSGunnar Mills }, 71*c6d7a45dSGunnar Mills "type": "string" 72*c6d7a45dSGunnar Mills }, 73*c6d7a45dSGunnar Mills "CalculationParamsType": { 74*c6d7a45dSGunnar Mills "additionalProperties": false, 75*c6d7a45dSGunnar Mills "description": "The parameters for a metric calculation.", 76*c6d7a45dSGunnar Mills "longDescription": "This type shall contain the parameters for a metric calculation.", 77*c6d7a45dSGunnar Mills "patternProperties": { 78*c6d7a45dSGunnar Mills "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 79*c6d7a45dSGunnar Mills "description": "This property shall specify a valid odata or Redfish property.", 80*c6d7a45dSGunnar Mills "type": [ 81*c6d7a45dSGunnar Mills "array", 82*c6d7a45dSGunnar Mills "boolean", 83*c6d7a45dSGunnar Mills "integer", 84*c6d7a45dSGunnar Mills "number", 85*c6d7a45dSGunnar Mills "null", 86*c6d7a45dSGunnar Mills "object", 87*c6d7a45dSGunnar Mills "string" 88*c6d7a45dSGunnar Mills ] 89*c6d7a45dSGunnar Mills } 90*c6d7a45dSGunnar Mills }, 91*c6d7a45dSGunnar Mills "properties": { 92*c6d7a45dSGunnar Mills "ResultMetric": { 93*c6d7a45dSGunnar Mills "description": "The URI with wildcards and property identifiers of the metric property that stores the result of the calculation. If the URI has wildcards, the wildcards are substituted as specified in the `Wildcards` property.", 94*c6d7a45dSGunnar Mills "longDescription": "This property shall contain a URI with wildcards and property identifiers of the metric property that stores the result of the calculation. 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 identify a resource property to which the metric definition applies. The property identifiers portion of the URI shall follow RFC6901-defined JSON pointer notation rules.", 95*c6d7a45dSGunnar Mills "readonly": true, 96*c6d7a45dSGunnar Mills "type": [ 97*c6d7a45dSGunnar Mills "string", 98*c6d7a45dSGunnar Mills "null" 99*c6d7a45dSGunnar Mills ] 100*c6d7a45dSGunnar Mills }, 101*c6d7a45dSGunnar Mills "SourceMetric": { 102*c6d7a45dSGunnar Mills "description": "The URI with wildcards and property identifiers of the metric property used as the input into the calculation. If the URI has wildcards, the wildcards are substituted as specified in the `Wildcards` property.", 103*c6d7a45dSGunnar Mills "longDescription": "This property shall contain a URI with wildcards and property identifiers of the metric property used as the input into the calculation. 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 identify a resource property to which the metric definition applies. The property identifiers portion of the URI shall follow RFC6901-defined JSON pointer notation rules.", 104*c6d7a45dSGunnar Mills "readonly": true, 105*c6d7a45dSGunnar Mills "type": [ 106*c6d7a45dSGunnar Mills "string", 107*c6d7a45dSGunnar Mills "null" 108*c6d7a45dSGunnar Mills ] 109*c6d7a45dSGunnar Mills } 110*c6d7a45dSGunnar Mills }, 111*c6d7a45dSGunnar Mills "type": "object" 112*c6d7a45dSGunnar Mills }, 113*c6d7a45dSGunnar Mills "ImplementationType": { 114*c6d7a45dSGunnar Mills "enum": [ 115*c6d7a45dSGunnar Mills "PhysicalSensor", 116*c6d7a45dSGunnar Mills "Calculated", 117*c6d7a45dSGunnar Mills "Synthesized", 118*c6d7a45dSGunnar Mills "DigitalMeter" 119*c6d7a45dSGunnar Mills ], 120*c6d7a45dSGunnar Mills "enumDescriptions": { 121*c6d7a45dSGunnar Mills "Calculated": "The metric is implemented by applying a calculation on another metric property. The calculation is specified in the `CalculationAlgorithm` property.", 122*c6d7a45dSGunnar Mills "DigitalMeter": "The metric is implemented as digital meter.", 123*c6d7a45dSGunnar Mills "PhysicalSensor": "The metric is implemented as a physical sensor.", 124*c6d7a45dSGunnar Mills "Synthesized": "The metric is implemented by applying a calculation on one or more metric properties. The calculation is not provided." 125*c6d7a45dSGunnar Mills }, 126*c6d7a45dSGunnar Mills "type": "string" 127*c6d7a45dSGunnar Mills }, 128*c6d7a45dSGunnar Mills "MetricDataType": { 129*c6d7a45dSGunnar Mills "description": "The data type of the related metric values. Provides information to the client on the nature of the metric reading.", 130*c6d7a45dSGunnar Mills "enum": [ 131*c6d7a45dSGunnar Mills "Boolean", 132*c6d7a45dSGunnar Mills "DateTime", 133*c6d7a45dSGunnar Mills "Decimal", 134*c6d7a45dSGunnar Mills "Integer", 135*c6d7a45dSGunnar Mills "String", 136*c6d7a45dSGunnar Mills "Enumeration" 137*c6d7a45dSGunnar Mills ], 138*c6d7a45dSGunnar Mills "enumDescriptions": { 139*c6d7a45dSGunnar Mills "Boolean": "The JSON boolean definition.", 140*c6d7a45dSGunnar Mills "DateTime": "The JSON string definition with the date-time format.", 141*c6d7a45dSGunnar Mills "Decimal": "The JSON decimal definition.", 142*c6d7a45dSGunnar Mills "Enumeration": "The JSON string definition with a set of defined enumerations.", 143*c6d7a45dSGunnar Mills "Integer": "The JSON integer definition.", 144*c6d7a45dSGunnar Mills "String": "The JSON string definition." 145*c6d7a45dSGunnar Mills }, 146*c6d7a45dSGunnar Mills "longDescription": "This type shall describe the data type of the related metric values as defined by JSON data types.", 147*c6d7a45dSGunnar Mills "type": "string" 148*c6d7a45dSGunnar Mills }, 149*c6d7a45dSGunnar Mills "MetricDefinition": { 150*c6d7a45dSGunnar Mills "additionalProperties": false, 151*c6d7a45dSGunnar Mills "description": "The `MetricDefinition` schema describes the metadata information for a metric.", 152*c6d7a45dSGunnar Mills "longDescription": "This resource shall contain the metadata information for a metric in a Redfish implementation.", 153*c6d7a45dSGunnar Mills "patternProperties": { 154*c6d7a45dSGunnar Mills "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 155*c6d7a45dSGunnar Mills "description": "This property shall specify a valid odata or Redfish property.", 156*c6d7a45dSGunnar Mills "type": [ 157*c6d7a45dSGunnar Mills "array", 158*c6d7a45dSGunnar Mills "boolean", 159*c6d7a45dSGunnar Mills "integer", 160*c6d7a45dSGunnar Mills "number", 161*c6d7a45dSGunnar Mills "null", 162*c6d7a45dSGunnar Mills "object", 163*c6d7a45dSGunnar Mills "string" 164*c6d7a45dSGunnar Mills ] 165*c6d7a45dSGunnar Mills } 166*c6d7a45dSGunnar Mills }, 167*c6d7a45dSGunnar Mills "properties": { 168*c6d7a45dSGunnar Mills "@odata.context": { 169*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context" 170*c6d7a45dSGunnar Mills }, 171*c6d7a45dSGunnar Mills "@odata.etag": { 172*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag" 173*c6d7a45dSGunnar Mills }, 174*c6d7a45dSGunnar Mills "@odata.id": { 175*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id" 176*c6d7a45dSGunnar Mills }, 177*c6d7a45dSGunnar Mills "@odata.type": { 178*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type" 179*c6d7a45dSGunnar Mills }, 180*c6d7a45dSGunnar Mills "Accuracy": { 181*c6d7a45dSGunnar Mills "description": "The estimated percent error of measured versus actual values.", 182*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the percent error +/- of the measured versus actual values. The property is not meaningful when the `MetricType` property is `Discrete`.", 183*c6d7a45dSGunnar Mills "readonly": true, 184*c6d7a45dSGunnar Mills "type": [ 185*c6d7a45dSGunnar Mills "number", 186*c6d7a45dSGunnar Mills "null" 187*c6d7a45dSGunnar Mills ] 188*c6d7a45dSGunnar Mills }, 189*c6d7a45dSGunnar Mills "Actions": { 190*c6d7a45dSGunnar Mills "$ref": "#/definitions/Actions", 191*c6d7a45dSGunnar Mills "description": "The available actions for this resource.", 192*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the available actions for this resource." 193*c6d7a45dSGunnar Mills }, 194*c6d7a45dSGunnar Mills "Calculable": { 195*c6d7a45dSGunnar Mills "anyOf": [ 196*c6d7a45dSGunnar Mills { 197*c6d7a45dSGunnar Mills "$ref": "#/definitions/Calculable" 198*c6d7a45dSGunnar Mills }, 199*c6d7a45dSGunnar Mills { 200*c6d7a45dSGunnar Mills "type": "null" 201*c6d7a45dSGunnar Mills } 202*c6d7a45dSGunnar Mills ], 203*c6d7a45dSGunnar Mills "description": "An indication of whether the metric can be used in a calculation.", 204*c6d7a45dSGunnar Mills "longDescription": "This property shall specify whether the metric can be used in a calculation.", 205*c6d7a45dSGunnar Mills "readonly": false 206*c6d7a45dSGunnar Mills }, 207*c6d7a45dSGunnar Mills "CalculationAlgorithm": { 208*c6d7a45dSGunnar Mills "anyOf": [ 209*c6d7a45dSGunnar Mills { 210*c6d7a45dSGunnar Mills "$ref": "#/definitions/CalculationAlgorithmEnum" 211*c6d7a45dSGunnar Mills }, 212*c6d7a45dSGunnar Mills { 213*c6d7a45dSGunnar Mills "type": "null" 214*c6d7a45dSGunnar Mills } 215*c6d7a45dSGunnar Mills ], 216*c6d7a45dSGunnar Mills "description": "The calculation that is performed on a source metric to obtain the metric being defined.", 217*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the calculation performed to obtain the metric.", 218*c6d7a45dSGunnar Mills "readonly": true 219*c6d7a45dSGunnar Mills }, 220*c6d7a45dSGunnar Mills "CalculationParameters": { 221*c6d7a45dSGunnar Mills "description": "The metric properties that are part of a calculation that this metric definition defines.", 222*c6d7a45dSGunnar Mills "items": { 223*c6d7a45dSGunnar Mills "anyOf": [ 224*c6d7a45dSGunnar Mills { 225*c6d7a45dSGunnar Mills "$ref": "#/definitions/CalculationParamsType" 226*c6d7a45dSGunnar Mills }, 227*c6d7a45dSGunnar Mills { 228*c6d7a45dSGunnar Mills "type": "null" 229*c6d7a45dSGunnar Mills } 230*c6d7a45dSGunnar Mills ] 231*c6d7a45dSGunnar Mills }, 232*c6d7a45dSGunnar Mills "longDescription": "This property shall list the metric properties that are part of a calculation that this metric definition defines. This property should be present if `ImplementationType` contains `Synthesized` or `Calculated`.", 233*c6d7a45dSGunnar Mills "type": "array" 234*c6d7a45dSGunnar Mills }, 235*c6d7a45dSGunnar Mills "CalculationTimeInterval": { 236*c6d7a45dSGunnar Mills "description": "The time interval over which the metric calculation is performed.", 237*c6d7a45dSGunnar Mills "longDescription": "This property shall specify the time interval over the metric calculation is performed.", 238*c6d7a45dSGunnar Mills "pattern": "^P(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(.\\d+)?S)?)?$", 239*c6d7a45dSGunnar Mills "readonly": false, 240*c6d7a45dSGunnar Mills "type": [ 241*c6d7a45dSGunnar Mills "string", 242*c6d7a45dSGunnar Mills "null" 243*c6d7a45dSGunnar Mills ] 244*c6d7a45dSGunnar Mills }, 245*c6d7a45dSGunnar Mills "Calibration": { 246*c6d7a45dSGunnar Mills "description": "The calibration offset added to the metric reading.", 247*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the calibration offset added to the metric reading. The value shall have the units specified in the `Units` property. The property is not meaningful when the `MetricType` property is `Discrete`.", 248*c6d7a45dSGunnar Mills "readonly": true, 249*c6d7a45dSGunnar Mills "type": [ 250*c6d7a45dSGunnar Mills "number", 251*c6d7a45dSGunnar Mills "null" 252*c6d7a45dSGunnar Mills ] 253*c6d7a45dSGunnar Mills }, 254*c6d7a45dSGunnar Mills "Description": { 255*c6d7a45dSGunnar Mills "anyOf": [ 256*c6d7a45dSGunnar Mills { 257*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description" 258*c6d7a45dSGunnar Mills }, 259*c6d7a45dSGunnar Mills { 260*c6d7a45dSGunnar Mills "type": "null" 261*c6d7a45dSGunnar Mills } 262*c6d7a45dSGunnar Mills ], 263*c6d7a45dSGunnar Mills "readonly": true 264*c6d7a45dSGunnar Mills }, 265*c6d7a45dSGunnar Mills "DiscreteValues": { 266*c6d7a45dSGunnar Mills "description": "This array property specifies possible values of a discrete metric.", 267*c6d7a45dSGunnar Mills "items": { 268*c6d7a45dSGunnar Mills "type": [ 269*c6d7a45dSGunnar Mills "string", 270*c6d7a45dSGunnar Mills "null" 271*c6d7a45dSGunnar Mills ] 272*c6d7a45dSGunnar Mills }, 273*c6d7a45dSGunnar Mills "longDescription": "The values of the property shall specify the possible values of the discrete metric. This property shall have values when the `MetricType` property is `Discrete`.", 274*c6d7a45dSGunnar Mills "readonly": false, 275*c6d7a45dSGunnar Mills "type": "array" 276*c6d7a45dSGunnar Mills }, 277*c6d7a45dSGunnar Mills "Id": { 278*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id", 279*c6d7a45dSGunnar Mills "readonly": true 280*c6d7a45dSGunnar Mills }, 281*c6d7a45dSGunnar Mills "Implementation": { 282*c6d7a45dSGunnar Mills "anyOf": [ 283*c6d7a45dSGunnar Mills { 284*c6d7a45dSGunnar Mills "$ref": "#/definitions/ImplementationType" 285*c6d7a45dSGunnar Mills }, 286*c6d7a45dSGunnar Mills { 287*c6d7a45dSGunnar Mills "type": "null" 288*c6d7a45dSGunnar Mills } 289*c6d7a45dSGunnar Mills ], 290*c6d7a45dSGunnar Mills "description": "The implementation of the metric.", 291*c6d7a45dSGunnar Mills "longDescription": "This property shall specify the implementation of the metric.", 292*c6d7a45dSGunnar Mills "readonly": true 293*c6d7a45dSGunnar Mills }, 294*c6d7a45dSGunnar Mills "IsLinear": { 295*c6d7a45dSGunnar Mills "description": "An indication of whether the metric values are linear versus non-linear.", 296*c6d7a45dSGunnar Mills "longDescription": "This property shall indicate whether the metric values are linear versus non-linear. Linear metrics can use a greater than relation to compared them. An example of linear metrics include performance metrics. Examples of non-linear metrics include error codes.", 297*c6d7a45dSGunnar Mills "readonly": false, 298*c6d7a45dSGunnar Mills "type": [ 299*c6d7a45dSGunnar Mills "boolean", 300*c6d7a45dSGunnar Mills "null" 301*c6d7a45dSGunnar Mills ] 302*c6d7a45dSGunnar Mills }, 303*c6d7a45dSGunnar Mills "LogicalContexts": { 304*c6d7a45dSGunnar Mills "description": "The logical contexts related to the metric.", 305*c6d7a45dSGunnar Mills "items": { 306*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/PhysicalContext.json#/definitions/LogicalContext" 307*c6d7a45dSGunnar Mills }, 308*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the logical contexts related to the metric. This property should be present when the `PhysicalContext` property does not provide complete information and additional context information is needed. For example, if the metric refers to capacity or performance.", 309*c6d7a45dSGunnar Mills "readonly": true, 310*c6d7a45dSGunnar Mills "type": "array", 311*c6d7a45dSGunnar Mills "versionAdded": "v1_3_0" 312*c6d7a45dSGunnar Mills }, 313*c6d7a45dSGunnar Mills "MaxReadingRange": { 314*c6d7a45dSGunnar Mills "description": "Maximum value for metric reading.", 315*c6d7a45dSGunnar Mills "longDescription": "The value shall indicate the highest possible value for a related MetricValue. The value shall have the units specified in the property Units. The property is not meaningful when the `MetricType` property is `Discrete`.", 316*c6d7a45dSGunnar Mills "readonly": true, 317*c6d7a45dSGunnar Mills "type": [ 318*c6d7a45dSGunnar Mills "number", 319*c6d7a45dSGunnar Mills "null" 320*c6d7a45dSGunnar Mills ] 321*c6d7a45dSGunnar Mills }, 322*c6d7a45dSGunnar Mills "MetricDataType": { 323*c6d7a45dSGunnar Mills "anyOf": [ 324*c6d7a45dSGunnar Mills { 325*c6d7a45dSGunnar Mills "$ref": "#/definitions/MetricDataType" 326*c6d7a45dSGunnar Mills }, 327*c6d7a45dSGunnar Mills { 328*c6d7a45dSGunnar Mills "type": "null" 329*c6d7a45dSGunnar Mills } 330*c6d7a45dSGunnar Mills ], 331*c6d7a45dSGunnar Mills "description": "The data type of the metric.", 332*c6d7a45dSGunnar Mills "longDescription": "This property shall specify the data-type of the metric.", 333*c6d7a45dSGunnar Mills "readonly": false 334*c6d7a45dSGunnar Mills }, 335*c6d7a45dSGunnar Mills "MetricProperties": { 336*c6d7a45dSGunnar Mills "description": "The list of URIs with wildcards and property identifiers that this metric definition defines. If a URI has wildcards, the wildcards are substituted as specified in the `Wildcards` property.", 337*c6d7a45dSGunnar Mills "format": "uri-reference", 338*c6d7a45dSGunnar Mills "items": { 339*c6d7a45dSGunnar Mills "type": [ 340*c6d7a45dSGunnar Mills "string", 341*c6d7a45dSGunnar Mills "null" 342*c6d7a45dSGunnar Mills ] 343*c6d7a45dSGunnar Mills }, 344*c6d7a45dSGunnar Mills "longDescription": "This array property shall list the URIs with wildcards and property identifiers that this metric defines. 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 identify a resource property to which the metric definition applies. The property identifiers portion of the URI shall follow RFC6901-defined JSON pointer notation rules. This property should not be present if `ImplementationType` contains `Synthesized` or `Calculated`.", 345*c6d7a45dSGunnar Mills "readonly": false, 346*c6d7a45dSGunnar Mills "type": "array" 347*c6d7a45dSGunnar Mills }, 348*c6d7a45dSGunnar Mills "MetricType": { 349*c6d7a45dSGunnar Mills "anyOf": [ 350*c6d7a45dSGunnar Mills { 351*c6d7a45dSGunnar Mills "$ref": "#/definitions/MetricType" 352*c6d7a45dSGunnar Mills }, 353*c6d7a45dSGunnar Mills { 354*c6d7a45dSGunnar Mills "type": "null" 355*c6d7a45dSGunnar Mills } 356*c6d7a45dSGunnar Mills ], 357*c6d7a45dSGunnar Mills "description": "The type of metric.", 358*c6d7a45dSGunnar Mills "longDescription": "This property shall specify the type of metric.", 359*c6d7a45dSGunnar Mills "readonly": false 360*c6d7a45dSGunnar Mills }, 361*c6d7a45dSGunnar Mills "MinReadingRange": { 362*c6d7a45dSGunnar Mills "description": "Minimum value for metric reading.", 363*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the lowest possible value for the metric reading. The value shall have the units specified in the property Units. The property is not meaningful when the `MetricType` property is `Discrete`.", 364*c6d7a45dSGunnar Mills "readonly": true, 365*c6d7a45dSGunnar Mills "type": [ 366*c6d7a45dSGunnar Mills "number", 367*c6d7a45dSGunnar Mills "null" 368*c6d7a45dSGunnar Mills ] 369*c6d7a45dSGunnar Mills }, 370*c6d7a45dSGunnar Mills "Name": { 371*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name", 372*c6d7a45dSGunnar Mills "readonly": true 373*c6d7a45dSGunnar Mills }, 374*c6d7a45dSGunnar Mills "OEMCalculationAlgorithm": { 375*c6d7a45dSGunnar Mills "description": "The OEM-defined calculation that is performed on a source metric to obtain the metric being defined.", 376*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the OEM-defined calculation performed to obtain the metric. This property shall be present if `CalculationAlgorithm` is `OEM`.", 377*c6d7a45dSGunnar Mills "readonly": true, 378*c6d7a45dSGunnar Mills "type": [ 379*c6d7a45dSGunnar Mills "string", 380*c6d7a45dSGunnar Mills "null" 381*c6d7a45dSGunnar Mills ], 382*c6d7a45dSGunnar Mills "versionAdded": "v1_1_0" 383*c6d7a45dSGunnar Mills }, 384*c6d7a45dSGunnar Mills "Oem": { 385*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem", 386*c6d7a45dSGunnar Mills "description": "The OEM extension property.", 387*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements." 388*c6d7a45dSGunnar Mills }, 389*c6d7a45dSGunnar Mills "PhysicalContext": { 390*c6d7a45dSGunnar Mills "anyOf": [ 391*c6d7a45dSGunnar Mills { 392*c6d7a45dSGunnar Mills "$ref": "http://redfish.dmtf.org/schemas/v1/PhysicalContext.json#/definitions/PhysicalContext" 393*c6d7a45dSGunnar Mills }, 394*c6d7a45dSGunnar Mills { 395*c6d7a45dSGunnar Mills "type": "null" 396*c6d7a45dSGunnar Mills } 397*c6d7a45dSGunnar Mills ], 398*c6d7a45dSGunnar Mills "description": "The physical context of the metric.", 399*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the physical context of the metric.", 400*c6d7a45dSGunnar Mills "readonly": true 401*c6d7a45dSGunnar Mills }, 402*c6d7a45dSGunnar Mills "Precision": { 403*c6d7a45dSGunnar Mills "description": "Number of significant digits in the metric reading.", 404*c6d7a45dSGunnar Mills "longDescription": "This property shall specify the number of significant digits in the metric reading. The property is not meaningful when the `MetricType` property is `Discrete`.", 405*c6d7a45dSGunnar Mills "readonly": true, 406*c6d7a45dSGunnar Mills "type": [ 407*c6d7a45dSGunnar Mills "integer", 408*c6d7a45dSGunnar Mills "null" 409*c6d7a45dSGunnar Mills ] 410*c6d7a45dSGunnar Mills }, 411*c6d7a45dSGunnar Mills "SensingInterval": { 412*c6d7a45dSGunnar Mills "description": "The time interval between when a metric is updated.", 413*c6d7a45dSGunnar Mills "longDescription": "This property shall specify the time interval between when a metric is updated.", 414*c6d7a45dSGunnar Mills "pattern": "^P(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(.\\d+)?S)?)?$", 415*c6d7a45dSGunnar Mills "readonly": false, 416*c6d7a45dSGunnar Mills "type": [ 417*c6d7a45dSGunnar Mills "string", 418*c6d7a45dSGunnar Mills "null" 419*c6d7a45dSGunnar Mills ] 420*c6d7a45dSGunnar Mills }, 421*c6d7a45dSGunnar Mills "TimestampAccuracy": { 422*c6d7a45dSGunnar Mills "description": "The accuracy of the timestamp.", 423*c6d7a45dSGunnar Mills "longDescription": "This property shall specify the expected + or - variability of the timestamp.", 424*c6d7a45dSGunnar Mills "pattern": "^P(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(.\\d+)?S)?)?$", 425*c6d7a45dSGunnar Mills "readonly": true, 426*c6d7a45dSGunnar Mills "type": [ 427*c6d7a45dSGunnar Mills "string", 428*c6d7a45dSGunnar Mills "null" 429*c6d7a45dSGunnar Mills ] 430*c6d7a45dSGunnar Mills }, 431*c6d7a45dSGunnar Mills "Units": { 432*c6d7a45dSGunnar Mills "description": "The units of measure for this metric.", 433*c6d7a45dSGunnar Mills "longDescription": "This property shall specify the units of the metric. This property shall be consistent with the case-sensitive ('C/s' column) Unified Code for Units of Measure. Note: Not all units of measure are covered by UCUM.", 434*c6d7a45dSGunnar Mills "readonly": false, 435*c6d7a45dSGunnar Mills "type": [ 436*c6d7a45dSGunnar Mills "string", 437*c6d7a45dSGunnar Mills "null" 438*c6d7a45dSGunnar Mills ] 439*c6d7a45dSGunnar Mills }, 440*c6d7a45dSGunnar Mills "Wildcards": { 441*c6d7a45dSGunnar Mills "description": "The wildcards and their substitution values for the entries in the `MetricProperties` array property.", 442*c6d7a45dSGunnar Mills "items": { 443*c6d7a45dSGunnar Mills "$ref": "#/definitions/Wildcard" 444*c6d7a45dSGunnar Mills }, 445*c6d7a45dSGunnar Mills "longDescription": "The property shall contain a list of wildcards and their replacement strings, which are applied to the `MetricProperties` array property. Each wildcard shall have a corresponding entry in this array property.", 446*c6d7a45dSGunnar Mills "type": "array" 447*c6d7a45dSGunnar Mills } 448*c6d7a45dSGunnar Mills }, 449*c6d7a45dSGunnar Mills "required": [ 450*c6d7a45dSGunnar Mills "@odata.id", 451*c6d7a45dSGunnar Mills "@odata.type", 452*c6d7a45dSGunnar Mills "Id", 453*c6d7a45dSGunnar Mills "Name" 454*c6d7a45dSGunnar Mills ], 455*c6d7a45dSGunnar Mills "type": "object" 456*c6d7a45dSGunnar Mills }, 457*c6d7a45dSGunnar Mills "MetricType": { 458*c6d7a45dSGunnar Mills "description": "The type of metric. Provides information to the client on how the metric can be handled.", 459*c6d7a45dSGunnar Mills "enum": [ 460*c6d7a45dSGunnar Mills "Numeric", 461*c6d7a45dSGunnar Mills "Discrete", 462*c6d7a45dSGunnar Mills "Gauge", 463*c6d7a45dSGunnar Mills "Counter", 464*c6d7a45dSGunnar Mills "Countdown", 465*c6d7a45dSGunnar Mills "String" 466*c6d7a45dSGunnar Mills ], 467*c6d7a45dSGunnar Mills "enumDescriptions": { 468*c6d7a45dSGunnar Mills "Countdown": "The metric is a countdown metric. The metric reading is a non-negative integer that decreases monotonically. When a counter reaches its minimum, the value resets to preset value and resumes counting down.", 469*c6d7a45dSGunnar Mills "Counter": "The metric is a counter metric. The metric reading is a non-negative integer that increases monotonically. When a counter reaches its maximum, the value resets to 0 and resumes counting.", 470*c6d7a45dSGunnar Mills "Discrete": "The metric is a discrete metric. The metric value is discrete. The possible values are listed in the `DiscreteValues` property.", 471*c6d7a45dSGunnar Mills "Gauge": "The metric is a gauge metric. The metric value is a real number. When the metric value reaches the gauge's extrema, it stays at that value, until the reading falls within the extrema.", 472*c6d7a45dSGunnar Mills "Numeric": "The metric is a numeric metric. The metric value is any real number.", 473*c6d7a45dSGunnar Mills "String": "The metric is a non-discrete string metric. The metric reading is a non-discrete string that displays some non-discrete, non-numeric data." 474*c6d7a45dSGunnar Mills }, 475*c6d7a45dSGunnar Mills "enumLongDescriptions": { 476*c6d7a45dSGunnar Mills "Discrete": "The metric values shall indicate discrete states." 477*c6d7a45dSGunnar Mills }, 478*c6d7a45dSGunnar Mills "enumVersionAdded": { 479*c6d7a45dSGunnar Mills "String": "v1_2_0" 480*c6d7a45dSGunnar Mills }, 481*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the type of metric.", 482*c6d7a45dSGunnar Mills "type": "string" 483*c6d7a45dSGunnar Mills }, 484*c6d7a45dSGunnar Mills "OemActions": { 485*c6d7a45dSGunnar Mills "additionalProperties": true, 486*c6d7a45dSGunnar Mills "description": "The available OEM-specific actions for this resource.", 487*c6d7a45dSGunnar Mills "longDescription": "This type shall contain the available OEM-specific actions for this resource.", 488*c6d7a45dSGunnar Mills "patternProperties": { 489*c6d7a45dSGunnar Mills "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 490*c6d7a45dSGunnar Mills "description": "This property shall specify a valid odata or Redfish property.", 491*c6d7a45dSGunnar Mills "type": [ 492*c6d7a45dSGunnar Mills "array", 493*c6d7a45dSGunnar Mills "boolean", 494*c6d7a45dSGunnar Mills "integer", 495*c6d7a45dSGunnar Mills "number", 496*c6d7a45dSGunnar Mills "null", 497*c6d7a45dSGunnar Mills "object", 498*c6d7a45dSGunnar Mills "string" 499*c6d7a45dSGunnar Mills ] 500*c6d7a45dSGunnar Mills } 501*c6d7a45dSGunnar Mills }, 502*c6d7a45dSGunnar Mills "properties": {}, 503*c6d7a45dSGunnar Mills "type": "object" 504*c6d7a45dSGunnar Mills }, 505*c6d7a45dSGunnar Mills "Wildcard": { 506*c6d7a45dSGunnar Mills "additionalProperties": false, 507*c6d7a45dSGunnar Mills "description": "The wildcard and its substitution values.", 508*c6d7a45dSGunnar Mills "longDescription": "This property shall contain a wildcard and its substitution values.", 509*c6d7a45dSGunnar Mills "patternProperties": { 510*c6d7a45dSGunnar Mills "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 511*c6d7a45dSGunnar Mills "description": "This property shall specify a valid odata or Redfish property.", 512*c6d7a45dSGunnar Mills "type": [ 513*c6d7a45dSGunnar Mills "array", 514*c6d7a45dSGunnar Mills "boolean", 515*c6d7a45dSGunnar Mills "integer", 516*c6d7a45dSGunnar Mills "number", 517*c6d7a45dSGunnar Mills "null", 518*c6d7a45dSGunnar Mills "object", 519*c6d7a45dSGunnar Mills "string" 520*c6d7a45dSGunnar Mills ] 521*c6d7a45dSGunnar Mills } 522*c6d7a45dSGunnar Mills }, 523*c6d7a45dSGunnar Mills "properties": { 524*c6d7a45dSGunnar Mills "Name": { 525*c6d7a45dSGunnar Mills "description": "The string used as a wildcard.", 526*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the string used as a wildcard.", 527*c6d7a45dSGunnar Mills "readonly": true, 528*c6d7a45dSGunnar Mills "type": [ 529*c6d7a45dSGunnar Mills "string", 530*c6d7a45dSGunnar Mills "null" 531*c6d7a45dSGunnar Mills ] 532*c6d7a45dSGunnar Mills }, 533*c6d7a45dSGunnar Mills "Values": { 534*c6d7a45dSGunnar Mills "description": "An array of values to substitute for the wildcard. `*` indicates all possible values for the wildcard.", 535*c6d7a45dSGunnar Mills "items": { 536*c6d7a45dSGunnar Mills "type": [ 537*c6d7a45dSGunnar Mills "string", 538*c6d7a45dSGunnar Mills "null" 539*c6d7a45dSGunnar Mills ] 540*c6d7a45dSGunnar Mills }, 541*c6d7a45dSGunnar Mills "longDescription": "This property shall contain the list of values to substitute for the wildcard. The value `*` shall indicate all possible values for the wildcard.", 542*c6d7a45dSGunnar Mills "readonly": true, 543*c6d7a45dSGunnar Mills "type": "array" 544*c6d7a45dSGunnar Mills } 545*c6d7a45dSGunnar Mills }, 546*c6d7a45dSGunnar Mills "type": "object" 547*c6d7a45dSGunnar Mills } 548*c6d7a45dSGunnar Mills }, 549*c6d7a45dSGunnar Mills "language": "en", 550*c6d7a45dSGunnar Mills "owningEntity": "DMTF", 551*c6d7a45dSGunnar Mills "release": "2022.1", 552*c6d7a45dSGunnar Mills "title": "#MetricDefinition.v1_3_5.MetricDefinition" 553*c6d7a45dSGunnar Mills}