pub enum PrunedBy {
Retention,
FailedHistory,
PolicyCascade,
ReplicationRetention,
ReplacedRun,
}Expand description
Which operator lifecycle removed a Snapshot (the pruned-by annotation).
Variants§
Retention
GFS retention prune (SnapshotPolicy.spec.retention).
FailedHistory
SnapshotSchedule.spec.failedJobsHistoryLimit prune.
PolicyCascade
Policy-deletion cascade under onPolicyDelete: Retain — release the
CR, never contact the repository.
ReplicationRetention
A SnapshotReplication’s own retention prune of its dest-side copy CRs
(pruning: retention). An OPERATOR prune exactly like Retention:
bounded, deliberate, breaker-exempt. (pruning: mirrorSource deletes
deliberately carry NO stamp, so a mass source-vanish classifies EXTERNAL
and the dest repository’s breaker holds it.)
ReplacedRun
SnapshotSchedule.spec.schedule.concurrencyPolicy: Replace cancelled
this still-unfinished run so the newly-due slot could take its place.
An OPERATOR prune: bounded by construction (at most this schedule’s own
unfinished children, at most one slot’s worth per fire) and deliberate —
the user asked for cancel-the-old — so it is breaker-EXEMPT. Without the
stamp every Replace fire would classify EXTERNAL and a busy schedule
would trip its repository’s mass-deletion breaker.
Implementations§
Source§impl PrunedBy
impl PrunedBy
Sourcepub const ALL: &'static [Self]
pub const ALL: &'static [Self]
Every variant, for the annotation-value ↔ parse
round-trip test. A new variant added without extending this array fails
that test (and the exhaustive matches here and in the controller’s
deletion planner won’t compile until it is classified).
Sourcepub fn annotation_value(self) -> &'static str
pub fn annotation_value(self) -> &'static str
The stable annotation value stamped by the operator before it deletes a
Snapshot as part of its own lifecycle (see crate::consts::PRUNED_BY_ANNOTATION).
Trait Implementations§
impl Copy for PrunedBy
impl Eq for PrunedBy
impl StructuralPartialEq for PrunedBy
Auto Trait Implementations§
impl Freeze for PrunedBy
impl RefUnwindSafe for PrunedBy
impl Send for PrunedBy
impl Sync for PrunedBy
impl Unpin for PrunedBy
impl UnsafeUnpin for PrunedBy
impl UnwindSafe for PrunedBy
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§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