opensearch-client 0.3.1

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::common;
use crate::nodes;
use serde::{Deserialize, Serialize};




#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Stats {
    #[serde(rename = "ingest", default, skip_serializing_if = "Option::is_none")]
    pub ingest: Option<nodes::stats::Ingest>,
    #[serde(rename = "task_cancellation", default, skip_serializing_if = "Option::is_none")]
    pub task_cancellation: Option<nodes::stats::ShardTaskCancellationStats>,
    #[serde(rename = "name", default, skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    #[serde(rename = "jvm", default, skip_serializing_if = "Option::is_none")]
    pub jvm: Option<nodes::stats::Jvm>,
    #[serde(rename = "caches", default, skip_serializing_if = "Option::is_none")]
    pub caches: Option<nodes::stats::ShardCachesStats>,
    #[serde(rename = "discovery", default, skip_serializing_if = "Option::is_none")]
    pub discovery: Option<nodes::stats::Discovery>,
    #[serde(rename = "weighted_routing", default, skip_serializing_if = "Option::is_none")]
    pub weighted_routing: Option<nodes::stats::ShardWeightedRoutingStats>,  /// Contains a list of attributes for the node.
    #[serde(rename = "attributes", default, skip_serializing_if = "Option::is_none")]
    pub attributes: Option<serde_json::Value>,
    #[serde(rename = "admission_control", default, skip_serializing_if = "Option::is_none")]
    pub admission_control: Option<nodes::stats::ShardAdmissionControlStats>,
    #[serde(rename = "host", default, skip_serializing_if = "Option::is_none")]
    pub host: Option<String>,
    #[serde(rename = "transport_address", default, skip_serializing_if = "Option::is_none")]
    pub transport_address: Option<String>,
    #[serde(rename = "segment_replication_backpressure", default, skip_serializing_if = "Option::is_none")]
    pub segment_replication_backpressure: Option<nodes::stats::ShardSegmentReplicationBackpressureStats>,
    #[serde(rename = "http", default, skip_serializing_if = "Option::is_none")]
    pub http: Option<nodes::stats::Http>,  /// Statistics about the field data circuit breaker.
    #[serde(rename = "breakers", default, skip_serializing_if = "Option::is_none")]
    pub breakers: Option<serde_json::Value>,
    #[serde(rename = "indices", default, skip_serializing_if = "Option::is_none")]
    pub indices: Option<String>,
    #[serde(rename = "search_backpressure", default, skip_serializing_if = "Option::is_none")]
    pub search_backpressure: Option<nodes::stats::ShardSearchBackpressureStats>,  /// Statistics about each thread pool, including current size, queue and rejected tasks.
    #[serde(rename = "thread_pool", default, skip_serializing_if = "Option::is_none")]
    pub thread_pool: Option<serde_json::Value>,  /// Node roles.
    #[serde(rename = "roles", default, skip_serializing_if = "Option::is_none")]
    pub roles: Option<Vec<common::NodeRole>>,
    #[serde(rename = "remote_store", default, skip_serializing_if = "Option::is_none")]
    pub remote_store: Option<nodes::stats::RemoteStoreStats>,
    #[serde(rename = "resource_usage_stats", default, skip_serializing_if = "Option::is_none")]
    pub resource_usage_stats: Option<nodes::stats::ShardResourceUsageStats>,
    #[serde(rename = "indexing_pressure", default, skip_serializing_if = "Option::is_none")]
    pub indexing_pressure: Option<nodes::stats::IndexingPressure>,
    #[serde(rename = "search_pipeline", default, skip_serializing_if = "Option::is_none")]
    pub search_pipeline: Option<nodes::stats::ShardSearchPipelineStats>,
    #[serde(rename = "process", default, skip_serializing_if = "Option::is_none")]
    pub process: Option<nodes::stats::Process>,
    #[serde(rename = "transport", default, skip_serializing_if = "Option::is_none")]
    pub transport: Option<nodes::stats::Transport>,
    #[serde(rename = "os", default, skip_serializing_if = "Option::is_none")]
    pub os: Option<nodes::stats::OperatingSystem>,
    #[serde(rename = "fs", default, skip_serializing_if = "Option::is_none")]
    pub fs: Option<nodes::stats::FileSystem>,
    #[serde(rename = "timestamp", default, skip_serializing_if = "Option::is_none")]
    pub timestamp: Option<String>,
    #[serde(rename = "cluster_manager_throttling", default, skip_serializing_if = "Option::is_none")]
    pub cluster_manager_throttling: Option<nodes::stats::ShardClusterManagerThrottlingStats>,
    #[serde(rename = "script_cache", default, skip_serializing_if = "Option::is_none")]
    pub script_cache: Option<nodes::stats::ScriptCacheStats>,
    #[serde(rename = "script", default, skip_serializing_if = "Option::is_none")]
    pub script: Option<String>,  /// Statistics about adaptive replica selection.
    #[serde(rename = "adaptive_selection", default, skip_serializing_if = "Option::is_none")]
    pub adaptive_selection: Option<serde_json::Value>,
    #[serde(rename = "shard_indexing_pressure", default, skip_serializing_if = "Option::is_none")]
    pub shard_indexing_pressure: Option<nodes::stats::ShardIndexingPressureStats>,
}

impl Stats {
    
    pub fn new() -> Stats {
        Stats {
            ingest: None,
            task_cancellation: None,
            name: None,
            jvm: None,
            caches: None,
            discovery: None,
            weighted_routing: None,
            attributes: None,
            admission_control: None,
            host: None,
            transport_address: None,
            segment_replication_backpressure: None,
            http: None,
            breakers: None,
            indices: None,
            search_backpressure: None,
            thread_pool: None,
            roles: None,
            remote_store: None,
            resource_usage_stats: None,
            indexing_pressure: None,
            search_pipeline: None,
            process: None,
            transport: None,
            os: None,
            fs: None,
            timestamp: None,
            cluster_manager_throttling: None,
            script_cache: None,
            script: None,
            adaptive_selection: None,
            shard_indexing_pressure: None,
        }
    }
}