use serde::{Deserialize, Serialize};
use super::role::ClusterRole;
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
pub struct ClusterSettings {
pub role: ClusterRole,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub node_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub node_label: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub master_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub advertise_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub join_token: Option<String>,
}
impl Default for ClusterSettings {
fn default() -> Self {
Self {
role: ClusterRole::Standalone,
node_id: None,
node_label: None,
master_url: None,
advertise_url: None,
join_token: None,
}
}
}