pub struct ObservedBlobRetention {
pub enabled: bool,
pub mode: String,
pub period: String,
}Expand description
The blob retention the repository ACTUALLY reports, mirrored into status from
kopia repository status at the last bootstrap.
A separate type from BlobRetention for the same reasons ObservedEpochParameters is
separate from EpochParameters: the spec type is a closed union that cannot express
“kopia reported nothing”, and non-Option fields encode “observed means complete”.
mode is a plain String, not the spec enum, because kopia reports an empty mode when
retention is off — a value the union deliberately cannot hold. Reporting kopia’s own word
verbatim also keeps the mirror honest if kopia ever adds a mode kopiur doesn’t model.
Fields§
§enabled: boolWhether the repository currently has blob retention in force (kopia’s
IsRetentionEnabled(): a non-empty mode AND a non-zero period).
mode: StringObserved retention mode exactly as kopia reports it (GOVERNANCE, COMPLIANCE, or
empty when off).
period: StringObserved retention period, as a Go-style duration (720h). Empty-equivalent (0s)
when retention is off.
Trait Implementations§
Source§impl Clone for ObservedBlobRetention
impl Clone for ObservedBlobRetention
Source§fn clone(&self) -> ObservedBlobRetention
fn clone(&self) -> ObservedBlobRetention
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 ObservedBlobRetention
impl Debug for ObservedBlobRetention
Source§impl Default for ObservedBlobRetention
impl Default for ObservedBlobRetention
Source§fn default() -> ObservedBlobRetention
fn default() -> ObservedBlobRetention
Source§impl<'de> Deserialize<'de> for ObservedBlobRetention
impl<'de> Deserialize<'de> for ObservedBlobRetention
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 ObservedBlobRetention
Source§impl JsonSchema for ObservedBlobRetention
impl JsonSchema for ObservedBlobRetention
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 ObservedBlobRetention
impl PartialEq for ObservedBlobRetention
Source§fn eq(&self, other: &ObservedBlobRetention) -> bool
fn eq(&self, other: &ObservedBlobRetention) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ObservedBlobRetention
impl Serialize for ObservedBlobRetention
impl StructuralPartialEq for ObservedBlobRetention
Auto Trait Implementations§
impl Freeze for ObservedBlobRetention
impl RefUnwindSafe for ObservedBlobRetention
impl Send for ObservedBlobRetention
impl Sync for ObservedBlobRetention
impl Unpin for ObservedBlobRetention
impl UnsafeUnpin for ObservedBlobRetention
impl UnwindSafe for ObservedBlobRetention
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