#[allow(unused_imports)]
mod prelude {
pub use kube::CustomResource;
pub use serde::{Serialize, Deserialize};
pub use std::collections::BTreeMap;
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "couchbase.com", version = "v2", kind = "CouchbaseBackupRestore", plural = "couchbasebackuprestores")]
#[kube(namespaced)]
#[kube(status = "CouchbaseBackupRestoreStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct CouchbaseBackupRestoreSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "backoffLimit")]
pub backoff_limit: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub backup: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub buckets: Option<BTreeMap<String, serde_json::Value>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<CouchbaseBackupRestoreData>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub end: Option<CouchbaseBackupRestoreEnd>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "forceUpdates")]
pub force_updates: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "logRetention")]
pub log_retention: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "objectStore")]
pub object_store: Option<CouchbaseBackupRestoreObjectStore>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "overwriteUsers")]
pub overwrite_users: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub repo: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub s3bucket: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub services: Option<CouchbaseBackupRestoreServices>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "stagingVolume")]
pub staging_volume: Option<CouchbaseBackupRestoreStagingVolume>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub start: Option<CouchbaseBackupRestoreStart>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub threads: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ttlSecondsAfterFinished")]
pub ttl_seconds_after_finished: Option<i32>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseBackupRestoreData {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub exclude: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "filterKeys")]
pub filter_keys: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "filterValues")]
pub filter_values: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub include: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub map: Option<Vec<CouchbaseBackupRestoreDataMap>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseBackupRestoreDataMap {
pub source: String,
pub target: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseBackupRestoreEnd {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub int: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub str: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseBackupRestoreObjectStore {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoint: Option<CouchbaseBackupRestoreObjectStoreEndpoint>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uri: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "useIAM")]
pub use_iam: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseBackupRestoreObjectStoreEndpoint {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secret: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "useVirtualPath")]
pub use_virtual_path: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseBackupRestoreServices {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub analytics: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "bucketConfig")]
pub bucket_config: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "bucketQuery")]
pub bucket_query: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterAnalytics")]
pub cluster_analytics: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "clusterQuery")]
pub cluster_query: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub eventing: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ftAlias")]
pub ft_alias: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "ftIndex")]
pub ft_index: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "gsiIndex")]
pub gsi_index: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub users: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub views: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseBackupRestoreStagingVolume {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub size: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClassName")]
pub storage_class_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseBackupRestoreStart {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub int: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub str: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseBackupRestoreStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub archive: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub backups: Option<Vec<CouchbaseBackupRestoreStatusBackups>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub duration: Option<String>,
pub failed: bool,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub job: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lastFailure")]
pub last_failure: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lastRun")]
pub last_run: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "lastSuccess")]
pub last_success: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub output: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pod: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub repo: Option<String>,
pub running: bool,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct CouchbaseBackupRestoreStatusBackups {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub full: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub incrementals: Option<Vec<String>>,
pub name: String,
}