#[allow(unused_imports)]
mod prelude {
pub use kube::CustomResource;
pub use serde::{Serialize, Deserialize};
pub use std::collections::BTreeMap;
pub use k8s_openapi::apimachinery::pkg::util::intstr::IntOrString;
pub use k8s_openapi::api::core::v1::ObjectReference;
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "dataprotection.kubeblocks.io", version = "v1alpha1", kind = "Backup", plural = "backups")]
#[kube(namespaced)]
#[kube(status = "BackupStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct BackupSpec {
#[serde(rename = "backupMethod")]
pub backup_method: String,
#[serde(rename = "backupPolicyName")]
pub backup_policy_name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "deletionPolicy")]
pub deletion_policy: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub parameters: Option<Vec<BackupParameters>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "parentBackupName")]
pub parent_backup_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "retentionPeriod")]
pub retention_period: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupParameters {
pub name: String,
pub value: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatus {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub actions: Option<Vec<BackupStatusActions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "backupMethod")]
pub backup_method: Option<BackupStatusBackupMethod>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "backupRepoName")]
pub backup_repo_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "baseBackupName")]
pub base_backup_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "completionTimestamp")]
pub completion_timestamp: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub duration: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "encryptionConfig")]
pub encryption_config: Option<BackupStatusEncryptionConfig>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub expiration: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub extras: Option<Vec<BTreeMap<String, String>>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureReason")]
pub failure_reason: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "formatVersion")]
pub format_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "kopiaRepoPath")]
pub kopia_repo_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "parentBackupName")]
pub parent_backup_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "persistentVolumeClaimName")]
pub persistent_volume_claim_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub phase: Option<BackupStatusPhase>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "startTimestamp")]
pub start_timestamp: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target: Option<BackupStatusTarget>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub targets: Option<Vec<BackupStatusTargets>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeRange")]
pub time_range: Option<BackupStatusTimeRange>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "totalSize")]
pub total_size: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeSnapshots")]
pub volume_snapshots: Option<Vec<BackupStatusVolumeSnapshots>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusActions {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "actionType")]
pub action_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "availableReplicas")]
pub available_replicas: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "completionTimestamp")]
pub completion_timestamp: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "failureReason")]
pub failure_reason: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "objectRef")]
pub object_ref: Option<ObjectReference>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub phase: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "startTimestamp")]
pub start_timestamp: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetPodName")]
pub target_pod_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeRange")]
pub time_range: Option<BackupStatusActionsTimeRange>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "totalSize")]
pub total_size: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeSnapshots")]
pub volume_snapshots: Option<Vec<BackupStatusActionsVolumeSnapshots>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusActionsObjectRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldPath")]
pub field_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub namespace: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceVersion")]
pub resource_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uid: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusActionsTimeRange {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub end: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub start: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeZone")]
pub time_zone: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusActionsVolumeSnapshots {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "contentName")]
pub content_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub size: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetName")]
pub target_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeName")]
pub volume_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethod {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "actionSetName")]
pub action_set_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "compatibleMethod")]
pub compatible_method: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub env: Option<Vec<BackupStatusBackupMethodEnv>>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "runtimeSettings")]
pub runtime_settings: Option<BackupStatusBackupMethodRuntimeSettings>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "snapshotVolumes")]
pub snapshot_volumes: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target: Option<BackupStatusBackupMethodTarget>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetVolumes")]
pub target_volumes: Option<BackupStatusBackupMethodTargetVolumes>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub targets: Option<Vec<BackupStatusBackupMethodTargets>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodEnv {
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
pub value_from: Option<BackupStatusBackupMethodEnvValueFrom>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodEnvValueFrom {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "configMapKeyRef")]
pub config_map_key_ref: Option<BackupStatusBackupMethodEnvValueFromConfigMapKeyRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
pub field_ref: Option<BackupStatusBackupMethodEnvValueFromFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "resourceFieldRef")]
pub resource_field_ref: Option<BackupStatusBackupMethodEnvValueFromResourceFieldRef>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "secretKeyRef")]
pub secret_key_ref: Option<BackupStatusBackupMethodEnvValueFromSecretKeyRef>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodEnvValueFromConfigMapKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodEnvValueFromFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "apiVersion")]
pub api_version: Option<String>,
#[serde(rename = "fieldPath")]
pub field_path: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodEnvValueFromResourceFieldRef {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub divisor: Option<IntOrString>,
pub resource: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodEnvValueFromSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodRuntimeSettings {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<BackupStatusBackupMethodRuntimeSettingsResources>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodRuntimeSettingsResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub claims: Option<Vec<BackupStatusBackupMethodRuntimeSettingsResourcesClaims>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub limits: Option<BTreeMap<String, IntOrString>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub requests: Option<BTreeMap<String, IntOrString>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodRuntimeSettingsResourcesClaims {
pub name: String,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodTarget {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "connectionCredential")]
pub connection_credential: Option<BackupStatusBackupMethodTargetConnectionCredential>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerPort")]
pub container_port: Option<BackupStatusBackupMethodTargetContainerPort>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podSelector")]
pub pod_selector: Option<BackupStatusBackupMethodTargetPodSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<BackupStatusBackupMethodTargetResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountName")]
pub service_account_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodTargetConnectionCredential {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostKey")]
pub host_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "passwordKey")]
pub password_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "portKey")]
pub port_key: Option<String>,
#[serde(rename = "secretName")]
pub secret_name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "usernameKey")]
pub username_key: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodTargetContainerPort {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "portName")]
pub port_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodTargetPodSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fallbackLabelSelector")]
pub fallback_label_selector: Option<BackupStatusBackupMethodTargetPodSelectorFallbackLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<BackupStatusBackupMethodTargetPodSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub strategy: Option<BackupStatusBackupMethodTargetPodSelectorStrategy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "useParentSelectedPods")]
pub use_parent_selected_pods: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodTargetPodSelectorFallbackLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<BackupStatusBackupMethodTargetPodSelectorFallbackLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodTargetPodSelectorFallbackLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodTargetPodSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum BackupStatusBackupMethodTargetPodSelectorStrategy {
Any,
All,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodTargetResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub excluded: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub included: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<BackupStatusBackupMethodTargetResourcesSelector>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodTargetResourcesSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<BackupStatusBackupMethodTargetResourcesSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodTargetResourcesSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodTargetVolumes {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeMounts")]
pub volume_mounts: Option<Vec<BackupStatusBackupMethodTargetVolumesVolumeMounts>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub volumes: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodTargetVolumesVolumeMounts {
#[serde(rename = "mountPath")]
pub mount_path: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "mountPropagation")]
pub mount_propagation: Option<String>,
pub name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "readOnly")]
pub read_only: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPath")]
pub sub_path: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "subPathExpr")]
pub sub_path_expr: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodTargets {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "connectionCredential")]
pub connection_credential: Option<BackupStatusBackupMethodTargetsConnectionCredential>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerPort")]
pub container_port: Option<BackupStatusBackupMethodTargetsContainerPort>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podSelector")]
pub pod_selector: Option<BackupStatusBackupMethodTargetsPodSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<BackupStatusBackupMethodTargetsResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountName")]
pub service_account_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodTargetsConnectionCredential {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostKey")]
pub host_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "passwordKey")]
pub password_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "portKey")]
pub port_key: Option<String>,
#[serde(rename = "secretName")]
pub secret_name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "usernameKey")]
pub username_key: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodTargetsContainerPort {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "portName")]
pub port_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodTargetsPodSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fallbackLabelSelector")]
pub fallback_label_selector: Option<BackupStatusBackupMethodTargetsPodSelectorFallbackLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<BackupStatusBackupMethodTargetsPodSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub strategy: Option<BackupStatusBackupMethodTargetsPodSelectorStrategy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "useParentSelectedPods")]
pub use_parent_selected_pods: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodTargetsPodSelectorFallbackLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<BackupStatusBackupMethodTargetsPodSelectorFallbackLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodTargetsPodSelectorFallbackLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodTargetsPodSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum BackupStatusBackupMethodTargetsPodSelectorStrategy {
Any,
All,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodTargetsResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub excluded: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub included: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<BackupStatusBackupMethodTargetsResourcesSelector>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodTargetsResourcesSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<BackupStatusBackupMethodTargetsResourcesSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusBackupMethodTargetsResourcesSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub struct BackupStatusEncryptionConfig {
pub algorithm: BackupStatusEncryptionConfigAlgorithm,
#[serde(rename = "passPhraseSecretKeyRef")]
pub pass_phrase_secret_key_ref: BackupStatusEncryptionConfigPassPhraseSecretKeyRef,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum BackupStatusEncryptionConfigAlgorithm {
#[serde(rename = "AES-128-CFB")]
Aes128Cfb,
#[serde(rename = "AES-192-CFB")]
Aes192Cfb,
#[serde(rename = "AES-256-CFB")]
Aes256Cfb,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusEncryptionConfigPassPhraseSecretKeyRef {
pub key: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub optional: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum BackupStatusPhase {
New,
InProgress,
Running,
Completed,
Failed,
Deleting,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusTarget {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "connectionCredential")]
pub connection_credential: Option<BackupStatusTargetConnectionCredential>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerPort")]
pub container_port: Option<BackupStatusTargetContainerPort>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podSelector")]
pub pod_selector: Option<BackupStatusTargetPodSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<BackupStatusTargetResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "selectedTargetPods")]
pub selected_target_pods: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountName")]
pub service_account_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusTargetConnectionCredential {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostKey")]
pub host_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "passwordKey")]
pub password_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "portKey")]
pub port_key: Option<String>,
#[serde(rename = "secretName")]
pub secret_name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "usernameKey")]
pub username_key: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusTargetContainerPort {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "portName")]
pub port_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusTargetPodSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fallbackLabelSelector")]
pub fallback_label_selector: Option<BackupStatusTargetPodSelectorFallbackLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<BackupStatusTargetPodSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub strategy: Option<BackupStatusTargetPodSelectorStrategy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "useParentSelectedPods")]
pub use_parent_selected_pods: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusTargetPodSelectorFallbackLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<BackupStatusTargetPodSelectorFallbackLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusTargetPodSelectorFallbackLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusTargetPodSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum BackupStatusTargetPodSelectorStrategy {
Any,
All,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusTargetResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub excluded: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub included: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<BackupStatusTargetResourcesSelector>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusTargetResourcesSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<BackupStatusTargetResourcesSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusTargetResourcesSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusTargets {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "connectionCredential")]
pub connection_credential: Option<BackupStatusTargetsConnectionCredential>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerPort")]
pub container_port: Option<BackupStatusTargetsContainerPort>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "podSelector")]
pub pod_selector: Option<BackupStatusTargetsPodSelector>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resources: Option<BackupStatusTargetsResources>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "selectedTargetPods")]
pub selected_target_pods: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAccountName")]
pub service_account_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusTargetsConnectionCredential {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "hostKey")]
pub host_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "passwordKey")]
pub password_key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "portKey")]
pub port_key: Option<String>,
#[serde(rename = "secretName")]
pub secret_name: String,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "usernameKey")]
pub username_key: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusTargetsContainerPort {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "containerName")]
pub container_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "portName")]
pub port_name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusTargetsPodSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "fallbackLabelSelector")]
pub fallback_label_selector: Option<BackupStatusTargetsPodSelectorFallbackLabelSelector>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<BackupStatusTargetsPodSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub strategy: Option<BackupStatusTargetsPodSelectorStrategy>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "useParentSelectedPods")]
pub use_parent_selected_pods: Option<bool>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusTargetsPodSelectorFallbackLabelSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<BackupStatusTargetsPodSelectorFallbackLabelSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusTargetsPodSelectorFallbackLabelSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusTargetsPodSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
pub enum BackupStatusTargetsPodSelectorStrategy {
Any,
All,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusTargetsResources {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub excluded: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub included: Option<Vec<String>>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub selector: Option<BackupStatusTargetsResourcesSelector>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusTargetsResourcesSelector {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")]
pub match_expressions: Option<Vec<BackupStatusTargetsResourcesSelectorMatchExpressions>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")]
pub match_labels: Option<BTreeMap<String, String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusTargetsResourcesSelectorMatchExpressions {
pub key: String,
pub operator: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub values: Option<Vec<String>>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusTimeRange {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub end: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub start: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "timeZone")]
pub time_zone: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct BackupStatusVolumeSnapshots {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "contentName")]
pub content_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub size: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "targetName")]
pub target_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeName")]
pub volume_name: Option<String>,
}