use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ClusterSdnUpdateNodeRequest {
#[serde(rename = "allowed_ips", skip_serializing_if = "Option::is_none")]
pub allowed_ips: Option<Vec<String>>,
#[serde(rename = "delete")]
pub delete: Vec<serde_json::Value>,
#[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 = "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 ClusterSdnUpdateNodeRequest {
pub fn new(delete: Vec<serde_json::Value>, interfaces: Vec<serde_json::Value>, protocol: models::PveProtocolEnum) -> ClusterSdnUpdateNodeRequest {
ClusterSdnUpdateNodeRequest {
allowed_ips: None,
delete,
digest: None,
endpoint: None,
interfaces,
ip: None,
ip6: None,
lock_token: None,
peers: None,
protocol,
public_key: None,
role: None,
}
}
}