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




#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Rollup {
    #[serde(rename = "target_index", default, skip_serializing_if = "Option::is_none")]
    pub target_index: Option<String>,
    #[serde(rename = "source_index", default, skip_serializing_if = "Option::is_none")]
    pub source_index: Option<String>,
    #[serde(rename = "enabled_time", default, skip_serializing_if = "Option::is_none")]
    pub enabled_time: Option<f64>,
    #[serde(rename = "last_updated_time", default, skip_serializing_if = "Option::is_none")]
    pub last_updated_time: Option<f64>,
    #[serde(rename = "page_size", default, skip_serializing_if = "Option::is_none")]
    pub page_size: Option<f64>,
    #[serde(rename = "delay", default, skip_serializing_if = "Option::is_none")]
    pub delay: Option<f64>,
    #[serde(rename = "description", default, skip_serializing_if = "Option::is_none")]
    pub description: Option<String>,
    #[serde(rename = "metrics", default, skip_serializing_if = "Option::is_none")]
    pub metrics: Option<Vec<rollups::MetricsConfigItem>>,  /// Set up a Mustache message template for error notifications. For example, if an index rollup job fails, the system sends a message to a Slack channel.
    #[serde(rename = "error_notification", default, skip_serializing_if = "Option::is_none")]
    pub error_notification: Option<String>,
    #[serde(rename = "schema_version", default, skip_serializing_if = "Option::is_none")]
    pub schema_version: Option<f64>,
    #[serde(rename = "dimensions", default, skip_serializing_if = "Option::is_none")]
    pub dimensions: Option<Vec<rollups::DimensionsConfigItem>>,
    #[serde(rename = "continuous", default, skip_serializing_if = "Option::is_none")]
    pub continuous: Option<bool>,
    #[serde(rename = "enabled", default, skip_serializing_if = "Option::is_none")]
    pub enabled: Option<bool>,
    #[serde(rename = "rollup_id", default, skip_serializing_if = "Option::is_none")]
    pub rollup_id: Option<String>,
    #[serde(rename = "schedule", default, skip_serializing_if = "Option::is_none")]
    pub schedule: Option<rollups::Schedule>,
}

impl Rollup {
    
    pub fn new() -> Rollup {
        Rollup {
            target_index: None,
            source_index: None,
            enabled_time: None,
            last_updated_time: None,
            page_size: None,
            delay: None,
            description: None,
            metrics: None,
            error_notification: None,
            schema_version: None,
            dimensions: None,
            continuous: None,
            enabled: None,
            rollup_id: None,
            schedule: None,
        }
    }
}