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};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ClusterSdnUpdateControllersRequest {

    /// autonomous system number
    #[serde(rename = "asn", skip_serializing_if = "Option::is_none")]
    pub asn: Option<i32>,

    /// Whether to use eBGP or iBGP. Auto mode chooses depending on BGP controller or falls back to iBGP.
    #[serde(rename = "bgp-mode", skip_serializing_if = "Option::is_none")]
    pub bgp_mode: Option<models::PveBgpModeEnum>,

    /// Consider different AS paths of equal length for multipath computation.
    #[serde(rename = "bgp-multipath-as-path-relax", skip_serializing_if = "Option::is_none")]
    pub bgp_multipath_as_path_relax: Option<models::PveBoolean>,

    /// A list of settings you want to delete.
    #[serde(rename = "delete", skip_serializing_if = "Option::is_none")]
    pub delete: Option<String>,

    /// Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.
    #[serde(rename = "digest", skip_serializing_if = "Option::is_none")]
    pub digest: Option<String>,

    /// Enable eBGP (remote-as external).
    #[serde(rename = "ebgp", skip_serializing_if = "Option::is_none")]
    pub ebgp: Option<models::PveBoolean>,

    /// Set maximum amount of hops for eBGP peers.
    #[serde(rename = "ebgp-multihop", skip_serializing_if = "Option::is_none")]
    pub ebgp_multihop: Option<i64>,

    /// SDN fabric to use as underlay for this EVPN controller.
    #[serde(rename = "fabric", skip_serializing_if = "Option::is_none")]
    pub fabric: Option<String>,

    /// Name of the IS-IS domain.
    #[serde(rename = "isis-domain", skip_serializing_if = "Option::is_none")]
    pub isis_domain: Option<String>,

    /// Comma-separated list of interfaces where IS-IS should be active.
    #[serde(rename = "isis-ifaces", skip_serializing_if = "Option::is_none")]
    pub isis_ifaces: Option<String>,

    /// Network Entity title for this node in the IS-IS network.
    #[serde(rename = "isis-net", skip_serializing_if = "Option::is_none")]
    pub isis_net: Option<String>,

    /// the token for unlocking the global SDN configuration
    #[serde(rename = "lock-token", skip_serializing_if = "Option::is_none")]
    pub lock_token: Option<String>,

    /// Name of the loopback/dummy interface that provides the Router-IP.
    #[serde(rename = "loopback", skip_serializing_if = "Option::is_none")]
    pub loopback: Option<String>,

    /// The cluster node name.
    #[serde(rename = "node", skip_serializing_if = "Option::is_none")]
    pub node: Option<String>,

    /// List of cluster node names.
    #[serde(rename = "nodes", skip_serializing_if = "Option::is_none")]
    pub nodes: Option<String>,

    /// Name of the peer group for this EVPN controller
    #[serde(rename = "peer-group-name", skip_serializing_if = "Option::is_none")]
    pub peer_group_name: Option<String>,

    /// peers address list.
    #[serde(rename = "peers", skip_serializing_if = "Option::is_none")]
    pub peers: Option<String>,

    /// Route Map that should be applied for incoming routes
    #[serde(rename = "route-map-in", skip_serializing_if = "Option::is_none")]
    pub route_map_in: Option<String>,

    /// Route Map that should be applied for outgoing routes
    #[serde(rename = "route-map-out", skip_serializing_if = "Option::is_none")]
    pub route_map_out: Option<String>,


}

impl ClusterSdnUpdateControllersRequest {
    pub fn new() -> ClusterSdnUpdateControllersRequest {
        ClusterSdnUpdateControllersRequest {
            
            asn: None,
            
            bgp_mode: None,
            
            bgp_multipath_as_path_relax: None,
            
            delete: None,
            
            digest: None,
            
            ebgp: None,
            
            ebgp_multihop: None,
            
            fabric: None,
            
            isis_domain: None,
            
            isis_ifaces: None,
            
            isis_net: None,
            
            lock_token: None,
            
            loopback: None,
            
            node: None,
            
            nodes: None,
            
            peer_group_name: None,
            
            peers: None,
            
            route_map_in: None,
            
            route_map_out: None,
            
        }
    }
}