pub struct IdentityDefaults {
pub cluster: Option<String>,
pub hostname_expr: Option<String>,
pub username_expr: Option<String>,
}Expand description
CEL expressions evaluated at admission to derive consumer identity when a
SnapshotPolicy doesn’t override. Shared by Repository and
ClusterRepository (M5 gave the namespaced kind the same surface the
cluster-scoped kind has had since M1) — both mean the same thing: this
repository’s backend is (or may be) shared, so its consumers need a
hostname/username recipe beyond the bare per-namespace default.
Fields§
§cluster: Option<String>This cluster’s identity suffix for repositories shared across clusters
(an RFC 1123 label, at most 32 characters; dots are rejected — the first
. in a hostname is the namespace/cluster delimiter). When set, the
default kopia identity hostname becomes <namespace>.<cluster> instead
of <namespace>, so two clusters backing up same-named namespaces write
distinct identities (and one cluster’s retention prune can no longer
touch the other’s snapshots). Also exposed to hostnameExpr/
usernameExpr as the CEL variable cluster.
hostname_expr: Option<String>CEL expression for the kopia identity hostname (e.g. "namespace").
username_expr: Option<String>CEL expression for the kopia identity username (e.g. "namespace + '-' + policyName").
Trait Implementations§
Source§impl Clone for IdentityDefaults
impl Clone for IdentityDefaults
Source§fn clone(&self) -> IdentityDefaults
fn clone(&self) -> IdentityDefaults
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 IdentityDefaults
impl Debug for IdentityDefaults
Source§impl Default for IdentityDefaults
impl Default for IdentityDefaults
Source§fn default() -> IdentityDefaults
fn default() -> IdentityDefaults
Source§impl<'de> Deserialize<'de> for IdentityDefaults
impl<'de> Deserialize<'de> for IdentityDefaults
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>,
Source§impl JsonSchema for IdentityDefaults
impl JsonSchema for IdentityDefaults
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 IdentityDefaults
impl PartialEq for IdentityDefaults
Source§fn eq(&self, other: &IdentityDefaults) -> bool
fn eq(&self, other: &IdentityDefaults) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for IdentityDefaults
impl Serialize for IdentityDefaults
impl Eq for IdentityDefaults
impl StructuralPartialEq for IdentityDefaults
Auto Trait Implementations§
impl Freeze for IdentityDefaults
impl RefUnwindSafe for IdentityDefaults
impl Send for IdentityDefaults
impl Sync for IdentityDefaults
impl Unpin for IdentityDefaults
impl UnsafeUnpin for IdentityDefaults
impl UnwindSafe for IdentityDefaults
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
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