opensearch-client 0.3.2

Strongly typed OpenSearch Client
Documentation
/*
 * opensearch-client
 *
 * Rust Client for OpenSearch
 *
 * The version of the OpenAPI document: 3.1.0
 * Contact: alberto.paro@gmail.com
 * Generated by Paro OpenAPI Generator
 */

use crate::cluster;
use crate::common;
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,
        }
    }
}