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

/// RolloverRequestBodyJson
/// The conditions that needs to be met for executing rollover

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct RolloverRequestBodyJson {
    #[serde(
        rename = "conditions",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub conditions: Option<indices::rollover::RolloverConditions>,
    #[serde(rename = "mappings", default, skip_serializing_if = "Option::is_none")]
    pub mappings: Option<common::mapping::TypeMapping>,
    /// Configuration options for the index.
    /// Data streams do not support this parameter.
    #[serde(rename = "settings", default, skip_serializing_if = "Option::is_none")]
    pub settings: Option<serde_json::Value>,
    /// Aliases for the target index.
    /// Data streams do not support this parameter.
    #[serde(rename = "aliases", default, skip_serializing_if = "Option::is_none")]
    pub aliases: Option<serde_json::Value>,
}

impl RolloverRequestBodyJson {
    /// The conditions that needs to be met for executing rollover
    pub fn new() -> RolloverRequestBodyJson {
        RolloverRequestBodyJson {
            conditions: None,
            mappings: None,
            settings: None,
            aliases: None,
        }
    }
}