pub struct PostgresEngine { /* private fields */ }Expand description
Dynamic PostgreSQL credentials engine. Mounted twice in practice: once at
database/ for config/roles CRUD, once at database/creds/ for
on-demand generation — see secrets-server’s wiring.
Implementations§
Trait Implementations§
Source§impl Default for PostgresEngine
impl Default for PostgresEngine
Source§impl SecretsEngine for PostgresEngine
impl SecretsEngine for PostgresEngine
Source§fn doc(&self) -> EngineDoc
fn doc(&self) -> EngineDoc
Self-documentation. Every engine must answer this — an engine that
cannot say what its credentials are worth has no business minting them.
fn read<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
storage: &'life1 dyn StorageBackend,
path: &'life2 str,
) -> Pin<Box<dyn Future<Output = EngineResult<Value>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn write<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
storage: &'life1 dyn StorageBackend,
path: &'life2 str,
data: Value,
) -> Pin<Box<dyn Future<Output = EngineResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn delete<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
storage: &'life1 dyn StorageBackend,
path: &'life2 str,
) -> Pin<Box<dyn Future<Output = EngineResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn list<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
storage: &'life1 dyn StorageBackend,
prefix: &'life2 str,
) -> Pin<Box<dyn Future<Output = EngineResult<Vec<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn generate<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
storage: &'life1 dyn StorageBackend,
role_name: &'life2 str,
) -> Pin<Box<dyn Future<Output = EngineResult<GeneratedCredential>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn generate<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
storage: &'life1 dyn StorageBackend,
role_name: &'life2 str,
) -> Pin<Box<dyn Future<Output = EngineResult<GeneratedCredential>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Dynamic-secret engines (e.g. Postgres) override these; static
engines (e.g. KV) inherit the default
Unsupported.fn revoke<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
storage: &'life1 dyn StorageBackend,
lease: &'life2 Lease,
) -> Pin<Box<dyn Future<Output = EngineResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Auto Trait Implementations§
impl !Freeze for PostgresEngine
impl !RefUnwindSafe for PostgresEngine
impl !UnwindSafe for PostgresEngine
impl Send for PostgresEngine
impl Sync for PostgresEngine
impl Unpin for PostgresEngine
impl UnsafeUnpin for PostgresEngine
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 more