pub struct SnapshotSpec {
pub policy_ref: Option<PolicyRef>,
pub tags: Option<BTreeMap<String, String>>,
pub failure_policy: Option<FailurePolicy>,
pub deletion_policy: Option<DeletionPolicy>,
pub on_schedule_delete: Option<ScheduleDeletePolicy>,
pub pin: bool,
pub description: Option<String>,
}Expand description
A single kopia snapshot represented as a Kubernetes object.
Fields§
§policy_ref: Option<PolicyRef>The SnapshotPolicy recipe to run; absent for discovered backups.
Free-form tags attached to the kopia snapshot manifest itself
(snapshot create --tags), e.g. reason: pre-upgrade — durable in the
repository, independent of this CR. Keys must be non-empty, colon-free
(kopia splits on the first colon), and must not start with the reserved
kopiur prefix; at most 10 tags, keys ≤ 63 bytes, values ≤ 256 bytes
(webhook-enforced).
failure_policy: Option<FailurePolicy>Mover Job retry and deadline limits for this run.
deletion_policy: Option<DeletionPolicy>What happens to the kopia snapshot when this CR is deleted.
on_schedule_delete: Option<ScheduleDeletePolicy>What the schedule-deletion cascade does to this Snapshot: consulted by the
finalizer ONLY when the deletion is external (not an operator prune) and the
owning SnapshotSchedule is gone or replaced (ownerRef UID mismatch).
Retain downgrades an effective Delete so the kopia snapshot survives;
Delete lets the Snapshot’s own deletionPolicy cascade. Stamped at
creation from the schedule’s spec.deletion.onScheduleDelete; absent
(pre-upgrade Snapshots, manual/discovered Snapshots) resolves to Retain.
pin: boolExempt this snapshot from GFS retention.
description: Option<String>Free-form text recorded on the kopia snapshot manifest
(snapshot create --description). Per-invocation by nature —
scheduled/discovered Snapshots never set this (no templated
descriptions).
Trait Implementations§
Source§impl Clone for SnapshotSpec
impl Clone for SnapshotSpec
Source§fn clone(&self) -> SnapshotSpec
fn clone(&self) -> SnapshotSpec
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SnapshotSpec
impl Debug for SnapshotSpec
Source§impl<'de> Deserialize<'de> for SnapshotSpec
impl<'de> Deserialize<'de> for SnapshotSpec
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for SnapshotSpec
impl JsonSchema for SnapshotSpec
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for SnapshotSpec
impl PartialEq for SnapshotSpec
Source§fn eq(&self, other: &SnapshotSpec) -> bool
fn eq(&self, other: &SnapshotSpec) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for SnapshotSpec
impl Serialize for SnapshotSpec
impl StructuralPartialEq for SnapshotSpec
Auto Trait Implementations§
impl Freeze for SnapshotSpec
impl RefUnwindSafe for SnapshotSpec
impl Send for SnapshotSpec
impl Sync for SnapshotSpec
impl Unpin for SnapshotSpec
impl UnsafeUnpin for SnapshotSpec
impl UnwindSafe for SnapshotSpec
Blanket Implementations§
§impl<T> AnyExt for T
impl<T> AnyExt for T
§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind reference§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable reference§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointer§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer§fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
T behind Box pointer§fn downcast_move<T>(this: Self) -> Option<T>
fn downcast_move<T>(this: Self) -> Option<T>
Self to T,
useful only in generic context as a workaround for specializationSource§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
fn coerce_rc_to(self: Rc<X>) -> Rc<T>
fn coerce_box_to(self: Box<X>) -> Box<T>
fn coerce_ref_to(&self) -> &T
fn coerce_mut_to(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more