// 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 {
}