#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct Networking {
#[serde(rename = "RDMAProtectionErrors")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdma_protection_errors: Option<i64>,
#[serde(rename = "RDMAProtocolErrors")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdma_protocol_errors: Option<i64>,
#[serde(rename = "RDMARXBytes")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdmarx_bytes: Option<i64>,
#[serde(rename = "RDMARXRequests")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdmarx_requests: Option<i64>,
#[serde(rename = "RDMATXBytes")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdmatx_bytes: Option<i64>,
#[serde(rename = "RDMATXReadRequests")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdmatx_read_requests: Option<i64>,
#[serde(rename = "RDMATXRequests")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdmatx_requests: Option<i64>,
#[serde(rename = "RDMATXSendRequests")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdmatx_send_requests: Option<i64>,
#[serde(rename = "RDMATXWriteRequests")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rdmatx_write_requests: Option<i64>,
#[serde(rename = "RXBroadcastFrames")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rx_broadcast_frames: Option<i64>,
#[serde(rename = "RXDiscards")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rx_discards: Option<i64>,
#[serde(rename = "RXFCSErrors")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rxfcs_errors: Option<i64>,
#[serde(rename = "RXFalseCarrierErrors")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rx_false_carrier_errors: Option<i64>,
#[serde(rename = "RXFrameAlignmentErrors")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rx_frame_alignment_errors: Option<i64>,
#[serde(rename = "RXFrames")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rx_frames: Option<i64>,
#[serde(rename = "RXMulticastFrames")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rx_multicast_frames: Option<i64>,
#[serde(rename = "RXOversizeFrames")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rx_oversize_frames: Option<i64>,
#[serde(rename = "RXPFCFrames")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rxpfc_frames: Option<i64>,
#[serde(rename = "RXPauseXOFFFrames")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rx_pause_xoff_frames: Option<i64>,
#[serde(rename = "RXPauseXONFrames")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rx_pause_xon_frames: Option<i64>,
#[serde(rename = "RXUndersizeFrames")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rx_undersize_frames: Option<i64>,
#[serde(rename = "RXUnicastFrames")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rx_unicast_frames: Option<i64>,
#[serde(rename = "TXBroadcastFrames")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tx_broadcast_frames: Option<i64>,
#[serde(rename = "TXDiscards")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tx_discards: Option<i64>,
#[serde(rename = "TXExcessiveCollisions")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tx_excessive_collisions: Option<i64>,
#[serde(rename = "TXFrames")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tx_frames: Option<i64>,
#[serde(rename = "TXLateCollisions")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tx_late_collisions: Option<i64>,
#[serde(rename = "TXMulticastFrames")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tx_multicast_frames: Option<i64>,
#[serde(rename = "TXMultipleCollisions")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tx_multiple_collisions: Option<i64>,
#[serde(rename = "TXPFCFrames")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub txpfc_frames: Option<i64>,
#[serde(rename = "TXPauseXOFFFrames")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tx_pause_xoff_frames: Option<i64>,
#[serde(rename = "TXPauseXONFrames")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tx_pause_xon_frames: Option<i64>,
#[serde(rename = "TXSingleCollisions")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tx_single_collisions: Option<i64>,
#[serde(rename = "TXUnicastFrames")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tx_unicast_frames: Option<i64>,
}
impl crate::Metadata<'static> for Networking {
const JSON_SCHEMA: &'static str = "PortMetrics.v1_4_0.json";
}