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

/// Action
/// An action to perform.


#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Action {
    #[serde(rename = "custom", default, skip_serializing_if = "Option::is_none")]
    pub custom: Option<ism::ActionCustom>,
    #[serde(rename = "replica_count", default, skip_serializing_if = "Option::is_none")]
    pub replica_count: Option<ism::ActionReplicaCount>,
    #[serde(rename = "index_priority", default, skip_serializing_if = "Option::is_none")]
    pub index_priority: Option<ism::ActionIndexPriority>,
    #[serde(rename = "read_write", default, skip_serializing_if = "Option::is_none")]
    pub read_write: Option<ism::ActionReadWrite>,
    #[serde(rename = "read_only", default, skip_serializing_if = "Option::is_none")]
    pub read_only: Option<ism::ActionReadOnly>,
    #[serde(rename = "transform", default, skip_serializing_if = "Option::is_none")]
    pub transform: Option<ism::ActionTransform>,
    #[serde(rename = "retry", default, skip_serializing_if = "Option::is_none")]
    pub retry: Option<ism::ActionRetry>,
    #[serde(rename = "rollup", default, skip_serializing_if = "Option::is_none")]
    pub rollup: Option<ism::ActionRollup>,
    #[serde(rename = "shrink", default, skip_serializing_if = "Option::is_none")]
    pub shrink: Option<ism::ActionShrink>,
    #[serde(rename = "allocation", default, skip_serializing_if = "Option::is_none")]
    pub allocation: Option<ism::ActionAllocation>,
    #[serde(rename = "close", default, skip_serializing_if = "Option::is_none")]
    pub close: Option<ism::ActionClose>,
    #[serde(rename = "rollover", default, skip_serializing_if = "Option::is_none")]
    pub rollover: Option<ism::ActionRollover>,
    #[serde(rename = "alias", default, skip_serializing_if = "Option::is_none")]
    pub alias: Option<ism::ActionAlias>,
    #[serde(rename = "snapshot", default, skip_serializing_if = "Option::is_none")]
    pub snapshot: Option<ism::ActionSnapshot>,
    #[serde(rename = "delete", default, skip_serializing_if = "Option::is_none")]
    pub delete: Option<ism::ActionDelete>,
    #[serde(rename = "open", default, skip_serializing_if = "Option::is_none")]
    pub open: Option<ism::ActionOpen>,
    #[serde(rename = "timeout", default, skip_serializing_if = "Option::is_none")]
    pub timeout: Option<ism::ActionTimeout>,
    #[serde(rename = "force_merge", default, skip_serializing_if = "Option::is_none")]
    pub force_merge: Option<ism::ActionForceMerge>,
    #[serde(rename = "notification", default, skip_serializing_if = "Option::is_none")]
    pub notification: Option<ism::ActionNotification>,
}

impl Action {
      /// An action to perform.
    pub fn new() -> Action {
        Action {
            custom: None,
            replica_count: None,
            index_priority: None,
            read_write: None,
            read_only: None,
            transform: None,
            retry: None,
            rollup: None,
            shrink: None,
            allocation: None,
            close: None,
            rollover: None,
            alias: None,
            snapshot: None,
            delete: None,
            open: None,
            timeout: None,
            force_merge: None,
            notification: None,
        }
    }
}