redfish_codegen/models/metric_definition/v1_3_2/
metric_definition.rs

1// Generated by redfish-codegen. Do not modify.
2
3use crate::models;
4
5/// The MetricDefinition schema describes the metadata information for a metric.
6#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
7#[derive(derivative::Derivative)]
8#[derivative(Default)]
9pub struct MetricDefinition {
10    #[serde(rename = "@odata.context")]
11    #[serde(skip_deserializing)]
12    #[serde(default, skip_serializing_if = "Option::is_none")]
13    pub odata_context: Option<models::odata_v4::Context>,
14    #[serde(rename = "@odata.etag")]
15    #[serde(skip_deserializing)]
16    #[serde(default, skip_serializing_if = "Option::is_none")]
17    pub odata_etag: Option<models::odata_v4::Etag>,
18    #[serde(rename = "@odata.id")]
19    #[serde(skip_deserializing)]
20    pub odata_id: models::odata_v4::Id,
21    #[serde(rename = "@odata.type")]
22    #[serde(skip_deserializing)]
23    #[derivative(Default(value = "models::odata_v4::Type(\"#MetricDefinition.v1_3_2.MetricDefinition\".to_string())"))]
24    pub odata_type: models::odata_v4::Type,
25    /// The estimated percent error of measured versus actual values.
26    #[serde(rename = "Accuracy")]
27    #[serde(default, skip_serializing_if = "Option::is_none")]
28    pub accuracy: Option<f64>,
29    #[serde(rename = "Actions")]
30    #[serde(default, skip_serializing_if = "Option::is_none")]
31    pub actions: Option<models::metric_definition::v1_3_2::Actions>,
32    #[serde(rename = "Calculable")]
33    #[serde(default, skip_serializing_if = "Option::is_none")]
34    pub calculable: Option<models::metric_definition::v1_3_2::Calculable>,
35    #[serde(rename = "CalculationAlgorithm")]
36    #[serde(default, skip_serializing_if = "Option::is_none")]
37    pub calculation_algorithm: Option<models::metric_definition::v1_3_2::CalculationAlgorithmEnum>,
38    /// The metric properties that are part of a calculation that this metric definition defines.
39    #[serde(rename = "CalculationParameters")]
40    #[serde(default, skip_serializing_if = "Option::is_none")]
41    pub calculation_parameters: Option<Vec<models::metric_definition::v1_3_2::CalculationParamsType>>,
42    /// The time interval over which the metric calculation is performed.
43    #[serde(rename = "CalculationTimeInterval")]
44    #[serde(default, skip_serializing_if = "Option::is_none")]
45    pub calculation_time_interval: Option<String>,
46    /// The calibration offset added to the metric reading.
47    #[serde(rename = "Calibration")]
48    #[serde(default, skip_serializing_if = "Option::is_none")]
49    pub calibration: Option<f64>,
50    #[serde(rename = "Description")]
51    #[serde(default, skip_serializing_if = "Option::is_none")]
52    pub description: Option<models::resource::Description>,
53    /// This array property specifies possible values of a discrete metric.
54    #[serde(rename = "DiscreteValues")]
55    #[serde(default, skip_serializing_if = "Option::is_none")]
56    pub discrete_values: Option<Vec<String>>,
57    #[serde(rename = "Id")]
58    #[serde(skip_deserializing)]
59    pub id: models::resource::Id,
60    #[serde(rename = "Implementation")]
61    #[serde(default, skip_serializing_if = "Option::is_none")]
62    pub implementation: Option<models::metric_definition::v1_3_2::ImplementationType>,
63    /// An indication of whether the metric values are linear versus non-linear.
64    #[serde(rename = "IsLinear")]
65    #[serde(default, skip_serializing_if = "Option::is_none")]
66    pub is_linear: Option<bool>,
67    /// The logical contexts related to the metric.
68    #[serde(rename = "LogicalContexts")]
69    #[serde(default, skip_serializing_if = "Option::is_none")]
70    pub logical_contexts: Option<Vec<models::physical_context::LogicalContext>>,
71    /// Maximum value for metric reading.
72    #[serde(rename = "MaxReadingRange")]
73    #[serde(default, skip_serializing_if = "Option::is_none")]
74    pub max_reading_range: Option<f64>,
75    #[serde(rename = "MetricDataType")]
76    #[serde(default, skip_serializing_if = "Option::is_none")]
77    pub metric_data_type: Option<models::metric_definition::v1_3_2::MetricDataType>,
78    /// 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.
79    #[serde(rename = "MetricProperties")]
80    #[serde(default, skip_serializing_if = "Option::is_none")]
81    pub metric_properties: Option<Vec<String>>,
82    #[serde(rename = "MetricType")]
83    #[serde(default, skip_serializing_if = "Option::is_none")]
84    pub metric_type: Option<models::metric_definition::v1_3_2::MetricType>,
85    /// Minimum value for metric reading.
86    #[serde(rename = "MinReadingRange")]
87    #[serde(default, skip_serializing_if = "Option::is_none")]
88    pub min_reading_range: Option<f64>,
89    #[serde(rename = "Name")]
90    #[serde(skip_deserializing)]
91    pub name: models::resource::Name,
92    /// The OEM-defined calculation that is performed on a source metric to obtain the metric being defined.
93    #[serde(rename = "OEMCalculationAlgorithm")]
94    #[serde(default, skip_serializing_if = "Option::is_none")]
95    pub oem_calculation_algorithm: Option<String>,
96    #[serde(rename = "Oem")]
97    #[serde(default, skip_serializing_if = "Option::is_none")]
98    pub oem: Option<models::resource::Oem>,
99    #[serde(rename = "PhysicalContext")]
100    #[serde(default, skip_serializing_if = "Option::is_none")]
101    pub physical_context: Option<models::physical_context::PhysicalContext>,
102    /// Number of significant digits in the metric reading.
103    #[serde(rename = "Precision")]
104    #[serde(default, skip_serializing_if = "Option::is_none")]
105    pub precision: Option<i64>,
106    /// The time interval between when a metric is updated.
107    #[serde(rename = "SensingInterval")]
108    #[serde(default, skip_serializing_if = "Option::is_none")]
109    pub sensing_interval: Option<String>,
110    /// The accuracy of the timestamp.
111    #[serde(rename = "TimestampAccuracy")]
112    #[serde(default, skip_serializing_if = "Option::is_none")]
113    pub timestamp_accuracy: Option<String>,
114    /// The units of measure for this metric.
115    #[serde(rename = "Units")]
116    #[serde(default, skip_serializing_if = "Option::is_none")]
117    pub units: Option<String>,
118    /// The wildcards and their substitution values for the entries in the MetricProperties array property.
119    #[serde(rename = "Wildcards")]
120    #[serde(default, skip_serializing_if = "Option::is_none")]
121    pub wildcards: Option<Vec<models::metric_definition::v1_3_2::Wildcard>>,
122}
123
124impl crate::Metadata<'static> for MetricDefinition {
125    const JSON_SCHEMA: &'static str = "MetricDefinition.v1_3_2.json";
126}