use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ClusterSdnAddNodeRequest {
#[serde(rename = "allowed_ips", skip_serializing_if = "Option::is_none")]
pub allowed_ips: Option<Vec<String>>,
#[serde(rename = "digest", skip_serializing_if = "Option::is_none")]
pub digest: Option<String>,
#[serde(rename = "endpoint", skip_serializing_if = "Option::is_none")]
pub endpoint: Option<String>,
#[serde(rename = "interfaces")]
pub interfaces: Vec<serde_json::Value>,
#[serde(rename = "ip", skip_serializing_if = "Option::is_none")]
pub ip: Option<String>,
#[serde(rename = "ip6", skip_serializing_if = "Option::is_none")]
pub ip6: Option<String>,
#[serde(rename = "lock-token", skip_serializing_if = "Option::is_none")]
pub lock_token: Option<String>,
#[serde(rename = "node_id")]
pub node_id: String,
#[serde(rename = "peers", skip_serializing_if = "Option::is_none")]
pub peers: Option<Vec<models::ClusterSdnListAllResponseDataNodesInnerPeersInner>>,
#[serde(rename = "protocol")]
pub protocol: models::PveProtocolEnum,
#[serde(rename = "public_key", skip_serializing_if = "Option::is_none")]
pub public_key: Option<String>,
#[serde(rename = "role", skip_serializing_if = "Option::is_none")]
pub role: Option<models::PveRoleEnum>,
}
impl ClusterSdnAddNodeRequest {
pub fn new(interfaces: Vec<serde_json::Value>, node_id: String, protocol: models::PveProtocolEnum) -> ClusterSdnAddNodeRequest {
ClusterSdnAddNodeRequest {
allowed_ips: None,
digest: None,
endpoint: None,
interfaces,
ip: None,
ip6: None,
lock_token: None,
node_id,
peers: None,
protocol,
public_key: None,
role: None,
}
}
}