use crate::models;
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct EthernetProperties {
#[serde(rename = "AssociatedMACAddresses")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub associated_mac_addresses: Option<Vec<String>>,
#[serde(rename = "EEEEnabled")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eee_enabled: Option<bool>,
#[serde(rename = "FlowControlConfiguration")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub flow_control_configuration: Option<models::port::v1_8_0::FlowControl>,
#[serde(rename = "FlowControlStatus")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub flow_control_status: Option<models::port::v1_8_0::FlowControl>,
#[serde(rename = "LLDPEnabled")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lldp_enabled: Option<bool>,
#[serde(rename = "LLDPReceive")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lldp_receive: Option<models::port::v1_8_0::LLDPReceive>,
#[serde(rename = "LLDPTransmit")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub lldp_transmit: Option<models::port::v1_8_0::LLDPTransmit>,
#[serde(rename = "SupportedEthernetCapabilities")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub supported_ethernet_capabilities: Option<Vec<models::port::v1_8_0::SupportedEthernetCapabilities>>,
#[serde(rename = "WakeOnLANEnabled")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub wake_on_lan_enabled: Option<bool>,
}
impl crate::Metadata<'static> for EthernetProperties {
const JSON_SCHEMA: &'static str = "Port.v1_8_0.json";
}