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/cronhotbackups.yaml
// kopium version: 0.22.5

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

/// CronHotBackupSpec defines the desired state of CronHotBackup
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "hazelcast.com", version = "v1alpha1", kind = "CronHotBackup", plural = "cronhotbackups")]
#[kube(namespaced)]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct CronHotBackupSpec {
    /// The number of failed finished hot backups to retain.
    #[serde(default, skip_serializing_if = "Option::is_none", rename = "failedHotBackupsHistoryLimit")]
    pub failed_hot_backups_history_limit: Option<i32>,
    /// Specifies the hot backup that will be created when executing a CronHotBackup.
    #[serde(rename = "hotBackupTemplate")]
    pub hot_backup_template: CronHotBackupHotBackupTemplate,
    /// Schedule contains a crontab-like expression that defines the schedule in which HotBackup will be started. If the Schedule is empty the HotBackup will start only once when applied. --- Several pre-defined schedules in place of a cron expression can be used. Entry                  | Description                                | Equivalent To -----                  | -----------                                | ------------- @yearly (or @annually) | Run once a year, midnight, Jan. 1st        | 0 0 1 1 * @monthly               | Run once a month, midnight, first of month | 0 0 1 * * @weekly                | Run once a week, midnight between Sat/Sun  | 0 0 * * 0 @daily (or @midnight)  | Run once a day, midnight                   | 0 0 * * * @hourly                | Run once an hour, beginning of hour        | 0 * * * *
    pub schedule: String,
    /// The number of successful finished hot backups to retain.
    #[serde(default, skip_serializing_if = "Option::is_none", rename = "successfulHotBackupsHistoryLimit")]
    pub successful_hot_backups_history_limit: Option<i32>,
    /// When true, CronHotBackup will stop creating HotBackup CRs until it is disabled
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub suspend: Option<bool>,
}

/// Specifies the hot backup that will be created when executing a CronHotBackup.
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CronHotBackupHotBackupTemplate {
    /// Standard object's metadata of the hot backups created from this template.
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub metadata: Option<BTreeMap<String, serde_json::Value>>,
    /// Specification of the desired behavior of the hot backup.
    pub spec: CronHotBackupHotBackupTemplateSpec,
}

/// Specification of the desired behavior of the hot backup.
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CronHotBackupHotBackupTemplateSpec {
    /// 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>,
}

/// CronHotBackupStatus defines the observed state of CronHotBackup
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CronHotBackupStatus {
}