clientapi-pve 2026.5.24

Generated from apidoc.js. NOT an official Proxmox specification. See https://pve.proxmox.com/pve-docs/api-viewer/ for the upstream documentation.
Documentation
/*
 * 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,
            
        }
    }
}