use crate::models;
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct Ethernet {
#[serde(rename = "BFDSingleHopOnly")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bfd_single_hop_only: Option<models::address_pool::v1_2_1::BFDSingleHopOnly>,
#[serde(rename = "BGPEvpn")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bgp_evpn: Option<models::address_pool::v1_2_1::BGPEvpn>,
#[serde(rename = "EBGP")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ebgp: Option<models::address_pool::v1_2_1::EBGP>,
#[serde(rename = "IPv4")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ipv4: Option<models::address_pool::v1_2_1::IPv4>,
#[serde(rename = "MultiProtocolEBGP")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub multi_protocol_ebgp: Option<models::address_pool::v1_2_1::EBGP>,
#[serde(rename = "MultiProtocolIBGP")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub multi_protocol_ibgp: Option<models::address_pool::v1_2_1::CommonBGPProperties>,
}
impl crate::Metadata<'static> for Ethernet {
const JSON_SCHEMA: &'static str = "AddressPool.v1_2_1.json";
}