pub struct CachedSecretStore<S: SecretStore> { /* private fields */ }Expand description
A wrapper that adds caching to any secret store.
Implementations§
Source§impl<S: SecretStore> CachedSecretStore<S>
impl<S: SecretStore> CachedSecretStore<S>
Sourcepub fn with_max_entries(self, max: usize) -> Self
pub fn with_max_entries(self, max: usize) -> Self
Set the maximum cache entries.
Sourcepub fn clear_cache(&self)
pub fn clear_cache(&self)
Clear the cache.
Sourcepub fn invalidate(&self, key: &SecretKey)
pub fn invalidate(&self, key: &SecretKey)
Invalidate a specific key.
Trait Implementations§
Source§impl<S: SecretStore> SecretStore for CachedSecretStore<S>
impl<S: SecretStore> SecretStore for CachedSecretStore<S>
Source§fn get_secret<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 SecretKey,
) -> Pin<Box<dyn Future<Output = SecretResult<SecretValue>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_secret<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 SecretKey,
) -> Pin<Box<dyn Future<Output = SecretResult<SecretValue>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get a secret by key.
Source§fn secret_exists<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 SecretKey,
) -> Pin<Box<dyn Future<Output = SecretResult<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn secret_exists<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 SecretKey,
) -> Pin<Box<dyn Future<Output = SecretResult<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Check if a secret exists.
Source§fn list_secrets<'life0, 'life1, 'async_trait>(
&'life0 self,
prefix: Option<&'life1 str>,
) -> Pin<Box<dyn Future<Output = SecretResult<Vec<SecretKey>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_secrets<'life0, 'life1, 'async_trait>(
&'life0 self,
prefix: Option<&'life1 str>,
) -> Pin<Box<dyn Future<Output = SecretResult<Vec<SecretKey>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
List available secrets (if supported).
Source§fn store_name(&self) -> &str
fn store_name(&self) -> &str
Get the store name for logging/debugging.
Source§fn health_check<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = SecretResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn health_check<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = SecretResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Check if the store is healthy/connected.
Auto Trait Implementations§
impl<S> !Freeze for CachedSecretStore<S>
impl<S> !RefUnwindSafe for CachedSecretStore<S>
impl<S> Send for CachedSecretStore<S>
impl<S> Sync for CachedSecretStore<S>
impl<S> Unpin for CachedSecretStore<S>where
S: Unpin,
impl<S> UnwindSafe for CachedSecretStore<S>where
S: UnwindSafe,
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.