Skip to main content

clientapi_pve/models/
cluster_sdn_update_controllers_request.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 ClusterSdnUpdateControllersRequest {
16
17    /// autonomous system number
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.
26    #[serde(rename = "bgp-multipath-as-path-relax", skip_serializing_if = "Option::is_none")]
27    pub bgp_multipath_as_path_relax: Option<models::PveBoolean>,
28
29    /// A list of settings you want to delete.
30    #[serde(rename = "delete", skip_serializing_if = "Option::is_none")]
31    pub delete: Option<String>,
32
33    /// Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.
34    #[serde(rename = "digest", skip_serializing_if = "Option::is_none")]
35    pub digest: Option<String>,
36
37    /// Enable eBGP (remote-as external).
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.
42    #[serde(rename = "ebgp-multihop", skip_serializing_if = "Option::is_none")]
43    pub ebgp_multihop: Option<i64>,
44
45    /// SDN fabric to use as underlay for this EVPN controller.
46    #[serde(rename = "fabric", skip_serializing_if = "Option::is_none")]
47    pub fabric: Option<String>,
48
49    /// Name of the IS-IS domain.
50    #[serde(rename = "isis-domain", skip_serializing_if = "Option::is_none")]
51    pub isis_domain: Option<String>,
52
53    /// Comma-separated list of interfaces where IS-IS should be active.
54    #[serde(rename = "isis-ifaces", skip_serializing_if = "Option::is_none")]
55    pub isis_ifaces: Option<String>,
56
57    /// Network Entity title for this node in the IS-IS network.
58    #[serde(rename = "isis-net", skip_serializing_if = "Option::is_none")]
59    pub isis_net: Option<String>,
60
61    /// the token for unlocking the global SDN configuration
62    #[serde(rename = "lock-token", skip_serializing_if = "Option::is_none")]
63    pub lock_token: Option<String>,
64
65    /// Name of the loopback/dummy interface that provides the Router-IP.
66    #[serde(rename = "loopback", skip_serializing_if = "Option::is_none")]
67    pub loopback: Option<String>,
68
69    /// The cluster node name.
70    #[serde(rename = "node", skip_serializing_if = "Option::is_none")]
71    pub node: Option<String>,
72
73    /// List of cluster node names.
74    #[serde(rename = "nodes", skip_serializing_if = "Option::is_none")]
75    pub nodes: Option<String>,
76
77    /// Name of the peer group for this EVPN controller
78    #[serde(rename = "peer-group-name", skip_serializing_if = "Option::is_none")]
79    pub peer_group_name: Option<String>,
80
81    /// peers address list.
82    #[serde(rename = "peers", skip_serializing_if = "Option::is_none")]
83    pub peers: Option<String>,
84
85    /// Route Map that should be applied for incoming routes
86    #[serde(rename = "route-map-in", skip_serializing_if = "Option::is_none")]
87    pub route_map_in: Option<String>,
88
89    /// Route Map that should be applied for outgoing routes
90    #[serde(rename = "route-map-out", skip_serializing_if = "Option::is_none")]
91    pub route_map_out: Option<String>,
92
93
94}
95
96impl ClusterSdnUpdateControllersRequest {
97    pub fn new() -> ClusterSdnUpdateControllersRequest {
98        ClusterSdnUpdateControllersRequest {
99            
100            asn: None,
101            
102            bgp_mode: None,
103            
104            bgp_multipath_as_path_relax: None,
105            
106            delete: None,
107            
108            digest: None,
109            
110            ebgp: None,
111            
112            ebgp_multihop: None,
113            
114            fabric: None,
115            
116            isis_domain: None,
117            
118            isis_ifaces: None,
119            
120            isis_net: None,
121            
122            lock_token: None,
123            
124            loopback: None,
125            
126            node: None,
127            
128            nodes: None,
129            
130            peer_group_name: None,
131            
132            peers: None,
133            
134            route_map_in: None,
135            
136            route_map_out: None,
137            
138        }
139    }
140}
141
142