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>) -> Self
pub fn new(backend: Arc<dyn SecretsBackend>) -> Self
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 !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