Configurator

Trait Configurator 

Source
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, Error> { ... }
    fn from_iter(
        iter: impl IntoIterator<Item = (String, String)>,
    ) -> Result<Self, Error> { ... }
}
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_core::services::MemoryConfig;
use opendal_core::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(())
}

Required Associated Types§

Source

type Builder: Builder

Associated builder for this configuration.

Required Methods§

Source

fn into_builder(self) -> Self::Builder

Convert this configuration into a service builder.

Provided Methods§

Source

fn from_uri(_uri: &OperatorUri) -> Result<Self, Error>

Build configuration from a parsed URI plus merged options.

Source

fn from_iter( iter: impl IntoIterator<Item = (String, String)>, ) -> Result<Self, Error>

Deserialize from an iterator.

This API is provided by opendal, developer should not implement it.

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

Implementors§

§

impl Configurator for AliyunDriveConfig

§

impl Configurator for AlluxioConfig

§

impl Configurator for AzblobConfig

§

impl Configurator for AzdlsConfig

§

impl Configurator for AzfileConfig

§

impl Configurator for B2Config

§

impl Configurator for CacacheConfig

§

impl Configurator for CloudflareKvConfig

§

impl Configurator for CompfsConfig

§

impl Configurator for CosConfig

§

impl Configurator for D1Config

§

impl Configurator for DashmapConfig

§

impl Configurator for DbfsConfig

§

impl Configurator for DropboxConfig

§

impl Configurator for EtcdConfig

§

impl Configurator for FoundationdbConfig

§

impl Configurator for FsConfig

§

impl Configurator for FtpConfig

§

impl Configurator for GcsConfig

§

impl Configurator for GdriveConfig

§

impl Configurator for GhacConfig

§

impl Configurator for GithubConfig

Source§

impl Configurator for GridfsConfig

Source§

impl Configurator for HdfsConfig

§

impl Configurator for HdfsNativeConfig

§

impl Configurator for HttpConfig

§

impl Configurator for HuggingfaceConfig

§

impl Configurator for IpfsConfig

Source§

impl Configurator for IpmfsConfig

§

impl Configurator for KoofrConfig

§

impl Configurator for LakefsConfig

§

impl Configurator for MemcachedConfig

Source§

impl Configurator for MemoryConfig

§

impl Configurator for MiniMokaConfig

§

impl Configurator for MokaConfig

Source§

impl Configurator for MongodbConfig

Source§

impl Configurator for MonoiofsConfig

§

impl Configurator for MysqlConfig

§

impl Configurator for ObsConfig

§

impl Configurator for OnedriveConfig

§

impl Configurator for OssConfig

§

impl Configurator for PcloudConfig

§

impl Configurator for PersyConfig

§

impl Configurator for PostgresqlConfig

§

impl Configurator for RedbConfig

Source§

impl Configurator for RedisConfig

Source§

impl Configurator for RocksdbConfig

§

impl Configurator for S3Config

§

impl Configurator for SeafileConfig

Source§

impl Configurator for SftpConfig

§

impl Configurator for SledConfig

§

impl Configurator for SqliteConfig

§

impl Configurator for SurrealdbConfig

§

impl Configurator for SwiftConfig

§

impl Configurator for TikvConfig

§

impl Configurator for UpyunConfig

§

impl Configurator for VercelBlobConfig

Source§

impl Configurator for WebdavConfig

Source§

impl Configurator for WebhdfsConfig

§

impl Configurator for YandexDiskConfig