pub struct Store<K: 'static + Lookup>{ /* private fields */ }
Expand description
A readable cache of Kubernetes objects of kind K
Cloning will produce a new reference to the same backing store.
Cannot be constructed directly since one writer handle is required,
use Writer::as_reader()
instead.
Implementations§
Source§impl<K: 'static + Clone + Lookup> Store<K>
impl<K: 'static + Clone + Lookup> Store<K>
Sourcepub async fn wait_until_ready(&self) -> Result<(), WriterDropped>
pub async fn wait_until_ready(&self) -> Result<(), WriterDropped>
Sourcepub fn get(&self, key: &ObjectRef<K>) -> Option<Arc<K>>
pub fn get(&self, key: &ObjectRef<K>) -> Option<Arc<K>>
Retrieve a clone()
of the entry referred to by key
, if it is in the cache.
key.namespace
is ignored for cluster-scoped resources.
Note that this is a cache and may be stale. Deleted objects may still exist in the cache
despite having been deleted in the cluster, and new objects may not yet exist in the cache.
If any of these are a problem for you then you should abort your reconciler and retry later.
If you use kube_rt::controller
then you can do this by returning an error and specifying a
reasonable error_policy
.
Trait Implementations§
Auto Trait Implementations§
impl<K> Freeze for Store<K>
impl<K> !RefUnwindSafe for Store<K>
impl<K> Send for Store<K>
impl<K> Sync for Store<K>
impl<K> Unpin for Store<K>
impl<K> !UnwindSafe for Store<K>
Blanket Implementations§
Source§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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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>
Converts
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>
Converts
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