redfish-codegen 0.3.1

An unopinionated translation of the Redfish specification into Rust.
Documentation
// Generated by redfish-codegen. Do not modify.

use crate::models;

/// Ethernet-specific properties for a port.
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct EthernetProperties {
    /// An array of configured MAC addresses that are associated with this network port, including the programmed address of the lowest numbered network device function, the configured but not active address, if applicable, the address for hardware port teaming, or other network addresses.
    #[serde(rename = "AssociatedMACAddresses")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub associated_mac_addresses: Option<Vec<String>>,
    /// Indicates whether IEEE 802.3az Energy-Efficient Ethernet (EEE) is enabled on this port.
    #[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>,
    /// Enable/disable LLDP for this port.
    #[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>,
    /// The set of Ethernet capabilities that this port supports.
    #[serde(rename = "SupportedEthernetCapabilities")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub supported_ethernet_capabilities: Option<Vec<models::port::v1_8_0::SupportedEthernetCapabilities>>,
    /// Indicates whether Wake on LAN (WoL) is enabled on this port.
    #[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";
}