pub struct SecretsManager { /* private fields */ }Expand description
Primary secrets manager that caches and rotates credentials.
Implementations§
Source§impl SecretsManager
impl SecretsManager
Sourcepub fn new(backend: Arc<dyn SecretsBackend>) -> SecretsManager
pub fn new(backend: Arc<dyn SecretsBackend>) -> SecretsManager
Create new SecretsManager with specified backend.
Sourcepub async fn get_secret(&self, name: &str) -> Result<String, SecretsError>
pub async fn get_secret(&self, name: &str) -> Result<String, SecretsError>
Get secret by name from backend.
Sourcepub async fn get_secret_with_expiry(
&self,
name: &str,
) -> Result<(String, DateTime<Utc>), SecretsError>
pub async fn get_secret_with_expiry( &self, name: &str, ) -> Result<(String, DateTime<Utc>), SecretsError>
Get secret with expiry time.
Returns tuple of (secret_value, expiry_datetime). Useful for dynamic credentials with lease durations.
Sourcepub async fn rotate_secret(&self, name: &str) -> Result<String, SecretsError>
pub async fn rotate_secret(&self, name: &str) -> Result<String, SecretsError>
Rotate secret to new value.
For backends that support it (e.g., Vault), generates new credential.
Auto Trait Implementations§
impl Freeze for SecretsManager
impl !RefUnwindSafe for SecretsManager
impl Send for SecretsManager
impl Sync for SecretsManager
impl Unpin for SecretsManager
impl UnsafeUnpin for SecretsManager
impl !UnwindSafe for SecretsManager
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> 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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request