Skip to main content

opensearch_client/cluster/
put_component_template_request_body_json.rs

1/*
2 * opensearch-client
3 *
4 * Rust Client for OpenSearch
5 *
6 * The version of the OpenAPI document: 3.1.0
7 * Contact: alberto.paro@gmail.com
8 * Generated by Paro OpenAPI Generator
9 */
10
11use crate::common;
12use crate::indices;
13use serde::{Deserialize, Serialize};
14
15/// PutComponentTemplateRequestBodyJson
16/// The template definition.
17
18#[derive(Clone, Default, Debug, Serialize, Deserialize)]
19pub struct PutComponentTemplateRequestBodyJson {
20    #[serde(rename = "version", default, skip_serializing_if = "Option::is_none")]
21    pub version: Option<u32>,
22    #[serde(rename = "_meta", default, skip_serializing_if = "Option::is_none")]
23    pub meta: Option<common::Metadata>,
24    /// This setting overrides the `action.auto_create_index` cluster setting.
25    /// When set to `true` in a component template, indexes are automatically created using that
26    /// template. When set to `false`, data streams matching the component template must always be explicitly created.
27    #[serde(
28        rename = "allow_auto_create",
29        default,
30        skip_serializing_if = "Option::is_none"
31    )]
32    pub allow_auto_create: Option<bool>,
33    #[serde(rename = "template")]
34    pub template: indices::IndexState,
35}
36
37impl PutComponentTemplateRequestBodyJson {
38    /// The template definition.
39    pub fn new(template: indices::IndexState) -> PutComponentTemplateRequestBodyJson {
40        PutComponentTemplateRequestBodyJson {
41            version: None,
42            meta: None,
43            allow_auto_create: None,
44            template,
45        }
46    }
47}