use crate::models;
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct CXLDevice {
#[serde(rename = "DeviceType")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub device_type: Option<models::pcie_device::v1_11_0::CXLDeviceType>,
#[serde(rename = "EgressPortCongestionSupport")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub egress_port_congestion_support: Option<bool>,
#[serde(rename = "MaxNumberLogicalDevices")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub max_number_logical_devices: Option<f64>,
#[serde(rename = "ThroughputReductionSupport")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub throughput_reduction_support: Option<bool>,
#[serde(rename = "Timestamp")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timestamp: Option<String>,
}
impl crate::Metadata<'static> for CXLDevice {
const JSON_SCHEMA: &'static str = "PCIeDevice.v1_11_0.json";
}