use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ClusterSdnGetControllersResponseDataInner {
#[serde(rename = "asn", skip_serializing_if = "Option::is_none")]
pub asn: Option<i32>,
#[serde(rename = "bgp-mode", skip_serializing_if = "Option::is_none")]
pub bgp_mode: Option<models::PveBgpModeEnum>,
#[serde(rename = "bgp-multipath-as-relax", skip_serializing_if = "Option::is_none")]
pub bgp_multipath_as_relax: Option<models::PveBoolean>,
#[serde(rename = "controller")]
pub controller: String,
#[serde(rename = "digest", skip_serializing_if = "Option::is_none")]
pub digest: Option<String>,
#[serde(rename = "ebgp", skip_serializing_if = "Option::is_none")]
pub ebgp: Option<models::PveBoolean>,
#[serde(rename = "ebgp-multihop", skip_serializing_if = "Option::is_none")]
pub ebgp_multihop: Option<i64>,
#[serde(rename = "isis-domain", skip_serializing_if = "Option::is_none")]
pub isis_domain: Option<String>,
#[serde(rename = "isis-ifaces", skip_serializing_if = "Option::is_none")]
pub isis_ifaces: Option<String>,
#[serde(rename = "isis-net", skip_serializing_if = "Option::is_none")]
pub isis_net: Option<String>,
#[serde(rename = "loopback", skip_serializing_if = "Option::is_none")]
pub loopback: Option<String>,
#[serde(rename = "node", skip_serializing_if = "Option::is_none")]
pub node: Option<String>,
#[serde(rename = "nodes", skip_serializing_if = "Option::is_none")]
pub nodes: Option<String>,
#[serde(rename = "peer-group-name", skip_serializing_if = "Option::is_none")]
pub peer_group_name: Option<String>,
#[serde(rename = "peers", skip_serializing_if = "Option::is_none")]
pub peers: Option<String>,
#[serde(rename = "pending", skip_serializing_if = "Option::is_none")]
pub pending: Option<Box<models::ClusterSdnGetControllersResponseDataInnerPending>>,
#[serde(rename = "state", skip_serializing_if = "Option::is_none")]
pub state: Option<models::PveClusterSdnStateEnum>,
#[serde(rename = "type")]
pub r#type: models::PveClusterSdnTypeEnum,
}
impl ClusterSdnGetControllersResponseDataInner {
pub fn new(controller: String, r#type: models::PveClusterSdnTypeEnum) -> ClusterSdnGetControllersResponseDataInner {
ClusterSdnGetControllersResponseDataInner {
asn: None,
bgp_mode: None,
bgp_multipath_as_relax: None,
controller,
digest: None,
ebgp: None,
ebgp_multihop: None,
isis_domain: None,
isis_ifaces: None,
isis_net: None,
loopback: None,
node: None,
nodes: None,
peer_group_name: None,
peers: None,
pending: None,
state: None,
r#type,
}
}
}