Skip to main content

SecretProvider

Trait SecretProvider 

Source
pub trait SecretProvider: Send + Sync {
    // Required methods
    fn get<'life0, 'life1, 'async_trait>(
        &'life0 self,
        id: &'life1 SecretId,
    ) -> Pin<Box<dyn Future<Output = Result<SecretBytes, SecretError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn put<'life0, 'life1, 'async_trait>(
        &'life0 self,
        id: &'life1 SecretId,
        value: SecretBytes,
    ) -> Pin<Box<dyn Future<Output = Result<(), SecretError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn rotate<'life0, 'life1, 'async_trait>(
        &'life0 self,
        id: &'life1 SecretId,
    ) -> Pin<Box<dyn Future<Output = Result<RotationHandle, SecretError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn list<'life0, 'life1, 'async_trait>(
        &'life0 self,
        prefix: &'life1 SecretId,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<SecretMeta>, SecretError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn namespace(&self) -> &str;
    fn supports_versions(&self) -> bool;

    // Provided methods
    fn read_scoped<'life0, 'async_trait>(
        &'life0 self,
        request: SecretReadRequest,
    ) -> Pin<Box<dyn Future<Output = Result<SecretBytes, SecretError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait { ... }
    fn write_scoped<'life0, 'async_trait>(
        &'life0 self,
        request: SecretWriteRequest,
    ) -> Pin<Box<dyn Future<Output = Result<SecretWriteReceipt, SecretError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait { ... }
    fn rotate_scoped<'life0, 'async_trait>(
        &'life0 self,
        request: SecretRotateRequest,
    ) -> Pin<Box<dyn Future<Output = Result<SecretRotationReceipt, SecretError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait { ... }
    fn lease_scoped<'life0, 'async_trait>(
        &'life0 self,
        request: SecretLeaseRequest,
    ) -> Pin<Box<dyn Future<Output = Result<SecretLeaseGrant, SecretError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait { ... }
}

Required Methods§

Source

fn get<'life0, 'life1, 'async_trait>( &'life0 self, id: &'life1 SecretId, ) -> Pin<Box<dyn Future<Output = Result<SecretBytes, SecretError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn put<'life0, 'life1, 'async_trait>( &'life0 self, id: &'life1 SecretId, value: SecretBytes, ) -> Pin<Box<dyn Future<Output = Result<(), SecretError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn rotate<'life0, 'life1, 'async_trait>( &'life0 self, id: &'life1 SecretId, ) -> Pin<Box<dyn Future<Output = Result<RotationHandle, SecretError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn list<'life0, 'life1, 'async_trait>( &'life0 self, prefix: &'life1 SecretId, ) -> Pin<Box<dyn Future<Output = Result<Vec<SecretMeta>, SecretError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn namespace(&self) -> &str

Source

fn supports_versions(&self) -> bool

Provided Methods§

Source

fn read_scoped<'life0, 'async_trait>( &'life0 self, request: SecretReadRequest, ) -> Pin<Box<dyn Future<Output = Result<SecretBytes, SecretError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn write_scoped<'life0, 'async_trait>( &'life0 self, request: SecretWriteRequest, ) -> Pin<Box<dyn Future<Output = Result<SecretWriteReceipt, SecretError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn rotate_scoped<'life0, 'async_trait>( &'life0 self, request: SecretRotateRequest, ) -> Pin<Box<dyn Future<Output = Result<SecretRotationReceipt, SecretError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn lease_scoped<'life0, 'async_trait>( &'life0 self, request: SecretLeaseRequest, ) -> Pin<Box<dyn Future<Output = Result<SecretLeaseGrant, SecretError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§