use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PluginStats {
#[serde(rename = "description")]
pub description: String,
#[serde(rename = "licensed", default, skip_serializing_if = "Option::is_none")]
pub licensed: Option<bool>,
#[serde(rename = "opensearch_version")]
pub opensearch_version: String,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "version")]
pub version: String,
#[serde(rename = "classname")]
pub classname: String,
#[serde(rename = "extended_plugins")]
pub extended_plugins: Vec<String>,
#[serde(rename = "has_native_controller")]
pub has_native_controller: bool,
#[serde(rename = "java_version")]
pub java_version: String,
}
impl PluginStats {
pub fn new(description: String, opensearch_version: String, name: String, version: String, classname: String, extended_plugins: Vec<String>, has_native_controller: bool, java_version: String) -> PluginStats {
PluginStats {
description,
licensed: None,
opensearch_version,
name,
version,
classname,
extended_plugins,
has_native_controller,
java_version,
}
}
}