use crate::models;
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct EBGP {
#[serde(rename = "ASNumberRange")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub as_number_range: Option<models::address_pool::v1_2_1::ASNumberRange>,
#[serde(rename = "AllowDuplicateASEnabled")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allow_duplicate_as_enabled: Option<bool>,
#[serde(rename = "AllowOverrideASEnabled")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allow_override_as_enabled: Option<bool>,
#[serde(rename = "AlwaysCompareMEDEnabled")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub always_compare_med_enabled: Option<bool>,
#[serde(rename = "BGPLocalPreference")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bgp_local_preference: Option<i64>,
#[serde(rename = "BGPNeighbor")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bgp_neighbor: Option<models::address_pool::v1_2_1::BGPNeighbor>,
#[serde(rename = "BGPRoute")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bgp_route: Option<models::address_pool::v1_2_1::BGPRoute>,
#[serde(rename = "BGPWeight")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bgp_weight: Option<i64>,
#[serde(rename = "GracefulRestart")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub graceful_restart: Option<models::address_pool::v1_2_1::GracefulRestart>,
#[serde(rename = "MED")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub med: Option<i64>,
#[serde(rename = "MultihopEnabled")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub multihop_enabled: Option<bool>,
#[serde(rename = "MultihopTTL")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub multihop_ttl: Option<i64>,
#[serde(rename = "MultiplePaths")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub multiple_paths: Option<models::address_pool::v1_2_1::MultiplePaths>,
#[serde(rename = "SendCommunityEnabled")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub send_community_enabled: Option<bool>,
}
impl crate::Metadata<'static> for EBGP {
const JSON_SCHEMA: &'static str = "AddressPool.v1_2_1.json";
}