pub trait Configurator:
Serialize
+ DeserializeOwned
+ Debug
+ 'static {
type Builder: Builder;
// Required method
fn into_builder(self) -> Self::Builder;
// Provided methods
fn from_uri(_uri: &OperatorUri) -> Result<Self> { ... }
fn from_iter(
iter: impl IntoIterator<Item = (String, String)>,
) -> Result<Self> { ... }
}Expand description
Configurator is used to configure the underlying service.
This trait allows the developer to define a configuration struct that can:
- deserialize from an iterator like hashmap or vector.
- convert into a service builder and finally build the underlying services.
Usually, users don’t need to use or import this trait directly, they can use Operator API instead.
For example:
use std::collections::HashMap;
use opendal::services::MemoryConfig;
use opendal::Operator;
async fn test() -> Result<()> {
let mut cfg = MemoryConfig::default();
cfg.root = Some("/".to_string());
// Build an `Operator` to start operating the storage.
let op: Operator = Operator::from_config(cfg)?.finish();
Ok(())
}Some service builder might contain in memory options like http_client . Users can call
into_builder to convert the configuration into a builder instead.
use std::collections::HashMap;
use opendal::raw::HttpClient;
use opendal::services::S3Config;
use opendal::Configurator;
use opendal::Operator;
async fn test() -> Result<()> {
let mut cfg = S3Config::default();
cfg.root = Some("/".to_string());
cfg.bucket = "test".to_string();
let builder = cfg.into_builder();
let builder = builder.http_client(HttpClient::new()?);
// Build an `Operator` to start operating the storage.
let op: Operator = Operator::new(builder)?.finish();
Ok(())
}Required Associated Types§
Required Methods§
Sourcefn into_builder(self) -> Self::Builder
fn into_builder(self) -> Self::Builder
Convert this configuration into a service builder.
Provided Methods§
Sourcefn from_uri(_uri: &OperatorUri) -> Result<Self>
fn from_uri(_uri: &OperatorUri) -> Result<Self>
Build configuration from a parsed URI plus merged options.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl Configurator for ()
impl Configurator for ()
Implementors§
Source§impl Configurator for AliyunDriveConfig
Available on crate feature services-aliyun-drive only.
impl Configurator for AliyunDriveConfig
Available on crate feature
services-aliyun-drive only.type Builder = AliyunDriveBuilder
Source§impl Configurator for AlluxioConfig
Available on crate feature services-alluxio only.
impl Configurator for AlluxioConfig
Available on crate feature
services-alluxio only.type Builder = AlluxioBuilder
Source§impl Configurator for AzblobConfig
Available on crate feature services-azblob only.
impl Configurator for AzblobConfig
Available on crate feature
services-azblob only.type Builder = AzblobBuilder
Source§impl Configurator for AzdlsConfig
Available on crate feature services-azdls only.
impl Configurator for AzdlsConfig
Available on crate feature
services-azdls only.type Builder = AzdlsBuilder
Source§impl Configurator for AzfileConfig
Available on crate feature services-azfile only.
impl Configurator for AzfileConfig
Available on crate feature
services-azfile only.type Builder = AzfileBuilder
Source§impl Configurator for B2Config
Available on crate feature services-b2 only.
impl Configurator for B2Config
Available on crate feature
services-b2 only.Source§impl Configurator for CacacheConfig
Available on crate feature services-cacache only.
impl Configurator for CacacheConfig
Available on crate feature
services-cacache only.type Builder = CacacheBuilder
Source§impl Configurator for CloudflareKvConfig
Available on crate feature services-cloudflare-kv only.
impl Configurator for CloudflareKvConfig
Available on crate feature
services-cloudflare-kv only.Source§impl Configurator for CompfsConfig
Available on crate feature services-compfs only.
impl Configurator for CompfsConfig
Available on crate feature
services-compfs only.type Builder = CompfsBuilder
Source§impl Configurator for CosConfig
Available on crate feature services-cos only.
impl Configurator for CosConfig
Available on crate feature
services-cos only.type Builder = CosBuilder
Source§impl Configurator for D1Config
Available on crate feature services-d1 only.
impl Configurator for D1Config
Available on crate feature
services-d1 only.Source§impl Configurator for DashmapConfig
Available on crate feature services-dashmap only.
impl Configurator for DashmapConfig
Available on crate feature
services-dashmap only.type Builder = DashmapBuilder
Source§impl Configurator for DbfsConfig
Available on crate feature services-dbfs only.
impl Configurator for DbfsConfig
Available on crate feature
services-dbfs only.type Builder = DbfsBuilder
Source§impl Configurator for DropboxConfig
Available on crate feature services-dropbox only.
impl Configurator for DropboxConfig
Available on crate feature
services-dropbox only.type Builder = DropboxBuilder
Source§impl Configurator for EtcdConfig
Available on crate feature services-etcd only.
impl Configurator for EtcdConfig
Available on crate feature
services-etcd only.type Builder = EtcdBuilder
Source§impl Configurator for FoundationdbConfig
Available on crate feature services-foundationdb only.
impl Configurator for FoundationdbConfig
Available on crate feature
services-foundationdb only.Source§impl Configurator for FsConfig
Available on crate feature services-fs only.
impl Configurator for FsConfig
Available on crate feature
services-fs only.Source§impl Configurator for FtpConfig
Available on crate feature services-ftp only.
impl Configurator for FtpConfig
Available on crate feature
services-ftp only.type Builder = FtpBuilder
Source§impl Configurator for GcsConfig
Available on crate feature services-gcs only.
impl Configurator for GcsConfig
Available on crate feature
services-gcs only.type Builder = GcsBuilder
Source§impl Configurator for GdriveConfig
Available on crate feature services-gdrive only.
impl Configurator for GdriveConfig
Available on crate feature
services-gdrive only.type Builder = GdriveBuilder
Source§impl Configurator for GhacConfig
Available on crate feature services-ghac only.
impl Configurator for GhacConfig
Available on crate feature
services-ghac only.type Builder = GhacBuilder
Source§impl Configurator for GithubConfig
Available on crate feature services-github only.
impl Configurator for GithubConfig
Available on crate feature
services-github only.type Builder = GithubBuilder
Source§impl Configurator for GridfsConfig
Available on crate feature services-gridfs only.
impl Configurator for GridfsConfig
Available on crate feature
services-gridfs only.type Builder = GridfsBuilder
Source§impl Configurator for HdfsConfig
Available on crate feature services-hdfs only.
impl Configurator for HdfsConfig
Available on crate feature
services-hdfs only.type Builder = HdfsBuilder
Source§impl Configurator for HdfsNativeConfig
Available on crate feature services-hdfs-native only.
impl Configurator for HdfsNativeConfig
Available on crate feature
services-hdfs-native only.type Builder = HdfsNativeBuilder
Source§impl Configurator for HttpConfig
Available on crate feature services-http only.
impl Configurator for HttpConfig
Available on crate feature
services-http only.type Builder = HttpBuilder
Source§impl Configurator for HuggingfaceConfig
Available on crate feature services-huggingface only.
impl Configurator for HuggingfaceConfig
Available on crate feature
services-huggingface only.type Builder = HuggingfaceBuilder
Source§impl Configurator for IpfsConfig
Available on crate feature services-ipfs only.
impl Configurator for IpfsConfig
Available on crate feature
services-ipfs only.type Builder = IpfsBuilder
Source§impl Configurator for IpmfsConfig
Available on crate feature services-ipmfs only.
impl Configurator for IpmfsConfig
Available on crate feature
services-ipmfs only.type Builder = IpmfsBuilder
Source§impl Configurator for KoofrConfig
Available on crate feature services-koofr only.
impl Configurator for KoofrConfig
Available on crate feature
services-koofr only.type Builder = KoofrBuilder
Source§impl Configurator for LakefsConfig
Available on crate feature services-lakefs only.
impl Configurator for LakefsConfig
Available on crate feature
services-lakefs only.type Builder = LakefsBuilder
Source§impl Configurator for MemcachedConfig
Available on crate feature services-memcached only.
impl Configurator for MemcachedConfig
Available on crate feature
services-memcached only.type Builder = MemcachedBuilder
Source§impl Configurator for MemoryConfig
Available on crate feature services-memory only.
impl Configurator for MemoryConfig
Available on crate feature
services-memory only.type Builder = MemoryBuilder
Source§impl Configurator for MiniMokaConfig
Available on crate feature services-mini-moka only.
impl Configurator for MiniMokaConfig
Available on crate feature
services-mini-moka only.type Builder = MiniMokaBuilder
Source§impl Configurator for MokaConfig
Available on crate feature services-moka only.
impl Configurator for MokaConfig
Available on crate feature
services-moka only.type Builder = MokaBuilder
Source§impl Configurator for MongodbConfig
Available on crate feature services-mongodb only.
impl Configurator for MongodbConfig
Available on crate feature
services-mongodb only.type Builder = MongodbBuilder
Source§impl Configurator for MonoiofsConfig
Available on crate feature services-monoiofs only.
impl Configurator for MonoiofsConfig
Available on crate feature
services-monoiofs only.type Builder = MonoiofsBuilder
Source§impl Configurator for MysqlConfig
Available on crate feature services-mysql only.
impl Configurator for MysqlConfig
Available on crate feature
services-mysql only.type Builder = MysqlBuilder
Source§impl Configurator for ObsConfig
Available on crate feature services-obs only.
impl Configurator for ObsConfig
Available on crate feature
services-obs only.type Builder = ObsBuilder
Source§impl Configurator for OnedriveConfig
Available on crate feature services-onedrive only.
impl Configurator for OnedriveConfig
Available on crate feature
services-onedrive only.type Builder = OnedriveBuilder
Source§impl Configurator for OssConfig
Available on crate feature services-oss only.
impl Configurator for OssConfig
Available on crate feature
services-oss only.type Builder = OssBuilder
Source§impl Configurator for PcloudConfig
Available on crate feature services-pcloud only.
impl Configurator for PcloudConfig
Available on crate feature
services-pcloud only.type Builder = PcloudBuilder
Source§impl Configurator for PersyConfig
Available on crate feature services-persy only.
impl Configurator for PersyConfig
Available on crate feature
services-persy only.type Builder = PersyBuilder
Source§impl Configurator for PostgresqlConfig
Available on crate feature services-postgresql only.
impl Configurator for PostgresqlConfig
Available on crate feature
services-postgresql only.type Builder = PostgresqlBuilder
Source§impl Configurator for RedbConfig
Available on crate feature services-redb only.
impl Configurator for RedbConfig
Available on crate feature
services-redb only.type Builder = RedbBuilder
Source§impl Configurator for RedisConfig
Available on crate feature services-redis only.
impl Configurator for RedisConfig
Available on crate feature
services-redis only.type Builder = RedisBuilder
Source§impl Configurator for RocksdbConfig
Available on crate feature services-rocksdb only.
impl Configurator for RocksdbConfig
Available on crate feature
services-rocksdb only.type Builder = RocksdbBuilder
Source§impl Configurator for S3Config
Available on crate feature services-s3 only.
impl Configurator for S3Config
Available on crate feature
services-s3 only.Source§impl Configurator for SeafileConfig
Available on crate feature services-seafile only.
impl Configurator for SeafileConfig
Available on crate feature
services-seafile only.type Builder = SeafileBuilder
Source§impl Configurator for SftpConfig
Available on crate feature services-sftp only.
impl Configurator for SftpConfig
Available on crate feature
services-sftp only.type Builder = SftpBuilder
Source§impl Configurator for SledConfig
Available on crate feature services-sled only.
impl Configurator for SledConfig
Available on crate feature
services-sled only.type Builder = SledBuilder
Source§impl Configurator for SqliteConfig
Available on crate feature services-sqlite only.
impl Configurator for SqliteConfig
Available on crate feature
services-sqlite only.type Builder = SqliteBuilder
Source§impl Configurator for SurrealdbConfig
Available on crate feature services-surrealdb only.
impl Configurator for SurrealdbConfig
Available on crate feature
services-surrealdb only.type Builder = SurrealdbBuilder
Source§impl Configurator for SwiftConfig
Available on crate feature services-swift only.
impl Configurator for SwiftConfig
Available on crate feature
services-swift only.type Builder = SwiftBuilder
Source§impl Configurator for TikvConfig
Available on crate feature services-tikv only.
impl Configurator for TikvConfig
Available on crate feature
services-tikv only.type Builder = TikvBuilder
Source§impl Configurator for UpyunConfig
Available on crate feature services-upyun only.
impl Configurator for UpyunConfig
Available on crate feature
services-upyun only.type Builder = UpyunBuilder
Source§impl Configurator for VercelArtifactsConfig
Available on crate feature services-vercel-artifacts only.
impl Configurator for VercelArtifactsConfig
Available on crate feature
services-vercel-artifacts only.Source§impl Configurator for VercelBlobConfig
Available on crate feature services-vercel-blob only.
impl Configurator for VercelBlobConfig
Available on crate feature
services-vercel-blob only.type Builder = VercelBlobBuilder
Source§impl Configurator for WebdavConfig
Available on crate feature services-webdav only.
impl Configurator for WebdavConfig
Available on crate feature
services-webdav only.type Builder = WebdavBuilder
Source§impl Configurator for WebhdfsConfig
Available on crate feature services-webhdfs only.
impl Configurator for WebhdfsConfig
Available on crate feature
services-webhdfs only.type Builder = WebhdfsBuilder
Source§impl Configurator for YandexDiskConfig
Available on crate feature services-yandex-disk only.
impl Configurator for YandexDiskConfig
Available on crate feature
services-yandex-disk only.