use crate::nodes;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct NodeInfoSettings {
#[serde(rename = "bootstrap", default, skip_serializing_if = "Option::is_none")]
pub bootstrap: Option<nodes::info::NodeInfoBootstrap>,
#[serde(rename = "script", default, skip_serializing_if = "Option::is_none")]
pub script: Option<nodes::info::NodeInfoScript>,
#[serde(rename = "transport")]
pub transport: nodes::info::NodeInfoSettingsTransport,
#[serde(rename = "repositories", default, skip_serializing_if = "Option::is_none")]
pub repositories: Option<nodes::info::NodeInfoRepositories>,
#[serde(rename = "action", default, skip_serializing_if = "Option::is_none")]
pub action: Option<nodes::info::NodeInfoAction>,
#[serde(rename = "client")]
pub client: nodes::info::NodeInfoClient,
#[serde(rename = "ingest", default, skip_serializing_if = "Option::is_none")]
pub ingest: Option<nodes::info::NodeInfoSettingsIngest>,
#[serde(rename = "index", default, skip_serializing_if = "Option::is_none")]
pub index: Option<nodes::info::NodeInfoSettingsIndex>,
#[serde(rename = "plugins", default, skip_serializing_if = "Option::is_none")]
pub plugins: Option<nodes::info::NodeInfoSettingsPlugins>,
#[serde(rename = "path")]
pub path: nodes::info::NodeInfoPath,
#[serde(rename = "search", default, skip_serializing_if = "Option::is_none")]
pub search: Option<nodes::info::NodeInfoSearch>,
#[serde(rename = "cluster")]
pub cluster: nodes::info::NodeInfoSettingsCluster,
#[serde(rename = "http")]
pub http: nodes::info::NodeInfoSettingsHttp,
#[serde(rename = "network", default, skip_serializing_if = "Option::is_none")]
pub network: Option<nodes::info::NodeInfoSettingsNetwork>,
#[serde(rename = "node")]
pub node: nodes::info::NodeInfoSettingsNode,
#[serde(rename = "discovery", default, skip_serializing_if = "Option::is_none")]
pub discovery: Option<nodes::info::NodeInfoDiscovery>,
}
impl NodeInfoSettings {
pub fn new(transport: nodes::info::NodeInfoSettingsTransport, client: nodes::info::NodeInfoClient, path: nodes::info::NodeInfoPath, cluster: nodes::info::NodeInfoSettingsCluster, http: nodes::info::NodeInfoSettingsHttp, node: nodes::info::NodeInfoSettingsNode) -> NodeInfoSettings {
NodeInfoSettings {
bootstrap: None,
script: None,
transport,
repositories: None,
action: None,
client,
ingest: None,
index: None,
plugins: None,
path,
search: None,
cluster,
http,
network: None,
node,
discovery: None,
}
}
}