kcr_api_clever_cloud_com 3.20260119.75313

Kubernetes Custom Resource Bindings
Documentation
// WARNING: generated by kopium - manual changes will be overwritten
// kopium command: kopium --docs --derive=Default --derive=PartialEq --smart-derive-elision --filename crd-catalog/CleverCloud/clever-operator/api.clever-cloud.com/v1/elasticsearches.yaml
// kopium version: 0.22.5

#[allow(unused_imports)]
mod prelude {
    pub use kube::CustomResource;
    pub use serde::{Serialize, Deserialize};
}
use self::prelude::*;

#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "api.clever-cloud.com", version = "v1", kind = "ElasticSearch", plural = "elasticsearches")]
#[kube(namespaced)]
#[kube(status = "ElasticSearchStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct ElasticSearchSpec {
    pub instance: ElasticSearchInstance,
    pub options: ElasticSearchOptions,
    pub organisation: String,
}

#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ElasticSearchInstance {
    pub plan: String,
    pub region: String,
}

#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ElasticSearchOptions {
    pub apm: bool,
    pub encryption: bool,
    pub kibana: bool,
    pub version: i64,
}

#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum ElasticSearchOptionsVersion {
    #[serde(rename = "7")]
    r#_7,
    #[serde(rename = "8")]
    r#_8,
}

#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct ElasticSearchStatus {
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub addon: Option<String>,
}