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




#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SearchTemplateResponse {
    #[serde(rename = "terminated_early", default, skip_serializing_if = "Option::is_none")]
    pub terminated_early: Option<bool>,
    #[serde(rename = "num_reduce_phases", default, skip_serializing_if = "Option::is_none")]
    pub num_reduce_phases: Option<u32>,
    #[serde(rename = "_scroll_id", default, skip_serializing_if = "Option::is_none")]
    pub scroll_id: Option<String>,
    #[serde(rename = "suggest", default, skip_serializing_if = "Option::is_none")]
    pub suggest: Option<serde_json::Value>,
    #[serde(rename = "fields", default, skip_serializing_if = "Option::is_none")]
    pub fields: Option<serde_json::Value>,
    #[serde(rename = "hits")]
    pub hits: core::search::HitsMetadata,
    #[serde(rename = "_clusters", default, skip_serializing_if = "Option::is_none")]
    pub clusters: Option<common::ClusterStatistics>,
    #[serde(rename = "max_score", default, skip_serializing_if = "Option::is_none")]
    pub max_score: Option<f64>,
    #[serde(rename = "_shards")]
    pub shards: common::ShardStatistics,
    #[serde(rename = "aggregations", default, skip_serializing_if = "Option::is_none")]
    pub aggregations: Option<serde_json::Value>,
    #[serde(rename = "pit_id", default, skip_serializing_if = "Option::is_none")]
    pub pit_id: Option<String>,
    #[serde(rename = "profile", default, skip_serializing_if = "Option::is_none")]
    pub profile: Option<core::search::Profile>,
    #[serde(rename = "timed_out")]
    pub timed_out: bool,
    #[serde(rename = "took")]
    pub took: u32,
    #[serde(rename = "status", default, skip_serializing_if = "Option::is_none")]
    pub status: Option<f64>,
}

impl SearchTemplateResponse {
    
    pub fn new(hits: core::search::HitsMetadata, shards: common::ShardStatistics, timed_out: bool, took: u32) -> SearchTemplateResponse {
        SearchTemplateResponse {
            terminated_early: None,
            num_reduce_phases: None,
            scroll_id: None,
            suggest: None,
            fields: None,
            hits,
            clusters: None,
            max_score: None,
            shards,
            aggregations: None,
            pit_id: None,
            profile: None,
            timed_out,
            took,
            status: None,
        }
    }
}