use crate::common;
use crate::indices;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
pub struct IndexSettingsMerge {
#[serde(
rename = "policy.reclaim_deletes_weight",
default,
skip_serializing_if = "Option::is_none"
)]
pub policy_reclaim_deletes_weight: Option<common::StringifiedDouble>,
#[serde(
rename = "policy.expunge_deletes_allowed",
default,
skip_serializing_if = "Option::is_none"
)]
pub policy_expunge_deletes_allowed: Option<common::StringifiedDouble>,
#[serde(
rename = "policy.max_merged_segment",
default,
skip_serializing_if = "Option::is_none"
)]
pub policy_max_merged_segment: Option<String>,
#[serde(
rename = "policy.floor_segment",
default,
skip_serializing_if = "Option::is_none"
)]
pub policy_floor_segment: Option<String>,
#[serde(
rename = "policy.max_merge_at_once",
default,
skip_serializing_if = "Option::is_none"
)]
pub policy_max_merge_at_once: Option<common::StringifiedInteger>,
#[serde(
rename = "log_byte_size_policy",
default,
skip_serializing_if = "Option::is_none"
)]
pub log_byte_size_policy: Option<indices::IndexSettingsMergeLogByteSizePolicy>,
#[serde(
rename = "policy.segments_per_tier",
default,
skip_serializing_if = "Option::is_none"
)]
pub policy_segments_per_tier: Option<common::StringifiedDouble>,
#[serde(
rename = "policy.deletes_pct_allowed",
default,
skip_serializing_if = "Option::is_none"
)]
pub policy_deletes_pct_allowed: Option<common::StringifiedDouble>,
#[serde(rename = "policy", default, skip_serializing_if = "Option::is_none")]
pub policy: Option<indices::IndexSettingsMergePolicy>,
#[serde(rename = "scheduler", default, skip_serializing_if = "Option::is_none")]
pub scheduler: Option<indices::IndexSettingsMergeScheduler>,
}
impl IndexSettingsMerge {
pub fn new() -> IndexSettingsMerge {
IndexSettingsMerge {
policy_reclaim_deletes_weight: None,
policy_expunge_deletes_allowed: None,
policy_max_merged_segment: None,
policy_floor_segment: None,
policy_max_merge_at_once: None,
log_byte_size_policy: None,
policy_segments_per_tier: None,
policy_deletes_pct_allowed: None,
policy: None,
scheduler: None,
}
}
}