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/mysqls.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 = "MySql", plural = "mysqls")]
#[kube(namespaced)]
#[kube(status = "MySqlStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct MySqlSpec {
    pub instance: MySqlInstance,
    pub options: MySqlOptions,
    pub organisation: String,
}

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

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

#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum MySqlOptionsVersion {
    #[serde(rename = "57")]
    r#_57,
    #[serde(rename = "80")]
    r#_80,
    #[serde(rename = "84")]
    r#_84,
}

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