redfish_codegen/models/telemetry_service/v1_3_2/
telemetry_service.rs

1// Generated by redfish-codegen. Do not modify.
2
3use crate::models;
4
5/// The TelemetryService schema describes a telemetry service.  The telemetry service is used to for collecting and reporting metric data within the Redfish Service.
6#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
7#[derive(derivative::Derivative)]
8#[derivative(Default)]
9pub struct TelemetryService {
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(\"#TelemetryService.v1_3_2.TelemetryService\".to_string())"))]
24    pub odata_type: models::odata_v4::Type,
25    #[serde(rename = "Actions")]
26    #[serde(default, skip_serializing_if = "Option::is_none")]
27    pub actions: Option<models::telemetry_service::v1_3_2::Actions>,
28    #[serde(rename = "Description")]
29    #[serde(default, skip_serializing_if = "Option::is_none")]
30    pub description: Option<models::resource::Description>,
31    #[serde(rename = "Id")]
32    #[serde(skip_deserializing)]
33    pub id: models::resource::Id,
34    #[serde(rename = "LogService")]
35    #[serde(default, skip_serializing_if = "Option::is_none")]
36    pub log_service: Option<models::odata_v4::IdRef>,
37    /// The maximum number of metric reports that this service supports.
38    #[serde(rename = "MaxReports")]
39    #[serde(default, skip_serializing_if = "Option::is_none")]
40    pub max_reports: Option<i64>,
41    #[serde(rename = "MetricDefinitions")]
42    #[serde(default, skip_serializing_if = "Option::is_none")]
43    pub metric_definitions: Option<models::odata_v4::IdRef>,
44    #[serde(rename = "MetricReportDefinitions")]
45    #[serde(default, skip_serializing_if = "Option::is_none")]
46    pub metric_report_definitions: Option<models::odata_v4::IdRef>,
47    #[serde(rename = "MetricReports")]
48    #[serde(default, skip_serializing_if = "Option::is_none")]
49    pub metric_reports: Option<models::odata_v4::IdRef>,
50    /// The minimum time interval between gathering metric data that this service allows.
51    #[serde(rename = "MinCollectionInterval")]
52    #[serde(default, skip_serializing_if = "Option::is_none")]
53    pub min_collection_interval: Option<String>,
54    #[serde(rename = "Name")]
55    #[serde(skip_deserializing)]
56    pub name: models::resource::Name,
57    #[serde(rename = "Oem")]
58    #[serde(default, skip_serializing_if = "Option::is_none")]
59    pub oem: Option<models::resource::Oem>,
60    /// An indication of whether this service is enabled.
61    #[serde(rename = "ServiceEnabled")]
62    #[serde(default, skip_serializing_if = "Option::is_none")]
63    pub service_enabled: Option<bool>,
64    #[serde(rename = "Status")]
65    #[serde(default, skip_serializing_if = "Option::is_none")]
66    pub status: Option<models::resource::Status>,
67    /// The functions that can be performed over each metric.
68    #[serde(rename = "SupportedCollectionFunctions")]
69    #[serde(default, skip_serializing_if = "Option::is_none")]
70    pub supported_collection_functions: Option<Vec<models::telemetry_service::v1_3_2::CollectionFunction>>,
71    #[serde(rename = "Triggers")]
72    #[serde(default, skip_serializing_if = "Option::is_none")]
73    pub triggers: Option<models::odata_v4::IdRef>,
74}
75
76impl crate::Metadata<'static> for TelemetryService {
77    const JSON_SCHEMA: &'static str = "TelemetryService.v1_3_2.json";
78}