use crate::common;
use crate::cluster;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ClusterInfo {
#[serde(rename = "shard_sizes")]
pub shard_sizes: serde_json::Value,
#[serde(rename = "shard_paths")]
pub shard_paths: serde_json::Value,
#[serde(rename = "shard_data_set_sizes", default, skip_serializing_if = "Option::is_none")]
pub shard_data_set_sizes: Option<serde_json::Value>,
#[serde(rename = "reserved_sizes")]
pub reserved_sizes: Vec<cluster::allocation_explain::ReservedSize>,
#[serde(rename = "nodes")]
pub nodes: serde_json::Value,
}
impl ClusterInfo {
pub fn new(shard_sizes: serde_json::Value, shard_paths: serde_json::Value, reserved_sizes: Vec<cluster::allocation_explain::ReservedSize>, nodes: serde_json::Value) -> ClusterInfo {
ClusterInfo {
shard_sizes,
shard_paths,
shard_data_set_sizes: None,
reserved_sizes,
nodes,
}
}
}