kcr_hazelcast_com 3.20260114.174450

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/hazelcast/hazelcast-platform-operator/hazelcast.com/v1alpha1/hotbackups.yaml
// kopium version: 0.22.5

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

/// HotBackupSpec defines the Spec of HotBackup
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "hazelcast.com", version = "v1alpha1", kind = "HotBackup", plural = "hotbackups")]
#[kube(namespaced)]
#[kube(status = "HotBackupStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct HotBackupSpec {
    /// URL of the bucket to download HotBackup folders. AWS S3, GCP Bucket and Azure Blob storage buckets are supported. Example bucket URIs: - AWS S3     -> s3://bucket-name/path/to/folder - GCP Bucket -> gs://bucket-name/path/to/folder - Azure Blob -> azblob://bucket-name/path/to/folder
    #[serde(default, skip_serializing_if = "Option::is_none", rename = "bucketURI")]
    pub bucket_uri: Option<String>,
    /// HazelcastResourceName defines the name of the Hazelcast resource
    #[serde(rename = "hazelcastResourceName")]
    pub hazelcast_resource_name: String,
    /// secret is a deprecated alias for secretName.
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub secret: Option<String>,
    /// Name of the secret with credentials for cloud providers.
    #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")]
    pub secret_name: Option<String>,
}

/// HotBackupStatus defines the observed state of HotBackup
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct HotBackupStatus {
    #[serde(default, skip_serializing_if = "Option::is_none", rename = "backupUUIDs")]
    pub backup_uui_ds: Option<Vec<String>>,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub message: Option<String>,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub state: Option<HotBackupStatusState>,
}

/// HotBackupStatus defines the observed state of HotBackup
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum HotBackupStatusState {
    Unknown,
    Pending,
    NotStarted,
    InProgress,
    Failure,
    Success,
}