Trait opendal::Builder

source ·
pub trait Builder: Default {
    type Accessor: Accessor;

    const SCHEME: Scheme;

    // Required methods
    fn from_map(map: HashMap<String, String>) -> Self;
    fn build(&mut self) -> Result<Self::Accessor>;

    // Provided methods
    fn from_iter(iter: impl Iterator<Item = (String, String)>) -> Self
       where Self: Sized { ... }
    fn from_env() -> Self
       where Self: Sized { ... }
}
Expand description

Builder is used to build a storage accessor used by Operator.

It’s recommended to use Operator::new to avoid use Builder trait directly.

Required Associated Types§

source

type Accessor: Accessor

The accessor that built by this builder.

Required Associated Constants§

source

const SCHEME: Scheme

Associated scheme for this builder.

Required Methods§

source

fn from_map(map: HashMap<String, String>) -> Self

Construct a builder from given map.

source

fn build(&mut self) -> Result<Self::Accessor>

Consume the accessor builder to build a service.

Provided Methods§

source

fn from_iter(iter: impl Iterator<Item = (String, String)>) -> Selfwhere Self: Sized,

Construct a builder from given iterator.

source

fn from_env() -> Selfwhere Self: Sized,

Construct a builder from envs.

Implementations on Foreign Types§

source§

impl Builder for ()

Dummy implementation of builder

source§

const SCHEME: Scheme = _

§

type Accessor = ()

source§

fn from_map(_: HashMap<String, String>) -> Self

source§

fn build(&mut self) -> Result<Self::Accessor>

Implementors§

source§

impl Builder for AzblobBuilder

source§

const SCHEME: Scheme = Scheme::Azblob

§

type Accessor = AzblobBackend

source§

impl Builder for AzdfsBuilder

§

type Accessor = AzdfsBackend

source§

const SCHEME: Scheme = Scheme::Azdfs

source§

impl Builder for DashmapBuilder

source§

const SCHEME: Scheme = Scheme::Dashmap

§

type Accessor = Backend<Adapter>

source§

impl Builder for FsBuilder

source§

const SCHEME: Scheme = Scheme::Fs

§

type Accessor = FsBackend

source§

impl Builder for FtpBuilder

source§

const SCHEME: Scheme = Scheme::Ftp

§

type Accessor = FtpBackend

source§

impl Builder for GcsBuilder

source§

const SCHEME: Scheme = Scheme::Gcs

§

type Accessor = GcsBackend

source§

impl Builder for GhacBuilder

source§

const SCHEME: Scheme = Scheme::Ghac

§

type Accessor = GhacBackend

source§

impl Builder for HdfsBuilder

source§

const SCHEME: Scheme = Scheme::Hdfs

§

type Accessor = HdfsBackend

source§

impl Builder for HttpBuilder

source§

const SCHEME: Scheme = Scheme::Http

§

type Accessor = HttpBackend

source§

impl Builder for IpfsBuilder

source§

const SCHEME: Scheme = Scheme::Ipfs

§

type Accessor = IpfsBackend

source§

impl Builder for IpmfsBuilder

source§

const SCHEME: Scheme = Scheme::Ipmfs

§

type Accessor = IpmfsBackend

source§

impl Builder for MemcachedBuilder

source§

const SCHEME: Scheme = Scheme::Memcached

§

type Accessor = Backend<Adapter>

source§

impl Builder for MemoryBuilder

source§

const SCHEME: Scheme = Scheme::Memory

§

type Accessor = Backend<Adapter>

source§

impl Builder for MokaBuilder

source§

const SCHEME: Scheme = Scheme::Moka

§

type Accessor = Backend<Adapter>

source§

impl Builder for ObsBuilder

source§

const SCHEME: Scheme = Scheme::Obs

§

type Accessor = ObsBackend

source§

impl Builder for OssBuilder

source§

const SCHEME: Scheme = Scheme::Oss

§

type Accessor = OssBackend

source§

impl Builder for RedisBuilder

source§

const SCHEME: Scheme = Scheme::Redis

§

type Accessor = Backend<Adapter>

source§

impl Builder for RocksdbBuilder

source§

const SCHEME: Scheme = Scheme::Rocksdb

§

type Accessor = Backend<Adapter>

source§

impl Builder for S3Builder

source§

const SCHEME: Scheme = Scheme::S3

§

type Accessor = S3Backend

source§

impl Builder for SledBuilder

source§

const SCHEME: Scheme = Scheme::Sled

§

type Accessor = Backend<Adapter>

source§

impl Builder for WebdavBuilder

source§

const SCHEME: Scheme = Scheme::Webdav

§

type Accessor = WebdavBackend

source§

impl Builder for WebhdfsBuilder

source§

const SCHEME: Scheme = Scheme::Webhdfs

§

type Accessor = WebhdfsBackend