use crate::common;
use crate::indices;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
pub struct IndexTemplateMapping {
#[serde(rename = "aliases", default, skip_serializing_if = "Option::is_none")]
pub aliases: Option<serde_json::Value>,
#[serde(rename = "mappings", default, skip_serializing_if = "Option::is_none")]
pub mappings: Option<common::mapping::TypeMapping>,
#[serde(rename = "settings", default, skip_serializing_if = "Option::is_none")]
pub settings: Option<indices::IndexSettings>,
}
impl IndexTemplateMapping {
pub fn clean_for_create(&self) -> Self {
let mut clone = self.clone();
if let Some(settings) = &clone.settings {
clone.settings = Some(settings.clean_for_create());
}
clone
}
}