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};

/// PutMapping
/// The mapping definition

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PutMapping {
    /// Mapping for a field. For new fields, this mapping can include:
    ///
    /// - Field name
    /// - Field data type
    /// - Mapping parameters
    #[serde(
        rename = "properties",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub properties: Option<serde_json::Value>,
    #[serde(
        rename = "_field_names",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub field_names: Option<common::mapping::FieldNamesField>,
    #[serde(rename = "_source", default, skip_serializing_if = "Option::is_none")]
    pub source: Option<common::mapping::SourceField>,
    /// If date detection is enabled then new string fields are checked
    /// against `dynamic_date_formats` and if the value matches then
    /// a new date field is added instead of string.
    #[serde(
        rename = "dynamic_date_formats",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub dynamic_date_formats: Option<Vec<String>>,
    /// Controls whether dynamic date detection is enabled.
    #[serde(
        rename = "date_detection",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub date_detection: Option<bool>,
    #[serde(rename = "_routing", default, skip_serializing_if = "Option::is_none")]
    pub routing: Option<common::mapping::RoutingField>,
    #[serde(rename = "_meta", default, skip_serializing_if = "Option::is_none")]
    pub meta: Option<common::Metadata>,
    #[serde(rename = "dynamic", default, skip_serializing_if = "Option::is_none")]
    pub dynamic: Option<String>,
    /// Automatically map strings into numeric data types for all fields.
    #[serde(
        rename = "numeric_detection",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub numeric_detection: Option<bool>,
}

impl PutMapping {
    /// The mapping definition
    pub fn new() -> PutMapping {
        PutMapping {
            properties: None,
            field_names: None,
            source: None,
            dynamic_date_formats: None,
            date_detection: None,
            routing: None,
            meta: None,
            dynamic: None,
            numeric_detection: None,
        }
    }
}