pub struct SecretProvidersPoolBuilder { /* private fields */ }Expand description
Builder for creating SecretProvidersPool instances.
This builder allows you to configure multiple secret providers and set a default.
Use the builder pattern to add providers and then call SecretProvidersPoolBuilder::build() to create the pool.
§Example
use regent_sdk::secrets::{SecretProvider, SecretProvidersPoolBuilder};
let pool = SecretProvidersPoolBuilder::new()
.add_provider("files", SecretProvider::files())
.add_default_provider("env", SecretProvider::env_var())
.build()
.unwrap();Implementations§
Source§impl SecretProvidersPoolBuilder
impl SecretProvidersPoolBuilder
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new, empty secret providers pool builder.
§Example
use regent_sdk::secrets::SecretProvidersPoolBuilder;
let builder = SecretProvidersPoolBuilder::new();Sourcepub fn add_provider(self, name: &str, provider: SecretProvider) -> Self
pub fn add_provider(self, name: &str, provider: SecretProvider) -> Self
Add a secret provider to the pool.
§Arguments
name- Unique identifier for this providerprovider- The secret provider instance
§Returns
The builder, for method chaining.
§Example
use regent_sdk::secrets::{SecretProvider, SecretProvidersPoolBuilder};
let builder = SecretProvidersPoolBuilder::new()
.add_provider("files", SecretProvider::files());Sourcepub fn add_default_provider(self, name: &str, provider: SecretProvider) -> Self
pub fn add_default_provider(self, name: &str, provider: SecretProvider) -> Self
Add a secret provider and set it as the default.
This is a convenience method that combines add_provider and set_default.
§Arguments
name- Unique identifier for this providerprovider- The secret provider instance
§Returns
The builder, for method chaining.
§Example
use regent_sdk::secrets::{SecretProvider, SecretProvidersPoolBuilder};
let builder = SecretProvidersPoolBuilder::new()
.add_default_provider("files", SecretProvider::files());Sourcepub fn set_default(self, name: String) -> Self
pub fn set_default(self, name: String) -> Self
Set the default provider by name.
The provider must have been previously added with add_provider.
§Arguments
name- Name of the provider to set as default
§Returns
The builder, for method chaining.
§Example
use regent_sdk::secrets::{SecretProvider, SecretProvidersPoolBuilder};
let builder = SecretProvidersPoolBuilder::new()
.add_provider("files", SecretProvider::files())
.add_provider("env", SecretProvider::env_var())
.set_default("files".to_string());Sourcepub fn build(self) -> Result<SecretProvidersPool, RegentError>
pub fn build(self) -> Result<SecretProvidersPool, RegentError>
Build the secret providers pool.
This consumes the builder and returns a new SecretProvidersPool if validation passes.
§Returns
Ok(SecretProvidersPool)if the pool was successfully builtErr(RegentError)if validation failed (e.g., no default provider set, or default provider not found)
§Example
use regent_sdk::secrets::{SecretProvider, SecretProvidersPoolBuilder};
let pool = SecretProvidersPoolBuilder::new()
.add_default_provider("files", SecretProvider::files())
.build()
.unwrap();