Trait opendal::Builder

source ·
pub trait Builder: Default + 'static {
    type Config: Configurator;

    const SCHEME: Scheme;

    // 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 Associated Constants§

source

const SCHEME: Scheme

Associated scheme for this builder. It indicates what underlying service is.

Required Methods§

source

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

Consume the accessor builder to build a service.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Builder for ()

Dummy implementation of builder

source§

const SCHEME: Scheme = _

§

type Config = ()

source§

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

Implementors§

source§

impl Builder for AliyunDriveBuilder

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

const SCHEME: Scheme = Scheme::AliyunDrive

§

type Config = AliyunDriveConfig

source§

impl Builder for AlluxioBuilder

Available on crate feature services-alluxio only.
source§

const SCHEME: Scheme = Scheme::Alluxio

§

type Config = AlluxioConfig

source§

impl Builder for AtomicserverBuilder

Available on crate feature services-atomicserver only.
source§

const SCHEME: Scheme = Scheme::Atomicserver

§

type Config = AtomicserverConfig

source§

impl Builder for AzblobBuilder

Available on crate feature services-azblob only.
source§

const SCHEME: Scheme = Scheme::Azblob

§

type Config = AzblobConfig

source§

impl Builder for AzdlsBuilder

Available on crate feature services-azdls only.
source§

const SCHEME: Scheme = Scheme::Azdls

§

type Config = AzdlsConfig

source§

impl Builder for AzfileBuilder

Available on crate feature services-azfile only.
source§

const SCHEME: Scheme = Scheme::Azfile

§

type Config = AzfileConfig

source§

impl Builder for B2Builder

Available on crate feature services-b2 only.
source§

const SCHEME: Scheme = Scheme::B2

§

type Config = B2Config

source§

impl Builder for CacacheBuilder

Available on crate feature services-cacache only.
source§

const SCHEME: Scheme = Scheme::Cacache

§

type Config = CacacheConfig

source§

impl Builder for ChainsafeBuilder

Available on crate feature services-chainsafe only.
source§

const SCHEME: Scheme = Scheme::Chainsafe

§

type Config = ChainsafeConfig

source§

impl Builder for CloudflareKvBuilder

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

const SCHEME: Scheme = Scheme::CloudflareKv

§

type Config = CloudflareKvConfig

source§

impl Builder for CompfsBuilder

Available on crate feature services-compfs only.
source§

const SCHEME: Scheme = Scheme::Compfs

§

type Config = CompfsConfig

source§

impl Builder for CosBuilder

Available on crate feature services-cos only.
source§

const SCHEME: Scheme = Scheme::Cos

§

type Config = CosConfig

source§

impl Builder for D1Builder

Available on crate feature services-d1 only.
source§

const SCHEME: Scheme = Scheme::D1

§

type Config = D1Config

source§

impl Builder for DashmapBuilder

Available on crate feature services-dashmap only.
source§

const SCHEME: Scheme = Scheme::Dashmap

§

type Config = DashmapConfig

source§

impl Builder for DbfsBuilder

Available on crate feature services-dbfs only.
source§

const SCHEME: Scheme = Scheme::Dbfs

§

type Config = DbfsConfig

source§

impl Builder for DropboxBuilder

Available on crate feature services-dropbox only.
source§

const SCHEME: Scheme = Scheme::Dropbox

§

type Config = DropboxConfig

source§

impl Builder for EtcdBuilder

Available on crate feature services-etcd only.
source§

const SCHEME: Scheme = Scheme::Etcd

§

type Config = EtcdConfig

source§

impl Builder for FoundationdbBuilder

Available on crate feature services-foundationdb only.
source§

const SCHEME: Scheme = Scheme::Foundationdb

§

type Config = FoundationdbConfig

source§

impl Builder for FsBuilder

Available on crate feature services-fs only.
source§

const SCHEME: Scheme = Scheme::Fs

§

type Config = FsConfig

source§

impl Builder for FtpBuilder

Available on crate feature services-ftp only.
source§

const SCHEME: Scheme = Scheme::Ftp

§

type Config = FtpConfig

source§

impl Builder for GcsBuilder

