redfish_codegen/models/port_metrics/v1_4_0/
port_metrics.rs1use crate::models;
4
5#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
7#[derive(derivative::Derivative)]
8#[derivative(Default)]
9pub struct PortMetrics {
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(\"#PortMetrics.v1_4_0.PortMetrics\".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::port_metrics::v1_4_0::Actions>,
28 #[serde(rename = "CXL")]
29 #[serde(default, skip_serializing_if = "Option::is_none")]
30 pub cxl: Option<models::port_metrics::v1_4_0::CXL>,
31 #[serde(rename = "Description")]
32 #[serde(default, skip_serializing_if = "Option::is_none")]
33 pub description: Option<models::resource::Description>,
34 #[serde(rename = "FibreChannel")]
35 #[serde(default, skip_serializing_if = "Option::is_none")]
36 pub fibre_channel: Option<models::port_metrics::v1_4_0::FibreChannel>,
37 #[serde(rename = "GenZ")]
38 #[serde(default, skip_serializing_if = "Option::is_none")]
39 pub gen_z: Option<models::port_metrics::v1_4_0::GenZ>,
40 #[serde(rename = "Id")]
41 #[serde(skip_deserializing)]
42 pub id: models::resource::Id,
43 #[serde(rename = "Name")]
44 #[serde(skip_deserializing)]
45 pub name: models::resource::Name,
46 #[serde(rename = "Networking")]
47 #[serde(default, skip_serializing_if = "Option::is_none")]
48 pub networking: Option<models::port_metrics::v1_4_0::Networking>,
49 #[serde(rename = "Oem")]
50 #[serde(default, skip_serializing_if = "Option::is_none")]
51 pub oem: Option<models::resource::Oem>,
52 #[serde(rename = "PCIeErrors")]
53 #[serde(default, skip_serializing_if = "Option::is_none")]
54 pub pcie_errors: Option<models::pcie_device::PCIeErrors>,
55 #[serde(rename = "RXBytes")]
57 #[serde(default, skip_serializing_if = "Option::is_none")]
58 pub rx_bytes: Option<i64>,
59 #[serde(rename = "RXErrors")]
61 #[serde(default, skip_serializing_if = "Option::is_none")]
62 pub rx_errors: Option<i64>,
63 #[serde(rename = "SAS")]
65 #[serde(default, skip_serializing_if = "Option::is_none")]
66 pub sas: Option<Vec<models::port_metrics::v1_4_0::SAS>>,
67 #[serde(rename = "TXBytes")]
69 #[serde(default, skip_serializing_if = "Option::is_none")]
70 pub tx_bytes: Option<i64>,
71 #[serde(rename = "TXErrors")]
73 #[serde(default, skip_serializing_if = "Option::is_none")]
74 pub tx_errors: Option<i64>,
75 #[serde(rename = "Transceivers")]
77 #[serde(default, skip_serializing_if = "Option::is_none")]
78 pub transceivers: Option<Vec<models::port_metrics::v1_4_0::Transceiver>>,
79}
80
81impl crate::Metadata<'static> for PortMetrics {
82 const JSON_SCHEMA: &'static str = "PortMetrics.v1_4_0.json";
83}