use crate::common;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct OpenSearchVersionInfo {
#[serde(rename = "lucene_version")]
pub lucene_version: String,
#[serde(rename = "minimum_index_compatibility_version")]
pub minimum_index_compatibility_version: String, #[serde(rename = "build_date")]
pub build_date: common::DateTime,
#[serde(rename = "build_snapshot")]
pub build_snapshot: bool,
#[serde(rename = "build_type")]
pub build_type: String,
#[serde(rename = "distribution")]
pub distribution: String,
#[serde(rename = "build_hash")]
pub build_hash: String,
#[serde(rename = "build_flavor", default, skip_serializing_if = "Option::is_none")]
pub build_flavor: Option<String>,
#[serde(rename = "minimum_wire_compatibility_version")]
pub minimum_wire_compatibility_version: String,
#[serde(rename = "number")]
pub number: String,
}
impl OpenSearchVersionInfo {
pub fn new(lucene_version: String, minimum_index_compatibility_version: String, build_date: common::DateTime, build_snapshot: bool, build_type: String, distribution: String, build_hash: String, minimum_wire_compatibility_version: String, number: String) -> OpenSearchVersionInfo {
OpenSearchVersionInfo {
lucene_version,
minimum_index_compatibility_version,
build_date,
build_snapshot,
build_type,
distribution,
build_hash,
build_flavor: None,
minimum_wire_compatibility_version,
number,
}
}
}