Available on crate feature services-gcs only.
source§

const SCHEME: Scheme = Scheme::Gcs

§

type Config = GcsConfig

source§

impl Builder for GdriveBuilder

Available on crate feature services-gdrive only.
source§

const SCHEME: Scheme = Scheme::Gdrive

§

type Config = GdriveConfig

source§

impl Builder for GhacBuilder

Available on crate feature services-ghac only.
source§

const SCHEME: Scheme = Scheme::Ghac

§

type Config = GhacConfig

source§

impl Builder for GithubBuilder

Available on crate feature services-github only.
source§

const SCHEME: Scheme = Scheme::Github

§

type Config = GithubConfig

source§

impl Builder for GridfsBuilder

Available on crate feature services-gridfs only.
source§

const SCHEME: Scheme = Scheme::Gridfs

§

type Config = GridfsConfig

source§

impl Builder for HdfsBuilder

Available on crate feature services-hdfs only.
source§

const SCHEME: Scheme = Scheme::Hdfs

§

type Config = HdfsConfig

source§

impl Builder for HdfsNativeBuilder

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

const SCHEME: Scheme = Scheme::HdfsNative

§

type Config = HdfsNativeConfig

source§

impl Builder for HttpBuilder

Available on crate feature services-http only.
source§

const SCHEME: Scheme = Scheme::Http

§

type Config = HttpConfig

source§

impl Builder for HuggingfaceBuilder

Available on crate feature services-huggingface only.
source§

const SCHEME: Scheme = Scheme::Huggingface

§

type Config = HuggingfaceConfig

source§

impl Builder for IcloudBuilder

Available on crate feature services-icloud only.
source§

const SCHEME: Scheme = Scheme::Icloud

§

type Config = IcloudConfig

source§

impl Builder for IpfsBuilder

Available on crate feature services-ipfs only.
source§

const SCHEME: Scheme = Scheme::Ipfs

§

type Config = IpfsConfig

source§

impl Builder for IpmfsBuilder

Available on crate feature services-ipmfs only.
source§

const SCHEME: Scheme = Scheme::Ipmfs

§

type Config = IpmfsConfig

source§

impl Builder for KoofrBuilder

Available on crate feature services-koofr only.
source§

const SCHEME: Scheme = Scheme::Koofr

§

type Config = KoofrConfig

source§

impl Builder for LakefsBuilder

Available on crate feature services-lakefs only.
source§

const SCHEME: Scheme = Scheme::Lakefs

§

type Config = LakefsConfig

source§

impl Builder for MemcachedBuilder

Available on crate feature services-memcached only.
source§

const SCHEME: Scheme = Scheme::Memcached

§

type Config = MemcachedConfig

source§

impl Builder for MemoryBuilder

Available on crate feature services-memory only.
source§

const SCHEME: Scheme = Scheme::Memory

§

type Config = MemoryConfig

source§

impl Builder for MiniMokaBuilder

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

const SCHEME: Scheme = Scheme::MiniMoka

§

type Config = MiniMokaConfig

source§

impl Builder for MokaBuilder

Available on crate feature services-moka only.
source§

const SCHEME: Scheme = Scheme::Moka

§

type Config = MokaConfig

source§

impl Builder for MongodbBuilder

Available on crate feature services-mongodb only.
source§

const SCHEME: Scheme = Scheme::Mongodb

§

type Config = MongodbConfig

source§

impl Builder for MonoiofsBuilder

Available on crate feature services-monoiofs only.
source§

const SCHEME: Scheme = Scheme::Monoiofs

§

type Config = MonoiofsConfig

source§

impl Builder for MysqlBuilder

Available on crate feature services-mysql only.
source§

const SCHEME: Scheme = Scheme::Mysql

§

type Config = MysqlConfig

source§

impl Builder for NebulaGraphBuilder

Available on crate feature services-nebula-graph only.
source§

const SCHEME: Scheme = Scheme::NebulaGraph

§

type Config = NebulaGraphConfig

source§

impl Builder for ObsBuilder

Available on crate feature services-obs only.
source§

const SCHEME: Scheme = Scheme::Obs

