pub enum RestoreSourcePath {
Override(String),
PolicySource(Option<String>),
DerivedFromTarget(String),
}Expand description
Where a restore’s kopia source path came from — the result of
restore_source_path.
The provenance is kept (rather than collapsed to an Option<String>) because
the three cases mean different things to a human reading status, and to the
reconciler: an Override is what the user asked for and is
never second-guessed; a PolicySource reproduces the
pre-#443 behavior byte-for-byte; and a
DerivedFromTarget is the new per-PVC derivation
that makes a fan-out restore read the right member.
Variants§
Override(String)
source.fromPolicy.sourcePath — the user named the path explicitly.
PolicySource(Option<String>)
The governing plain (pvc:/nfs) source’s own path.
None is the identity-only form (kopia username@hostname, matching any
path): a policy with zero sources, which admission forbids but a
hand-patched legacy object may still carry. Tolerated exactly as
config_identity tolerates it — a working restore must not become a
terminal error on an upgrade.
DerivedFromTarget(String)
The selector sourcePathStrategy applied to the PVC being restored — the
same code path the backup used, so the strings cannot drift.
Implementations§
Trait Implementations§
Source§impl Clone for RestoreSourcePath
impl Clone for RestoreSourcePath
Source§fn clone(&self) -> RestoreSourcePath
fn clone(&self) -> RestoreSourcePath
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 RestoreSourcePath
impl Debug for RestoreSourcePath
impl Eq for RestoreSourcePath
Source§impl PartialEq for RestoreSourcePath
impl PartialEq for RestoreSourcePath
Source§fn eq(&self, other: &RestoreSourcePath) -> bool
fn eq(&self, other: &RestoreSourcePath) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for RestoreSourcePath
Auto Trait Implementations§
impl Freeze for RestoreSourcePath
impl RefUnwindSafe for RestoreSourcePath
impl Send for RestoreSourcePath
impl Sync for RestoreSourcePath
impl Unpin for RestoreSourcePath
impl UnsafeUnpin for RestoreSourcePath
impl UnwindSafe for RestoreSourcePath
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