pub struct FromPolicy {
pub name: String,
pub namespace: Option<String>,
pub as_of: Option<String>,
pub offset: i64,
pub source_path: Option<String>,
}Expand description
The fromPolicy source: resolve a snapshot via a SnapshotPolicy’s identity, even when no Snapshot CR exists yet.
Fields§
§name: StringName of the SnapshotPolicy whose identity selects the snapshot.
namespace: Option<String>Namespace of the SnapshotPolicy; absent = the Restore’s own namespace.
as_of: Option<String>Restore the newest snapshot at or before this RFC3339 timestamp (point-in-time).
offset: i64Which snapshot to pick: 0 = latest, 1 = previous, and so on.
source_path: Option<String>The kopia source path to restore FROM, overriding the path kopiur derives from the policy.
Normally the path is derived: a policy with one plain pvc:/nfs source
contributes its own path, and a pvcSelector policy contributes the path
its sourcePathStrategy would have produced for the PVC being restored
(/pvc/<name> or /pvc/<namespace>/<name>) — the same rule the backup
side used when it wrote the snapshot, so a fan-out restore fills each PVC
from ITS OWN snapshot instead of the newest snapshot of any member.
Set this when the derivation is ambiguous or wrong: selector sources that
disagree on sourcePathStrategy/sourcePathOverride (kopiur fails closed
rather than guess), a policy whose selector sources share one
sourcePathOverride, or a cross-namespace target.pvcRef whose derived
/pvc/<namespace>/<name> names a namespace the repository never saw.
Mirrors IdentitySource::source_path: it selects which kopia source to
READ, it does not change where the data is written.
Trait Implementations§
Source§impl Clone for FromPolicy
impl Clone for FromPolicy
Source§fn clone(&self) -> FromPolicy
fn clone(&self) -> FromPolicy
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 FromPolicy
impl Debug for FromPolicy
Source§impl<'de> Deserialize<'de> for FromPolicy
impl<'de> Deserialize<'de> for FromPolicy
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 FromPolicy
Source§impl JsonSchema for FromPolicy
impl JsonSchema for FromPolicy
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 FromPolicy
impl PartialEq for FromPolicy
Source§fn eq(&self, other: &FromPolicy) -> bool
fn eq(&self, other: &FromPolicy) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for FromPolicy
impl Serialize for FromPolicy
impl StructuralPartialEq for FromPolicy
Auto Trait Implementations§
impl Freeze for FromPolicy
impl RefUnwindSafe for FromPolicy
impl Send for FromPolicy
impl Sync for FromPolicy
impl Unpin for FromPolicy
impl UnsafeUnpin for FromPolicy
impl UnwindSafe for FromPolicy
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