use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ClusterHaStatusResponseDataInner {
#[serde(rename = "armed-state", skip_serializing_if = "Option::is_none")]
pub armed_state: Option<models::PveClusterHaArmedStateEnum>,
#[serde(rename = "auto-rebalance", skip_serializing_if = "Option::is_none")]
pub auto_rebalance: Option<models::PveBoolean>,
#[serde(rename = "crm_state", skip_serializing_if = "Option::is_none")]
pub crm_state: Option<String>,
#[serde(rename = "failback", skip_serializing_if = "Option::is_none")]
pub failback: Option<models::PveBoolean>,
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "max_relocate", skip_serializing_if = "Option::is_none")]
pub max_relocate: Option<i64>,
#[serde(rename = "max_restart", skip_serializing_if = "Option::is_none")]
pub max_restart: Option<i64>,
#[serde(rename = "node")]
pub node: String,
#[serde(rename = "quorate", skip_serializing_if = "Option::is_none")]
pub quorate: Option<models::PveBoolean>,
#[serde(rename = "request_state", skip_serializing_if = "Option::is_none")]
pub request_state: Option<String>,
#[serde(rename = "resource_mode", skip_serializing_if = "Option::is_none")]
pub resource_mode: Option<models::PveResourceModeEnum>,
#[serde(rename = "sid", skip_serializing_if = "Option::is_none")]
pub sid: Option<String>,
#[serde(rename = "state", skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(rename = "status")]
pub status: String,
#[serde(rename = "timestamp", skip_serializing_if = "Option::is_none")]
pub timestamp: Option<i64>,
#[serde(rename = "type")]
pub r#type: Type,
}
impl ClusterHaStatusResponseDataInner {
pub fn new(id: String, node: String, status: String, r#type: Type) -> ClusterHaStatusResponseDataInner {
ClusterHaStatusResponseDataInner {
armed_state: None,
auto_rebalance: None,
crm_state: None,
failback: None,
id,
max_relocate: None,
max_restart: None,
node,
quorate: None,
request_state: None,
resource_mode: None,
sid: None,
state: None,
status,
timestamp: None,
r#type,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "quorum")]
Quorum,
#[serde(rename = "master")]
Master,
#[serde(rename = "lrm")]
Lrm,
#[serde(rename = "service")]
Service,
#[serde(rename = "fencing")]
Fencing,
}
impl Default for Type {
fn default() -> Type {
Self::Quorum
}
}