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




#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct NodeOperatingSystemInfo {
    #[serde(rename = "name", default, skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    #[serde(rename = "pretty_name", default, skip_serializing_if = "Option::is_none")]
    pub pretty_name: Option<String>,  /// The number of processors actually used to calculate thread pool size. This number can be set with the `node.processors` setting of a node and defaults to the number of processors reported by the OS.
    #[serde(rename = "allocated_processors", default, skip_serializing_if = "Option::is_none")]
    pub allocated_processors: Option<u32>,
    #[serde(rename = "mem", default, skip_serializing_if = "Option::is_none")]
    pub mem: Option<nodes::info::NodeInfoMemory>,
    #[serde(rename = "cpu", default, skip_serializing_if = "Option::is_none")]
    pub cpu: Option<nodes::info::NodeInfoOscpu>,  /// Number of processors available to the Java virtual machine
    #[serde(rename = "available_processors")]
    pub available_processors: u32,  /// Name of the JVM architecture (ex: amd64, x86)
    #[serde(rename = "arch", default, skip_serializing_if = "Option::is_none")]
    pub arch: Option<String>,  /// A duration. Units can be `nanos`, `micros`, `ms` (milliseconds), `s` (seconds), `m` (minutes), `h` (hours) and
  /// `d` (days). Also accepts "0" without a unit and "-1" to indicate an unspecified value.
    #[serde(rename = "refresh_interval", default, skip_serializing_if = "Option::is_none")]
    pub refresh_interval: Option<String>,
    #[serde(rename = "refresh_interval_in_millis")]
    pub refresh_interval_in_millis: String,
    #[serde(rename = "swap", default, skip_serializing_if = "Option::is_none")]
    pub swap: Option<nodes::info::NodeInfoMemory>,
    #[serde(rename = "version", default, skip_serializing_if = "Option::is_none")]
    pub version: Option<String>,
}

impl NodeOperatingSystemInfo {
    
    pub fn new(available_processors: u32, refresh_interval_in_millis: String) -> NodeOperatingSystemInfo {
        NodeOperatingSystemInfo {
            name: None,
            pretty_name: None,
            allocated_processors: None,
            mem: None,
            cpu: None,
            available_processors,
            arch: None,
            refresh_interval: None,
            refresh_interval_in_millis,
            swap: None,
            version: None,
        }
    }
}