pub trait Builder: Default + 'static {
type Config: Configurator;
// Required method
fn build(self) -> Result<impl Access>;
}
Expand description
Builder is used to set up underlying services.
This trait allows the developer to define a builder struct that can:
- build a service via builder style API.
- configure in-memory options like
http_client
orcustomized_credential_load
.
Usually, users don’t need to use or import this trait directly, they can use Operator
API instead.
For example:
use opendal::services::Fs;
use opendal::Operator;
async fn test() -> Result<()> {
// Create fs backend builder.
let mut builder = Fs::default().root("/tmp");
// Build an `Operator` to start operating the storage.
let op: Operator = Operator::new(builder)?.finish();
Ok(())
}
Required Associated Types§
Sourcetype Config: Configurator
type Config: Configurator
Associated configuration for this builder.
Required Methods§
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§
Implementors§
Source§impl Builder for AliyunDriveBuilder
Available on crate feature services-aliyun-drive
only.
impl Builder for AliyunDriveBuilder
Available on crate feature
services-aliyun-drive
only.type Config = AliyunDriveConfig
Source§impl Builder for AlluxioBuilder
Available on crate feature services-alluxio
only.
impl Builder for AlluxioBuilder
Available on crate feature
services-alluxio
only.type Config = AlluxioConfig
Source§impl Builder for AzblobBuilder
Available on crate feature services-azblob
only.
impl Builder for AzblobBuilder
Available on crate feature
services-azblob
only.type Config = AzblobConfig
Source§impl Builder for AzdlsBuilder
Available on crate feature services-azdls
only.
impl Builder for AzdlsBuilder
Available on crate feature
services-azdls
only.type Config = AzdlsConfig
Source§impl Builder for AzfileBuilder
Available on crate feature services-azfile
only.
impl Builder for AzfileBuilder
Available on crate feature
services-azfile
only.type Config = AzfileConfig
Source§impl Builder for CacacheBuilder
Available on crate feature services-cacache
only.
impl Builder for CacacheBuilder
Available on crate feature
services-cacache
only.type Config = CacacheConfig
Source§impl Builder for CloudflareKvBuilder
Available on crate feature services-cloudflare-kv
only.
impl Builder for CloudflareKvBuilder
Available on crate feature
services-cloudflare-kv
only.type Config = CloudflareKvConfig
Source§impl Builder for CompfsBuilder
Available on crate feature services-compfs
only.
impl Builder for CompfsBuilder
Available on crate feature
services-compfs
only.type Config = CompfsConfig
Source§impl Builder for CosBuilder
Available on crate feature services-cos
only.
impl Builder for CosBuilder
Available on crate feature
services-cos
only.Source§impl Builder for DashmapBuilder
Available on crate feature services-dashmap
only.
impl Builder for DashmapBuilder
Available on crate feature
services-dashmap
only.type Config = DashmapConfig
Source§impl Builder for DbfsBuilder
Available on crate feature services-dbfs
only.
impl Builder for DbfsBuilder
Available on crate feature
services-dbfs
only.type Config = DbfsConfig
Source§impl Builder for DropboxBuilder
Available on crate feature services-dropbox
only.
impl Builder for DropboxBuilder
Available on crate feature
services-dropbox
only.type Config = DropboxConfig
Source§impl Builder for EtcdBuilder
Available on crate feature services-etcd
only.
impl Builder for EtcdBuilder
Available on crate feature
services-etcd
only.type Config = EtcdConfig
Source§impl Builder for FoundationdbBuilder
Available on crate feature services-foundationdb
only.
impl Builder for FoundationdbBuilder
Available on crate feature
services-foundationdb
only.type Config = FoundationdbConfig
Source§impl Builder for FtpBuilder
Available on crate feature services-ftp
only.
impl Builder for FtpBuilder
Available on crate feature
services-ftp
only.Source§impl Builder for GcsBuilder
Available on crate feature services-gcs
only.
impl Builder for GcsBuilder
Available on crate feature
services-gcs
only.Source§impl Builder for GdriveBuilder
Available on crate feature services-gdrive
only.
impl Builder for GdriveBuilder
Available on crate feature
services-gdrive
only.type Config = GdriveConfig
Source§impl Builder for GhacBuilder
Available on crate feature services-ghac
only.
impl Builder for GhacBuilder
Available on crate feature
services-ghac
only.type Config = GhacConfig
Source§impl Builder for GithubBuilder
Available on crate feature services-github
only.
impl Builder for GithubBuilder
Available on crate feature
services-github
only.type Config = GithubConfig
Source§impl Builder for GridfsBuilder
Available on crate feature services-gridfs
only.
impl Builder for GridfsBuilder
Available on crate feature
services-gridfs
only.type Config = GridfsConfig
Source§impl Builder for HdfsBuilder
Available on crate feature services-hdfs
only.
impl Builder for HdfsBuilder
Available on crate feature
services-hdfs
only.type Config = HdfsConfig
Source§impl Builder for HdfsNativeBuilder
Available on crate feature services-hdfs-native
only.
impl Builder for HdfsNativeBuilder
Available on crate feature
services-hdfs-native
only.type Config = HdfsNativeConfig
Source§impl Builder for HttpBuilder
Available on crate feature services-http
only.
impl Builder for HttpBuilder
Available on crate feature
services-http
only.type Config = HttpConfig
Source§impl Builder for HuggingfaceBuilder
Available on crate feature services-huggingface
only.
impl Builder for HuggingfaceBuilder
Available on crate feature
services-huggingface
only.type Config = HuggingfaceConfig
Source§impl Builder for IpfsBuilder
Available on crate feature services-ipfs
only.
impl Builder for IpfsBuilder
Available on crate feature
services-ipfs
only.type Config = IpfsConfig
Source§impl Builder for IpmfsBuilder
Available on crate feature services-ipmfs
only.
impl Builder for IpmfsBuilder
Available on crate feature
services-ipmfs
only.type Config = IpmfsConfig
Source§impl Builder for KoofrBuilder
Available on crate feature services-koofr
only.
impl Builder for KoofrBuilder
Available on crate feature
services-koofr
only.type Config = KoofrConfig
Source§impl Builder for LakefsBuilder
Available on crate feature services-lakefs
only.
impl Builder for LakefsBuilder
Available on crate feature
services-lakefs
only.type Config = LakefsConfig
Source§impl Builder for MemcachedBuilder
Available on crate feature services-memcached
only.
impl Builder for MemcachedBuilder
Available on crate feature
services-memcached
only.type Config = MemcachedConfig
Source§impl Builder for MemoryBuilder
Available on crate feature services-memory
only.
impl Builder for MemoryBuilder
Available on crate feature
services-memory
only.type Config = MemoryConfig
Source§impl Builder for MiniMokaBuilder
Available on crate feature services-mini-moka
only.
impl Builder for MiniMokaBuilder
Available on crate feature
services-mini-moka
only.type Config = MiniMokaConfig
Source§impl Builder for MokaBuilder
Available on crate feature services-moka
only.
impl Builder for MokaBuilder
Available on crate feature
services-moka
only.type Config = MokaConfig
Source§impl Builder for MongodbBuilder
Available on crate feature services-mongodb
only.
impl Builder for MongodbBuilder
Available on crate feature
services-mongodb
only.type Config = MongodbConfig
Source§impl Builder for MonoiofsBuilder
Available on crate feature services-monoiofs
only.
impl Builder for MonoiofsBuilder
Available on crate feature
services-monoiofs
only.type Config = MonoiofsConfig
Source§impl Builder for MysqlBuilder
Available on crate feature services-mysql
only.
impl Builder for MysqlBuilder
Available on crate feature
services-mysql
only.type Config = MysqlConfig
Source§impl Builder for ObsBuilder
Available on crate feature services-obs
only.
impl Builder for ObsBuilder
Available on crate feature
services-obs
only.Source§impl Builder for OnedriveBuilder
Available on crate feature services-onedrive
only.
impl Builder for OnedriveBuilder
Available on crate feature
services-onedrive
only.type Config = OnedriveConfig
Source§impl Builder for OssBuilder
Available on crate feature services-oss
only.
impl Builder for OssBuilder
Available on crate feature
services-oss
only.Source§impl Builder for PcloudBuilder
Available on crate feature services-pcloud
only.
impl Builder for PcloudBuilder
Available on crate feature
services-pcloud
only.type Config = PcloudConfig
Source§impl Builder for PersyBuilder
Available on crate feature services-persy
only.
impl Builder for PersyBuilder
Available on crate feature
services-persy
only.type Config = PersyConfig
Source§impl Builder for PostgresqlBuilder
Available on crate feature services-postgresql
only.
impl Builder for PostgresqlBuilder
Available on crate feature
services-postgresql
only.type Config = PostgresqlConfig
Source§impl Builder for RedbBuilder
Available on crate feature services-redb
only.
impl Builder for RedbBuilder
Available on crate feature
services-redb
only.type Config = RedbConfig
Source§impl Builder for RedisBuilder
Available on crate feature services-redis
only.
impl Builder for RedisBuilder
Available on crate feature
services-redis
only.type Config = RedisConfig
Source§impl Builder for RocksdbBuilder
Available on crate feature services-rocksdb
only.
impl Builder for RocksdbBuilder
Available on crate feature
services-rocksdb
only.type Config = RocksdbConfig
Source§impl Builder for SeafileBuilder
Available on crate feature services-seafile
only.
impl Builder for SeafileBuilder
Available on crate feature
services-seafile
only.type Config = SeafileConfig
Source§impl Builder for SftpBuilder
Available on crate feature services-sftp
only.
impl Builder for SftpBuilder
Available on crate feature
services-sftp
only.type Config = SftpConfig
Source§impl Builder for SledBuilder
Available on crate feature services-sled
only.
impl Builder for SledBuilder
Available on crate feature
services-sled
only.type Config = SledConfig
Source§impl Builder for SqliteBuilder
Available on crate feature services-sqlite
only.
impl Builder for SqliteBuilder
Available on crate feature
services-sqlite
only.type Config = SqliteConfig
Source§impl Builder for SurrealdbBuilder
Available on crate feature services-surrealdb
only.
impl Builder for SurrealdbBuilder
Available on crate feature
services-surrealdb
only.type Config = SurrealdbConfig
Source§impl Builder for SwiftBuilder
Available on crate feature services-swift
only.
impl Builder for SwiftBuilder
Available on crate feature
services-swift
only.type Config = SwiftConfig
Source§impl Builder for TikvBuilder
Available on crate feature services-tikv
only.
impl Builder for TikvBuilder
Available on crate feature
services-tikv
only.type Config = TikvConfig
Source§impl Builder for UpyunBuilder
Available on crate feature services-upyun
only.
impl Builder for UpyunBuilder
Available on crate feature
services-upyun
only.type Config = UpyunConfig
Source§impl Builder for VercelArtifactsBuilder
Available on crate feature services-vercel-artifacts
only.
impl Builder for VercelArtifactsBuilder
Available on crate feature
services-vercel-artifacts
only.Source§impl Builder for VercelBlobBuilder
Available on crate feature services-vercel-blob
only.
impl Builder for VercelBlobBuilder
Available on crate feature
services-vercel-blob
only.type Config = VercelBlobConfig
Source§impl Builder for WebdavBuilder
Available on crate feature services-webdav
only.
impl Builder for WebdavBuilder
Available on crate feature
services-webdav
only.type Config = WebdavConfig
Source§impl Builder for WebhdfsBuilder
Available on crate feature services-webhdfs
only.
impl Builder for WebhdfsBuilder
Available on crate feature
services-webhdfs
only.type Config = WebhdfsConfig
Source§impl Builder for YandexDiskBuilder
Available on crate feature services-yandex-disk
only.
impl Builder for YandexDiskBuilder
Available on crate feature
services-yandex-disk
only.