use crate::cluster;
use crate::common;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ClusterNodes {
#[serde(rename = "network_types", default, skip_serializing_if = "Option::is_none")]
pub network_types: Option<cluster::stats::ClusterNetworkTypes>,
#[serde(rename = "os", default, skip_serializing_if = "Option::is_none")]
pub os: Option<cluster::stats::ClusterOperatingSystem>,
#[serde(rename = "jvm", default, skip_serializing_if = "Option::is_none")]
pub jvm: Option<cluster::stats::ClusterJvm>,
#[serde(rename = "count", default, skip_serializing_if = "Option::is_none")]
pub count: Option<cluster::stats::ClusterNodeCount>,
#[serde(rename = "indexing_pressure", default, skip_serializing_if = "Option::is_none")]
pub indexing_pressure: Option<cluster::stats::IndexingPressure>, #[serde(rename = "packaging_types", default, skip_serializing_if = "Option::is_none")]
pub packaging_types: Option<Vec<cluster::stats::NodePackagingType>>, #[serde(rename = "versions", default, skip_serializing_if = "Option::is_none")]
pub versions: Option<Vec<String>>,
#[serde(rename = "fs", default, skip_serializing_if = "Option::is_none")]
pub fs: Option<cluster::stats::ClusterFileSystem>, #[serde(rename = "discovery_types", default, skip_serializing_if = "Option::is_none")]
pub discovery_types: Option<serde_json::Value>,
#[serde(rename = "ingest", default, skip_serializing_if = "Option::is_none")]
pub ingest: Option<cluster::stats::ClusterIngest>,
#[serde(rename = "process", default, skip_serializing_if = "Option::is_none")]
pub process: Option<cluster::stats::ClusterProcess>, #[serde(rename = "plugins", default, skip_serializing_if = "Option::is_none")]
pub plugins: Option<Vec<common::PluginStats>>,
}
impl ClusterNodes {
pub fn new() -> ClusterNodes {
ClusterNodes {
network_types: None,
os: None,
jvm: None,
count: None,
indexing_pressure: None,
packaging_types: None,
versions: None,
fs: None,
discovery_types: None,
ingest: None,
process: None,
plugins: None,
}
}
}