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;

/// External BGP (eBGP) related properties for an Ethernet fabric.
#[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>,
    /// Allow duplicate Autonomous System (AS) path.
    #[serde(rename = "AllowDuplicateASEnabled")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub allow_duplicate_as_enabled: Option<bool>,
    /// Option to override an Autonomous System (AS) number with the AS number of the sending peer .
    #[serde(rename = "AllowOverrideASEnabled")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub allow_override_as_enabled: Option<bool>,
    /// Compare Multi Exit Discriminator (MED) status.
    #[serde(rename = "AlwaysCompareMEDEnabled")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub always_compare_med_enabled: Option<bool>,
    /// Local preference value.
    #[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>,
    /// BGP weight attribute.
    #[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>,
    /// BGP Multi Exit Discriminator (MED) value.
    #[serde(rename = "MED")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub med: Option<i64>,
    /// External BGP (eBGP) multihop status.
    #[serde(rename = "MultihopEnabled")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub multihop_enabled: Option<bool>,
    /// External BGP (eBGP) multihop Time to Live (TTL) value.
    #[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>,
    /// This property shall indicate whether community attributes are sent.
    #[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";
}