§

type Config = ObsConfig

source§

impl Builder for OnedriveBuilder

Available on crate feature services-onedrive only.
source§

const SCHEME: Scheme = Scheme::Onedrive

§

type Config = OnedriveConfig

source§

impl Builder for OssBuilder

Available on crate feature services-oss only.
source§

const SCHEME: Scheme = Scheme::Oss

§

type Config = OssConfig

source§

impl Builder for PcloudBuilder

Available on crate feature services-pcloud only.
source§

const SCHEME: Scheme = Scheme::Pcloud

§

type Config = PcloudConfig

source§

impl Builder for PersyBuilder

Available on crate feature services-persy only.
source§

const SCHEME: Scheme = Scheme::Persy

§

type Config = PersyConfig

source§

impl Builder for PostgresqlBuilder

Available on crate feature services-postgresql only.
source§

const SCHEME: Scheme = Scheme::Postgresql

§

type Config = PostgresqlConfig

source§

impl Builder for RedbBuilder

Available on crate feature services-redb only.
source§

const SCHEME: Scheme = Scheme::Redb

§

type Config = RedbConfig

source§

impl Builder for RedisBuilder

Available on crate feature services-redis only.
source§

const SCHEME: Scheme = Scheme::Redis

§

type Config = RedisConfig

source§

impl Builder for RocksdbBuilder

Available on crate feature services-rocksdb only.
source§

const SCHEME: Scheme = Scheme::Rocksdb

§

type Config = RocksdbConfig

source§

impl Builder for S3Builder

Available on crate feature services-s3 only.
source§

const SCHEME: Scheme = Scheme::S3

§

type Config = S3Config

source§

impl Builder for SeafileBuilder

Available on crate feature services-seafile only.
source§

const SCHEME: Scheme = Scheme::Seafile

§

type Config = SeafileConfig

source§

impl Builder for SftpBuilder

Available on crate feature services-sftp only.
source§

const SCHEME: Scheme = Scheme::Sftp

§

type Config = SftpConfig

source§

impl Builder for SledBuilder

Available on crate feature services-sled only.
source§

const SCHEME: Scheme = Scheme::Sled

§

type Config = SledConfig

source§

impl Builder for SqliteBuilder

Available on crate feature services-sqlite only.
source§

const SCHEME: Scheme = Scheme::Sqlite

§

type Config = SqliteConfig

source§

impl Builder for SurrealdbBuilder

Available on crate feature services-surrealdb only.
source§

const SCHEME: Scheme = Scheme::Surrealdb

§

type Config = SurrealdbConfig

source§

impl Builder for SwiftBuilder

Available on crate feature services-swift only.
source§

const SCHEME: Scheme = Scheme::Swift

§

type Config = SwiftConfig

source§

impl Builder for TikvBuilder

Available on crate feature services-tikv only.
source§

const SCHEME: Scheme = Scheme::Tikv

§

type Config = TikvConfig

source§

impl Builder for UpyunBuilder

Available on crate feature services-upyun only.
source§

const SCHEME: Scheme = Scheme::Upyun

§

type Config = UpyunConfig

source§

impl Builder for VercelArtifactsBuilder

Available on crate feature services-vercel-artifacts only.
source§

const SCHEME: Scheme = Scheme::VercelArtifacts

§

type Config = VercelArtifactsConfig

source§

impl Builder for VercelBlobBuilder

Available on crate feature services-vercel-blob only.
source§

const SCHEME: Scheme = Scheme::VercelBlob

§

type Config = VercelBlobConfig

source§

impl Builder for WebdavBuilder

Available on crate feature services-webdav only.
source§

const SCHEME: Scheme = Scheme::Webdav

§

type Config = WebdavConfig

source§

impl Builder for WebhdfsBuilder

Available on crate feature services-webhdfs only.
source§

const SCHEME: Scheme = Scheme::Webhdfs

§

type Config = WebhdfsConfig

source§

impl Builder for YandexDiskBuilder

Available on crate feature services-yandex-disk only.
source§

const SCHEME: Scheme = Scheme::YandexDisk

§

type Config = YandexDiskConfig