1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
/*
* Proxmox Virtual Environment API
*
* Generated from apidoc.js. NOT an official Proxmox specification. See https://pve.proxmox.com/pve-docs/api-viewer/ for the upstream documentation.
*
* The version of the OpenAPI document: 9.x
*
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
/// ClusterSdnGetZonesResponseDataInnerPending : Changes that have not yet been applied to the running configuration.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ClusterSdnGetZonesResponseDataInnerPending {
/// Advertise IP prefixes (Type-5 routes) instead of MAC/IP pairs (Type-2 routes). EVPN zone only.
#[serde(rename = "advertise-subnets", skip_serializing_if = "Option::is_none")]
pub advertise_subnets: Option<models::PveBoolean>,
/// the bridge for which VLANs should be managed. VLAN & QinQ zone only.
#[serde(rename = "bridge", skip_serializing_if = "Option::is_none")]
pub bridge: Option<String>,
/// Disable auto mac learning. VLAN zone only.
#[serde(rename = "bridge-disable-mac-learning", skip_serializing_if = "Option::is_none")]
pub bridge_disable_mac_learning: Option<models::PveBoolean>,
/// ID of the controller for this zone. EVPN zone only.
#[serde(rename = "controller", skip_serializing_if = "Option::is_none")]
pub controller: Option<String>,
/// Name of DHCP server backend for this zone.
#[serde(rename = "dhcp", skip_serializing_if = "Option::is_none")]
pub dhcp: Option<models::PveDhcpEnum>,
/// Suppress IPv4 ARP && IPv6 Neighbour Discovery messages. EVPN zone only.
#[serde(rename = "disable-arp-nd-suppression", skip_serializing_if = "Option::is_none")]
pub disable_arp_nd_suppression: Option<models::PveBoolean>,
/// ID of the DNS server for this zone.
#[serde(rename = "dns", skip_serializing_if = "Option::is_none")]
pub dns: Option<String>,
/// Domain name for this zone.
#[serde(rename = "dnszone", skip_serializing_if = "Option::is_none")]
pub dnszone: Option<String>,
/// List of PVE Nodes that should act as exit node for this zone. EVPN zone only.
#[serde(rename = "exitnodes", skip_serializing_if = "Option::is_none")]
pub exitnodes: Option<String>,
/// Create routes on the exit nodes, so they can connect to EVPN guests. EVPN zone only.
#[serde(rename = "exitnodes-local-routing", skip_serializing_if = "Option::is_none")]
pub exitnodes_local_routing: Option<models::PveBoolean>,
/// Force traffic through this exitnode first. EVPN zone only.
#[serde(rename = "exitnodes-primary", skip_serializing_if = "Option::is_none")]
pub exitnodes_primary: Option<String>,
/// ID of the IPAM for this zone.
#[serde(rename = "ipam", skip_serializing_if = "Option::is_none")]
pub ipam: Option<String>,
/// MAC address of the anycast router for this zone.
#[serde(rename = "mac", skip_serializing_if = "Option::is_none")]
pub mac: Option<String>,
/// MTU of the zone, will be used for the created VNet bridges.
#[serde(rename = "mtu", skip_serializing_if = "Option::is_none")]
pub mtu: Option<i64>,
/// Nodes where this zone should be created.
#[serde(rename = "nodes", skip_serializing_if = "Option::is_none")]
pub nodes: Option<String>,
/// Comma-separated list of peers, that are part of the VXLAN zone. Usually the IPs of the nodes. VXLAN zone only.
#[serde(rename = "peers", skip_serializing_if = "Option::is_none")]
pub peers: Option<String>,
/// ID of the reverse DNS server for this zone.
#[serde(rename = "reversedns", skip_serializing_if = "Option::is_none")]
pub reversedns: Option<String>,
/// Route-Targets that should be imported into the VRF of this zone via BGP. EVPN zone only.
#[serde(rename = "rt-import", skip_serializing_if = "Option::is_none")]
pub rt_import: Option<String>,
/// Additional controllers.
#[serde(rename = "secondary-controllers", skip_serializing_if = "Option::is_none")]
pub secondary_controllers: Option<Vec<String>>,
/// Service-VLAN Tag (outer VLAN). QinQ zone only
#[serde(rename = "tag", skip_serializing_if = "Option::is_none")]
pub tag: Option<i64>,
/// VLAN protocol for the creation of the QinQ zone. QinQ zone only.
#[serde(rename = "vlan-protocol", skip_serializing_if = "Option::is_none")]
pub vlan_protocol: Option<models::PveVlanProtocolEnum>,
/// VNI for the zone VRF. EVPN zone only.
#[serde(rename = "vrf-vxlan", skip_serializing_if = "Option::is_none")]
pub vrf_vxlan: Option<i32>,
/// UDP port that should be used for the VXLAN tunnel (default 4789). VXLAN zone only.
#[serde(rename = "vxlan-port", skip_serializing_if = "Option::is_none")]
pub vxlan_port: Option<i32>,
}
impl ClusterSdnGetZonesResponseDataInnerPending {
/// Changes that have not yet been applied to the running configuration.
pub fn new() -> ClusterSdnGetZonesResponseDataInnerPending {
ClusterSdnGetZonesResponseDataInnerPending {
advertise_subnets: None,
bridge: None,
bridge_disable_mac_learning: None,
controller: None,
dhcp: None,
disable_arp_nd_suppression: None,
dns: None,
dnszone: None,
exitnodes: None,
exitnodes_local_routing: None,
exitnodes_primary: None,
ipam: None,
mac: None,
mtu: None,
nodes: None,
peers: None,
reversedns: None,
rt_import: None,
secondary_controllers: None,
tag: None,
vlan_protocol: None,
vrf_vxlan: None,
vxlan_port: None,
}
}
}