redfish_codegen/models/metric_definition/v1_3_2/
metric_definition.rs1use crate::models;
4
5#[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 #[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 #[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 #[serde(rename = "CalculationTimeInterval")]
44 #[serde(default, skip_serializing_if = "Option::is_none")]
45 pub calculation_time_interval: Option<String>,
46 #[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 #[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 #[serde(rename = "IsLinear")]
65 #[serde(default, skip_serializing_if = "Option::is_none")]
66 pub is_linear: Option<bool>,
67 #[serde(rename = "LogicalContexts")]
69 #[serde(default, skip_serializing_if = "Option::is_none")]
70 pub logical_contexts: Option<Vec<models::physical_context::LogicalContext>>,
71 #[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 #[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 #[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 #[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 #[serde(rename = "Precision")]
104 #[serde(default, skip_serializing_if = "Option::is_none")]
105 pub precision: Option<i64>,
106 #[serde(rename = "SensingInterval")]
108 #[serde(default, skip_serializing_if = "Option::is_none")]
109 pub sensing_interval: Option<String>,
110 #[serde(rename = "TimestampAccuracy")]
112 #[serde(default, skip_serializing_if = "Option::is_none")]
113 pub timestamp_accuracy: Option<String>,
114 #[serde(rename = "Units")]
116 #[serde(default, skip_serializing_if = "Option::is_none")]
117 pub units: Option<String>,
118 #[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}