#[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::apis::meta::v1::Condition;
}
use self::prelude::*;
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
#[kube(group = "oracle.db.anthosapis.com", version = "v1alpha1", kind = "PITR", plural = "pitrs")]
#[kube(namespaced)]
#[kube(status = "PitrStatus")]
#[kube(schema = "disabled")]
#[kube(derive="Default")]
#[kube(derive="PartialEq")]
pub struct PitrSpec {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "backupSchedule")]
pub backup_schedule: Option<String>,
pub images: BTreeMap<String, String>,
#[serde(rename = "instanceRef")]
pub instance_ref: PitrInstanceRef,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "storageURI")]
pub storage_uri: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PitrInstanceRef {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PitrStatus {
#[serde(default, skip_serializing_if = "Option::is_none", rename = "availableRecoveryWindowSCN")]
pub available_recovery_window_scn: Option<Vec<PitrStatusAvailableRecoveryWindowScn>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "availableRecoveryWindowTime")]
pub available_recovery_window_time: Option<Vec<PitrStatusAvailableRecoveryWindowTime>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "backupTotal")]
pub backup_total: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub conditions: Option<Vec<Condition>>,
#[serde(default, skip_serializing_if = "Option::is_none", rename = "currentDatabaseIncarnation")]
pub current_database_incarnation: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PitrStatusAvailableRecoveryWindowScn {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub begin: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub end: Option<String>,
}
#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
pub struct PitrStatusAvailableRecoveryWindowTime {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub begin: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub end: Option<String>,
}