pub struct SnapshotPolicyStatus {
pub observed_generation: Option<i64>,
pub resolved: Option<ResolvedPolicy>,
pub retention: Option<RetentionSummary>,
pub adoption: Option<AdoptionSummary>,
pub last_successful_snapshot: Option<String>,
pub last_verified: Option<String>,
pub verification: Vec<RepoVerification>,
pub verification_stamps: BTreeMap<String, String>,
pub repository_summary: Option<String>,
pub conditions: Vec<Condition>,
}Expand description
Observed state of a SnapshotPolicy.
Fields§
§observed_generation: Option<i64>metadata.generation last reconciled, for staleness detection.
resolved: Option<ResolvedPolicy>What would be passed to kopia — pinned at admission.
retention: Option<RetentionSummary>Summary of GFS retention pruning against this config’s Snapshot CRs.
adoption: Option<AdoptionSummary>Summary of automatic adoption of discovered snapshots into this recipe.
last_successful_snapshot: Option<String>RFC3339 timestamp of the most recent successful child Snapshot from this recipe.
last_verified: Option<String>RFC3339 timestamp of the most recent successful verification (any tier).
Single-repo: stamped directly by the verify mover. Multi-repo: computed
by the controller as the MINIMUM lastVerified across the CURRENT
repositories (“everything is verified as of T”), absent until every
current repository has verified at least once.
verification: Vec<RepoVerification>Per-repository verification records for a multi-repository policy
(#368): one entry per CURRENT spec.repositories member, maintained by
the controller (single writer — entries for repositories no longer in
the spec are pruned). Empty (elided) for the single-repo shape, whose
wire stays byte-identical.
verification_stamps: BTreeMap<String, String>Internal write channel for per-repository verification (#368): RFC3339
markers keyed by the normalized repository key
(repo_key). Each verify mover merge-patches
ONLY its own key — a JSON merge patch merges map keys, so two concurrent
per-repo verifies can never clobber one another (a Vec would be replaced
wholesale). The controller folds these into verification on its next
pass and prunes keys for repositories no longer in the spec. Never
written for the single-repo shape.
repository_summary: Option<String>Human-readable summary of the policy’s repository target(s) for the
Repositories print column: the comma-joined repository names (the one
name for the single-repo shape), capped near a kubectl column width
with a +N overflow marker. Written by the controller.
conditions: Vec<Condition>Standard Kubernetes conditions (e.g. RepositoryReachable, GroupSnapshotSupported).
Trait Implementations§
Source§impl Clone for SnapshotPolicyStatus
impl Clone for SnapshotPolicyStatus
Source§fn clone(&self) -> SnapshotPolicyStatus
fn clone(&self) -> SnapshotPolicyStatus
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 SnapshotPolicyStatus
impl Debug for SnapshotPolicyStatus
Source§impl Default for SnapshotPolicyStatus
impl Default for SnapshotPolicyStatus
Source§fn default() -> SnapshotPolicyStatus
fn default() -> SnapshotPolicyStatus
Source§impl<'de> Deserialize<'de> for SnapshotPolicyStatus
impl<'de> Deserialize<'de> for SnapshotPolicyStatus
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 SnapshotPolicyStatus
impl JsonSchema for SnapshotPolicyStatus
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 SnapshotPolicyStatus
impl PartialEq for SnapshotPolicyStatus
Source§fn eq(&self, other: &SnapshotPolicyStatus) -> bool
fn eq(&self, other: &SnapshotPolicyStatus) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for SnapshotPolicyStatus
impl Serialize for SnapshotPolicyStatus
impl StructuralPartialEq for SnapshotPolicyStatus
Auto Trait Implementations§
impl Freeze for SnapshotPolicyStatus
impl RefUnwindSafe for SnapshotPolicyStatus
impl Send for SnapshotPolicyStatus
impl Sync for SnapshotPolicyStatus
impl Unpin for SnapshotPolicyStatus
impl UnsafeUnpin for SnapshotPolicyStatus
impl UnwindSafe for SnapshotPolicyStatus
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<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§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