use crate::models;
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct CommonBGPProperties {
#[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 = "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 = "GracefulRestart")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub graceful_restart: Option<models::address_pool::v1_2_1::GracefulRestart>,
#[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 CommonBGPProperties {
const JSON_SCHEMA: &'static str = "AddressPool.v1_2_1.json";
}