Skip to main content

clientapi_pve/models/
cluster_sdn_get_controllers_response_data_inner.rs

1/*
2 * Proxmox Virtual Environment API
3 *
4 * Generated from apidoc.js. NOT an official Proxmox specification. See https://pve.proxmox.com/pve-docs/api-viewer/ for the upstream documentation.
5 *
6 * The version of the OpenAPI document: 9.x
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ClusterSdnGetControllersResponseDataInner {
16
17    /// The local ASN of the controller. BGP & EVPN only.
18    #[serde(rename = "asn", skip_serializing_if = "Option::is_none")]
19    pub asn: Option<i32>,
20
21    /// Whether to use eBGP or iBGP. Auto mode chooses depending on BGP controller or falls back to iBGP.
22    #[serde(rename = "bgp-mode", skip_serializing_if = "Option::is_none")]
23    pub bgp_mode: Option<models::PveBgpModeEnum>,
24
25    /// Consider different AS paths of equal length for multipath computation. BGP only.
26    #[serde(rename = "bgp-multipath-as-relax", skip_serializing_if = "Option::is_none")]
27    pub bgp_multipath_as_relax: Option<models::PveBoolean>,
28
29    /// Name of the controller.
30    #[serde(rename = "controller")]
31    pub controller: String,
32
33    /// Digest of the controller section.
34    #[serde(rename = "digest", skip_serializing_if = "Option::is_none")]
35    pub digest: Option<String>,
36
37    /// Enable eBGP (remote-as external). BGP only.
38    #[serde(rename = "ebgp", skip_serializing_if = "Option::is_none")]
39    pub ebgp: Option<models::PveBoolean>,
40
41    /// Set maximum amount of hops for eBGP peers. Needs ebgp set to 1. BGP only.
42    #[serde(rename = "ebgp-multihop", skip_serializing_if = "Option::is_none")]
43    pub ebgp_multihop: Option<i64>,
44
45    /// Name of the IS-IS domain. IS-IS only.
46    #[serde(rename = "isis-domain", skip_serializing_if = "Option::is_none")]
47    pub isis_domain: Option<String>,
48
49    /// Comma-separated list of interfaces where IS-IS should be active. IS-IS only.
50    #[serde(rename = "isis-ifaces", skip_serializing_if = "Option::is_none")]
51    pub isis_ifaces: Option<String>,
52
53    /// Network Entity title for this node in the IS-IS network. IS-IS only.
54    #[serde(rename = "isis-net", skip_serializing_if = "Option::is_none")]
55    pub isis_net: Option<String>,
56
57    /// Name of the loopback/dummy interface that provides the Router-IP. BGP only.
58    #[serde(rename = "loopback", skip_serializing_if = "Option::is_none")]
59    pub loopback: Option<String>,
60
61    /// Node(s) where this controller is active.
62    #[serde(rename = "node", skip_serializing_if = "Option::is_none")]
63    pub node: Option<String>,
64
65    /// List of cluster node names.
66    #[serde(rename = "nodes", skip_serializing_if = "Option::is_none")]
67    pub nodes: Option<String>,
68
69    /// Name of the peer group for this EVPN controller
70    #[serde(rename = "peer-group-name", skip_serializing_if = "Option::is_none")]
71    pub peer_group_name: Option<String>,
72
73    /// Comma-separated list of the peers IP addresses.
74    #[serde(rename = "peers", skip_serializing_if = "Option::is_none")]
75    pub peers: Option<String>,
76
77    #[serde(rename = "pending", skip_serializing_if = "Option::is_none")]
78    pub pending: Option<Box<models::ClusterSdnGetControllersResponseDataInnerPending>>,
79
80    /// State of the SDN configuration object.
81    #[serde(rename = "state", skip_serializing_if = "Option::is_none")]
82    pub state: Option<models::PveClusterSdnStateEnum>,
83
84    /// Type of the controller
85    #[serde(rename = "type")]
86    pub r#type: models::PveClusterSdnTypeEnum,
87
88
89}
90
91impl ClusterSdnGetControllersResponseDataInner {
92    pub fn new(controller: String, r#type: models::PveClusterSdnTypeEnum) -> ClusterSdnGetControllersResponseDataInner {
93        ClusterSdnGetControllersResponseDataInner {
94            
95            asn: None,
96            
97            bgp_mode: None,
98            
99            bgp_multipath_as_relax: None,
100            
101            controller,
102            
103            digest: None,
104            
105            ebgp: None,
106            
107            ebgp_multihop: None,
108            
109            isis_domain: None,
110            
111            isis_ifaces: None,
112            
113            isis_net: None,
114            
115            loopback: None,
116            
117            node: None,
118            
119            nodes: None,
120            
121            peer_group_name: None,
122            
123            peers: None,
124            
125            pending: None,
126            
127            state: None,
128            
129            r#type,
130            
131        }
132    }
133}
134
135