pub struct CopiedFrom {
pub repository: RepositoryRef,
pub source_manifest_id: String,
pub start_time: String,
}Expand description
Lineage of an origin: replicated row: where the copy came from.
kopia snapshot migrate cannot stamp tags onto the migrated manifest (it
preserves the source manifest verbatim apart from assigning a new manifest
id), so the provenance a dest-side copy CR needs — which repository it was
copied FROM, which source manifest it corresponds to, and the startTime
migrate keys idempotency on — cannot live in the kopia repository. It lives
here, written by the replication mover in the same atomic status PATCH that
records the destination manifest (status.snapshot.kopiaSnapshotID).
Fields§
§repository: RepositoryRefThe SOURCE repository the snapshot was migrated from (the
SnapshotReplication’s sourceRef, resolved at run time).
source_manifest_id: StringThe kopia manifest id the snapshot had in the SOURCE repository.
Migrate assigns a NEW manifest id on the destination
(status.snapshot.kopiaSnapshotID); this is the old one, kept for
cross-repository correlation.
start_time: StringThe snapshot’s RFC3339 startTime — preserved verbatim by migrate and
the key (together with the identity triple) both idempotent re-migration
and pruning: mirrorSource correlate source and destination rows on.
Trait Implementations§
Source§impl Clone for CopiedFrom
impl Clone for CopiedFrom
Source§fn clone(&self) -> CopiedFrom
fn clone(&self) -> CopiedFrom
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 CopiedFrom
impl Debug for CopiedFrom
Source§impl<'de> Deserialize<'de> for CopiedFrom
impl<'de> Deserialize<'de> for CopiedFrom
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 CopiedFrom
Source§impl JsonSchema for CopiedFrom
impl JsonSchema for CopiedFrom
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 CopiedFrom
impl PartialEq for CopiedFrom
Source§fn eq(&self, other: &CopiedFrom) -> bool
fn eq(&self, other: &CopiedFrom) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for CopiedFrom
impl Serialize for CopiedFrom
impl StructuralPartialEq for CopiedFrom
Auto Trait Implementations§
impl Freeze for CopiedFrom
impl RefUnwindSafe for CopiedFrom
impl Send for CopiedFrom
impl Sync for CopiedFrom
impl Unpin for CopiedFrom
impl UnsafeUnpin for CopiedFrom
impl UnwindSafe for CopiedFrom
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