Trait Builder

Source
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 or customized_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§

Source

type Config: Configurator

Associated configuration for this builder.

Required Methods§

Source

fn build(self) -> Result<impl Access>

Consume the accessor builder to build a service.

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 Builder for ()

Dummy implementation of builder

Source§

type Config = ()

Source§

fn build(self) -> Result<impl Access>

Implementors§

Source§

impl Builder for AliyunDriveBuilder

Available on crate feature services-aliyun-drive only.
Source§

impl Builder for AlluxioBuilder

Available on crate feature services-alluxio only.
Source§

impl Builder for AzblobBuilder

Available on crate feature services-azblob only.
Source§

impl Builder for AzdlsBuilder

Available on crate feature services-azdls only.
Source§

impl Builder for AzfileBuilder

Available on crate feature services-azfile only.
Source§

impl Builder for B2Builder

Available on crate feature services-b2 only.
Source§

impl Builder for CacacheBuilder

Available on crate feature services-cacache only.
Source§

impl Builder for CloudflareKvBuilder

Available on crate feature services-cloudflare-kv only.
Source§

impl Builder for CompfsBuilder

Available on crate feature services-compfs only.
Source§

impl Builder for CosBuilder

Available on crate feature services-cos only.
Source§

impl Builder for D1Builder

Available on crate feature services-d1 only.
Source§

impl Builder for DashmapBuilder

Available on crate feature services-dashmap only.
Source§

impl Builder for DbfsBuilder

Available on crate feature services-dbfs only.
Source§

impl Builder for DropboxBuilder

Available on crate feature services-dropbox only.
Source§

impl Builder for EtcdBuilder

Available on crate feature services-etcd only.
Source§

impl Builder for FoundationdbBuilder

Available on crate feature services-foundationdb only.
Source§

impl Builder for FsBuilder

Available on crate feature services-fs only.
Source§

impl Builder for FtpBuilder

Available on crate feature services-ftp only.
Source§

impl Builder for GcsBuilder

Available on crate feature services-gcs only.
Source§

impl Builder for GdriveBuilder

Available on crate feature services-gdrive only.
Source§

impl Builder for GhacBuilder

Available on crate feature services-ghac only.
Source§

impl Builder for GithubBuilder

Available on crate feature services-github only.
Source§

impl Builder for GridfsBuilder

Available on crate feature services-gridfs only.
Source§

impl Builder for HdfsBuilder

Available on crate feature services-hdfs only.
Source§

impl Builder for HdfsNativeBuilder

Available on crate feature services-hdfs-native only.
Source§

impl Builder for HttpBuilder

Available on crate feature services-http only.
Source§

impl Builder for HuggingfaceBuilder

Available on crate feature services-huggingface only.
Source§

impl Builder for IpfsBuilder

Available on crate feature services-ipfs only.
Source§

impl Builder for IpmfsBuilder

Available on crate feature services-ipmfs only.
Source§

impl Builder for KoofrBuilder

Available on crate feature services-koofr only.
Source§

impl Builder for LakefsBuilder

Available on crate feature services-lakefs only.
Source§

impl Builder for MemcachedBuilder

Available on crate feature services-memcached only.
Source§

impl Builder for MemoryBuilder

Available on crate feature services-memory only.
Source§

impl Builder for MiniMokaBuilder

Available on crate feature services-mini-moka only.
Source§

impl Builder for MokaBuilder

Available on crate feature services-moka only.
Source§

impl Builder for MongodbBuilder

Available on crate feature services-mongodb only.
Source§

impl Builder for MonoiofsBuilder

Available on crate feature services-monoiofs only.
Source§

impl Builder for MysqlBuilder

Available on crate feature services-mysql only.
Source§

impl Builder for ObsBuilder

Available on crate feature services-obs only.
Source§

impl Builder for OnedriveBuilder

Available on crate feature services-onedrive only.
Source§

impl Builder for OssBuilder

Available on crate feature services-oss only.
Source§

impl Builder for PcloudBuilder

Available on crate feature services-pcloud only.
Source§

impl Builder for PersyBuilder

Available on crate feature services-persy only.
Source§

impl Builder for PostgresqlBuilder

Available on crate feature services-postgresql only.
Source§

impl Builder for RedbBuilder

Available on crate feature services-redb only.
Source§

impl Builder for RedisBuilder

Available on crate feature services-redis only.
Source§

impl Builder for RocksdbBuilder

Available on crate feature services-rocksdb only.
Source§

impl Builder for S3Builder

Available on crate feature services-s3 only.
Source§

impl Builder for SeafileBuilder

Available on crate feature services-seafile only.
Source§

impl Builder for SftpBuilder

Available on crate feature services-sftp only.
Source§

impl Builder for SledBuilder

Available on crate feature services-sled only.
Source§

impl Builder for SqliteBuilder

Available on crate feature services-sqlite only.
Source§

impl Builder for SurrealdbBuilder

Available on crate feature services-surrealdb only.
Source§

impl Builder for SwiftBuilder

Available on crate feature services-swift only.
Source§

impl Builder for TikvBuilder

Available on crate feature services-tikv only.
Source§

impl Builder for UpyunBuilder

Available on crate feature services-upyun only.
Source§

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.
Source§

impl Builder for WebdavBuilder

Available on crate feature services-webdav only.
Source§

impl Builder for WebhdfsBuilder

Available on crate feature services-webhdfs only.
Source§

impl Builder for YandexDiskBuilder

Available on crate feature services-yandex-disk only.