pub struct SeedStatus {
pub started_at: Option<String>,
pub seeded_at: Option<String>,
pub mode: Option<SeedMode>,
pub source: Option<String>,
pub snapshot_count: Option<i64>,
pub snapshots_copied: Option<i64>,
}Expand description
What the last seed attempt did, pinned on Repository/ClusterRepository
status.seed. Absent on a repository that was never seeded.
Fields§
§started_at: Option<String>RFC 3339 timestamp the operator LAUNCHED a seeding bootstrap Job for this repository — the durable seed-attempt marker.
Stamped before the Job is created, and never cleared. Its whole job is
to distinguish “a seed this operator started did not finish” from “this
backend was initialized by somebody else”: the first must resume the
copy, the second must keep the no-clobber AlreadyInitialized path.
See seed_resume — the marker is the ONLY input the resume decision is
allowed to take, because a resuming migrate writes into whatever
repository is at the backend and then re-stamps its maintenance owner.
seeded_at: Option<String>RFC 3339 timestamp the seed completed. Set once: a repository is seeded exactly once, at its first bootstrap.
mode: Option<SeedMode>Which copy mechanism ran: blob (a kopia repository sync-to from a
mirror backend) or migrate (a kopia snapshot migrate from another
repository CR).
source: Option<String>The source the data came from, rendered by SeedSource::describe —
the backend discriminant (S3, Filesystem, …) for blob mode,
Kind/name for migrate mode. Never a credential or a bucket path.
snapshot_count: Option<i64>Snapshots observed at the SOURCE when the seed ran. Zero is only ever
recorded when allowEmptySource permitted it.
snapshots_copied: Option<i64>Snapshots actually copied into this repository. Migrate mode only — a
blob copy moves storage, not manifests, so there is no per-snapshot copy
count to report and it leaves this unset; its snapshotCount is the
listing taken at the SOURCE before the copy, which for a byte-for-byte
mirror is also what this repository ends up holding.
Trait Implementations§
Source§impl Clone for SeedStatus
impl Clone for SeedStatus
Source§fn clone(&self) -> SeedStatus
fn clone(&self) -> SeedStatus
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 SeedStatus
impl Debug for SeedStatus
Source§impl Default for SeedStatus
impl Default for SeedStatus
Source§fn default() -> SeedStatus
fn default() -> SeedStatus
Source§impl<'de> Deserialize<'de> for SeedStatus
impl<'de> Deserialize<'de> for SeedStatus
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>,
impl Eq for SeedStatus
Source§impl JsonSchema for SeedStatus
impl JsonSchema for SeedStatus
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 SeedStatus
impl PartialEq for SeedStatus
Source§fn eq(&self, other: &SeedStatus) -> bool
fn eq(&self, other: &SeedStatus) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for SeedStatus
impl Serialize for SeedStatus
impl StructuralPartialEq for SeedStatus
Auto Trait Implementations§
impl Freeze for SeedStatus
impl RefUnwindSafe for SeedStatus
impl Send for SeedStatus
impl Sync for SeedStatus
impl Unpin for SeedStatus
impl UnsafeUnpin for SeedStatus
impl UnwindSafe for SeedStatus
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<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