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




#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Segment {
    #[serde(rename = "search")]
    pub search: bool,
    #[serde(rename = "memory", default, skip_serializing_if = "Option::is_none")]
    pub memory: Option<String>,
    #[serde(rename = "generation")]
    pub generation: u32,
    #[serde(rename = "committed")]
    pub committed: bool,
    #[serde(rename = "deleted_docs")]
    pub deleted_docs: u32,
    #[serde(rename = "size_in_bytes")]
    pub size_in_bytes: u32,
    #[serde(rename = "num_docs")]
    pub num_docs: u32,
    #[serde(rename = "size", default, skip_serializing_if = "Option::is_none")]
    pub size: Option<String>,
    #[serde(rename = "version")]
    pub version: String,
    #[serde(rename = "memory_in_bytes", default, skip_serializing_if = "Option::is_none")]
    pub memory_in_bytes: Option<u32>,
    #[serde(rename = "attributes")]
    pub attributes: serde_json::Value,
    #[serde(rename = "compound")]
    pub compound: bool,
}

impl Segment {
    
    pub fn new(search: bool, generation: u32, committed: bool, deleted_docs: u32, size_in_bytes: u32, num_docs: u32, version: String, attributes: serde_json::Value, compound: bool) -> Segment {
        Segment {
            search,
            memory: None,
            generation,
            committed,
            deleted_docs,
            size_in_bytes,
            num_docs,
            size: None,
            version,
            memory_in_bytes: None,
            attributes,
            compound,
        }
    }
}