use crate::common;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ShardFailure {
#[serde(rename = "reason")]
pub reason: common::ErrorCause,
#[serde(rename = "node", default, skip_serializing_if = "Option::is_none")]
pub node: Option<String>,
#[serde(rename = "shard")]
pub shard: u32,
#[serde(rename = "index", default, skip_serializing_if = "Option::is_none")]
pub index: Option<String>,
#[serde(rename = "status", default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
impl ShardFailure {
pub fn new(reason: common::ErrorCause, shard: u32) -> ShardFailure {
ShardFailure {
reason,
node: None,
shard,
index: None,
status: None,
}
}
}