pub struct BatchResolver<'a> { /* private fields */ }Expand description
Multi-provider batch resolver.
Groups secrets by provider type and resolves concurrently across providers, while using each provider’s optimal batch strategy internally.
§Example
ⓘ
use cuenv_secrets::{BatchResolver, BatchConfig, SaltConfig};
let config = BatchConfig::new(SaltConfig::new(Some("my-salt".to_string())));
let mut resolver = BatchResolver::new(config);
// Register resolvers
resolver.add_resolver(&env_resolver);
resolver.add_resolver(&aws_resolver);
// Resolve all secrets (groups by provider for optimal batch handling)
let secrets = resolver.resolve(&secret_specs).await?;Implementations§
Source§impl<'a> BatchResolver<'a>
impl<'a> BatchResolver<'a>
Sourcepub fn new(config: BatchConfig) -> Self
pub fn new(config: BatchConfig) -> Self
Create a new batch resolver with the given configuration.
Sourcepub fn add_resolver(&mut self, resolver: &'a dyn SecretResolver)
pub fn add_resolver(&mut self, resolver: &'a dyn SecretResolver)
Register a resolver for its provider.
The resolver’s provider_name is used
as the key for grouping secrets.
Sourcepub fn resolver_count(&self) -> usize
pub fn resolver_count(&self) -> usize
Get the number of registered resolvers.
Sourcepub async fn resolve_all(
&self,
secrets: &HashMap<String, (SecretSpec, &'static str)>,
) -> Result<BatchSecrets, SecretError>
pub async fn resolve_all( &self, secrets: &HashMap<String, (SecretSpec, &'static str)>, ) -> Result<BatchSecrets, SecretError>
Auto Trait Implementations§
impl<'a> Freeze for BatchResolver<'a>
impl<'a> !RefUnwindSafe for BatchResolver<'a>
impl<'a> Send for BatchResolver<'a>
impl<'a> Sync for BatchResolver<'a>
impl<'a> Unpin for BatchResolver<'a>
impl<'a> UnsafeUnpin for BatchResolver<'a>
impl<'a> !UnwindSafe for BatchResolver<'a>
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