use crate::common;
use crate::indices;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
pub struct SimulateTemplate {
#[serde(
rename = "composed_of",
default,
skip_serializing_if = "Option::is_none"
)]
pub composed_of: Option<Vec<String>>,
#[serde(rename = "_meta", default, skip_serializing_if = "Option::is_none")]
pub meta: Option<common::Metadata>,
#[serde(rename = "priority", default, skip_serializing_if = "Option::is_none")]
pub priority: Option<u32>,
#[serde(rename = "version", default, skip_serializing_if = "Option::is_none")]
pub version: Option<u32>,
#[serde(
rename = "allow_auto_create",
default,
skip_serializing_if = "Option::is_none"
)]
pub allow_auto_create: Option<bool>,
#[serde(rename = "index_patterns")]
pub index_patterns: common::Names,
#[serde(rename = "template", default, skip_serializing_if = "Option::is_none")]
pub template: Option<indices::IndexTemplateSummary>,
#[serde(
rename = "data_stream",
default,
skip_serializing_if = "Option::is_none"
)]
pub data_stream: Option<indices::IndexTemplateDataStreamConfiguration>,
}
impl SimulateTemplate {
pub fn new(index_patterns: common::Names) -> SimulateTemplate {
SimulateTemplate {
composed_of: None,
meta: None,
priority: None,
version: None,
allow_auto_create: None,
index_patterns,
template: None,
data_stream: None,
}
}
}