use crate::cluster;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Command {
#[serde(
rename = "allocate_replica",
default,
skip_serializing_if = "Option::is_none"
)]
pub allocate_replica: Option<cluster::reroute::CommandAllocateReplicaAction>,
#[serde(rename = "move", default, skip_serializing_if = "Option::is_none")]
pub r#move: Option<cluster::reroute::CommandMoveAction>,
#[serde(
rename = "allocate_stale_primary",
default,
skip_serializing_if = "Option::is_none"
)]
pub allocate_stale_primary: Option<cluster::reroute::CommandAllocatePrimaryAction>,
#[serde(
rename = "allocate_empty_primary",
default,
skip_serializing_if = "Option::is_none"
)]
pub allocate_empty_primary: Option<cluster::reroute::CommandAllocatePrimaryAction>,
#[serde(rename = "cancel", default, skip_serializing_if = "Option::is_none")]
pub cancel: Option<cluster::reroute::CommandCancelAction>,
}
impl Command {
pub fn new() -> Command {
Command {
allocate_replica: None,
r#move: None,
allocate_stale_primary: None,
allocate_empty_primary: None,
cancel: None,
}
}
}