use serde::{Deserialize, Serialize}; /*
                                      * Compute Engine API
                                      *
                                      * Creates and runs virtual machines on Google Cloud Platform.
                                      *
                                      * The version of the OpenAPI document: v1
                                      *
                                      * Generated by: https://openapi-generator.tech
                                      */

#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct RouterStatus {
    /// Best routes for this router's network.
    #[serde(rename = "bestRoutes", skip_serializing_if = "Option::is_none")]
    pub best_routes: Option<Vec<crate::google_rest_apis::compute_v1::models::Route>>,
    /// Best routes learned by this router.
    #[serde(
        rename = "bestRoutesForRouter",
        skip_serializing_if = "Option::is_none"
    )]
    pub best_routes_for_router: Option<Vec<crate::google_rest_apis::compute_v1::models::Route>>,
    #[serde(rename = "bgpPeerStatus", skip_serializing_if = "Option::is_none")]
    pub bgp_peer_status:
        Option<Vec<crate::google_rest_apis::compute_v1::models::RouterStatusBgpPeerStatus>>,
    #[serde(rename = "natStatus", skip_serializing_if = "Option::is_none")]
    pub nat_status: Option<Vec<crate::google_rest_apis::compute_v1::models::RouterStatusNatStatus>>,
    /// URI of the network to which this router belongs.
    #[serde(rename = "network", skip_serializing_if = "Option::is_none")]
    pub network: Option<String>,
}

impl RouterStatus {
    pub fn new() -> RouterStatus {
        RouterStatus {
            best_routes: None,
            best_routes_for_router: None,
            bgp_peer_status: None,
            nat_status: None,
            network: None,
        }
    }
}
