#
tokens: 70447/50000 1/1362 files (page 73/74)
lines: on (toggle) GitHub
raw markdown copy reset
This is page 73 of 74. Use http://codebase.md/apache/opendal?lines=true&page={x} to view the full context.

# Directory Structure

```
├── .asf.yaml
├── .config
│   └── nextest.toml
├── .devcontainer
│   ├── devcontainer.json
│   └── post_create.sh
├── .editorconfig
├── .env.example
├── .gitattributes
├── .github
│   ├── actions
│   │   ├── fuzz_test
│   │   │   └── action.yaml
│   │   ├── setup
│   │   │   └── action.yaml
│   │   ├── setup-hadoop
│   │   │   └── action.yaml
│   │   ├── setup-ocaml
│   │   │   └── action.yaml
│   │   ├── test_behavior_binding_c
│   │   │   └── action.yaml
│   │   ├── test_behavior_binding_cpp
│   │   │   └── action.yaml
│   │   ├── test_behavior_binding_go
│   │   │   └── action.yaml
│   │   ├── test_behavior_binding_java
│   │   │   └── action.yaml
│   │   ├── test_behavior_binding_nodejs
│   │   │   └── action.yaml
│   │   ├── test_behavior_binding_python
│   │   │   └── action.yaml
│   │   ├── test_behavior_core
│   │   │   └── action.yaml
│   │   └── test_behavior_integration_object_store
│   │       └── action.yml
│   ├── CODEOWNERS
│   ├── dependabot.yml
│   ├── ISSUE_TEMPLATE
│   │   ├── 1-bug-report.yml
│   │   ├── 2-feature-request.yml
│   │   ├── 3-new-release.md
│   │   └── config.yml
│   ├── pull_request_template.md
│   ├── release.yml
│   ├── scripts
│   │   ├── test_behavior
│   │   │   ├── __init__.py
│   │   │   ├── plan.py
│   │   │   └── test_plan.py
│   │   ├── test_go_binding
│   │   │   ├── generate_test_scheme.py
│   │   │   └── matrix.yaml
│   │   └── weekly_update
│   │       ├── .gitignore
│   │       ├── .python-version
│   │       ├── main.py
│   │       ├── pyproject.toml
│   │       ├── README.md
│   │       └── uv.lock
│   ├── services
│   │   ├── aliyun_drive
│   │   │   └── aliyun_drive
│   │   │       └── disable_action.yml
│   │   ├── alluxio
│   │   │   └── alluxio
│   │   │       └── action.yml
│   │   ├── azblob
│   │   │   ├── azure_azblob
│   │   │   │   └── action.yml
│   │   │   └── azurite_azblob
│   │   │       └── action.yml
│   │   ├── azdls
│   │   │   └── azdls
│   │   │       └── action.yml
│   │   ├── azfile
│   │   │   └── azfile
│   │   │       └── action.yml
│   │   ├── b2
│   │   │   └── b2
│   │   │       └── action.yml
│   │   ├── cacache
│   │   │   └── cacache
│   │   │       └── action.yml
│   │   ├── compfs
│   │   │   └── compfs
│   │   │       └── action.yml
│   │   ├── cos
│   │   │   └── cos
│   │   │       └── action.yml
│   │   ├── dashmap
│   │   │   └── dashmap
│   │   │       └── action.yml
│   │   ├── dropbox
│   │   │   └── dropbox
│   │   │       └── disable_action.yml
│   │   ├── etcd
│   │   │   ├── etcd
│   │   │   │   └── action.yml
│   │   │   ├── etcd-cluster
│   │   │   │   └── action.yml
│   │   │   └── etcd-tls
│   │   │       └── action.yml
│   │   ├── fs
│   │   │   └── local_fs
│   │   │       └── action.yml
│   │   ├── ftp
│   │   │   └── vsftpd
│   │   │       └── disable_action.yml
│   │   ├── gcs
│   │   │   ├── gcs
│   │   │   │   └── action.yml
│   │   │   └── gcs_with_default_storage_class
│   │   │       └── action.yml
│   │   ├── gdrive
│   │   │   └── gdrive
│   │   │       └── action.yml
│   │   ├── gridfs
│   │   │   ├── gridfs
│   │   │   │   └── action.yml
│   │   │   └── gridfs_with_basic_auth
│   │   │       └── action.yml
│   │   ├── hdfs
│   │   │   ├── hdfs_cluster
│   │   │   │   └── action.yml
│   │   │   ├── hdfs_cluster_with_atomic_write_dir
│   │   │   │   └── action.yml
│   │   │   ├── hdfs_default
│   │   │   │   └── action.yml
│   │   │   ├── hdfs_default_gcs
│   │   │   │   └── action.yml
│   │   │   ├── hdfs_default_on_azurite_azblob
│   │   │   │   └── action.yml
│   │   │   ├── hdfs_default_on_minio_s3
│   │   │   │   └── action.yml
│   │   │   └── hdfs_default_with_atomic_write_dir
│   │   │       └── action.yml
│   │   ├── hdfs_native
│   │   │   └── hdfs_native_cluster
│   │   │       └── action.yml
│   │   ├── http
│   │   │   ├── caddy
│   │   │   │   └── action.yml
│   │   │   └── nginx
│   │   │       └── action.yml
│   │   ├── huggingface
│   │   │   └── huggingface
│   │   │       └── action.yml
│   │   ├── koofr
│   │   │   └── koofr
│   │   │       └── disable_action.yml
│   │   ├── memcached
│   │   │   ├── memcached
│   │   │   │   └── action.yml
│   │   │   └── memcached_with_auth
│   │   │       └── action.yml
│   │   ├── memory
│   │   │   └── memory
│   │   │       └── action.yml
│   │   ├── mini_moka
│   │   │   └── mini_moka
│   │   │       └── action.yml
│   │   ├── moka
│   │   │   └── moka
│   │   │       └── action.yml
│   │   ├── mongodb
│   │   │   ├── mongodb_with_basic_auth
│   │   │   │   └── action.yml
│   │   │   └── mongodb_with_no_auth
│   │   │       └── action.yml
│   │   ├── monoiofs
│   │   │   └── monoiofs
│   │   │       └── action.yml
│   │   ├── mysql
│   │   │   └── mysql
│   │   │       └── action.yml
│   │   ├── oss
│   │   │   ├── oss
│   │   │   │   └── action.yml
│   │   │   └── oss_with_versioning
│   │   │       └── action.yml
│   │   ├── persy
│   │   │   └── persy
│   │   │       └── action.yml
│   │   ├── postgresql
│   │   │   └── postgresql
│   │   │       └── action.yml
│   │   ├── redb
│   │   │   └── redb
│   │   │       └── action.yml
│   │   ├── redis
│   │   │   ├── dragonfly
│   │   │   │   └── action.yml
│   │   │   ├── kvrocks
│   │   │   │   └── action.yml
│   │   │   ├── redis
│   │   │   │   └── action.yml
│   │   │   ├── redis_tls
│   │   │   │   └── action.yml
│   │   │   ├── redis_with_cluster
│   │   │   │   └── action.yml
│   │   │   └── redis_with_cluster_tls
│   │   │       └── action.yml
│   │   ├── rocksdb
│   │   │   └── rocksdb
│   │   │       └── action.yml
│   │   ├── s3
│   │   │   ├── 0_minio_s3
│   │   │   │   └── action.yml
│   │   │   ├── aws_s3
│   │   │   │   └── action.yml
│   │   │   ├── aws_s3_with_list_objects_v1
│   │   │   │   └── action.yml
│   │   │   ├── aws_s3_with_sse_c
│   │   │   │   └── action.yml
│   │   │   ├── aws_s3_with_versioning
│   │   │   │   └── action.yml
│   │   │   ├── aws_s3_with_virtual_host
│   │   │   │   └── action.yml
│   │   │   ├── ceph_radios_s3_with_versioning
│   │   │   │   └── disable_action.yml
│   │   │   ├── ceph_rados_s3
│   │   │   │   └── disable_action.yml
│   │   │   ├── minio_s3_with_anonymous
│   │   │   │   └── action.yml
│   │   │   ├── minio_s3_with_list_objects_v1
│   │   │   │   └── action.yml
│   │   │   ├── minio_s3_with_versioning
│   │   │   │   └── action.yml
│   │   │   └── r2
│   │   │       └── disabled_action.yml
│   │   ├── seafile
│   │   │   └── seafile
│   │   │       └── action.yml
│   │   ├── sftp
│   │   │   ├── sftp
│   │   │   │   └── action.yml
│   │   │   └── sftp_with_default_root
│   │   │       └── action.yml
│   │   ├── sled
│   │   │   ├── sled
│   │   │   │   └── action.yml
│   │   │   └── sled_with_tree
│   │   │       └── action.yml
│   │   ├── sqlite
│   │   │   └── sqlite
│   │   │       └── action.yml
│   │   ├── swift
│   │   │   ├── ceph_rados_swift
│   │   │   │   └── action.yml
│   │   │   └── swift
│   │   │       └── action.yml
│   │   ├── tikv
│   │   │   └── tikv
│   │   │       └── disable_action.yml
│   │   ├── webdav
│   │   │   ├── 0_nginx
│   │   │   │   └── action.yml
│   │   │   ├── jfrog
│   │   │   │   └── disabled_action.yml
│   │   │   ├── nextcloud
│   │   │   │   └── action.yml
│   │   │   ├── nginx_with_empty_password
│   │   │   │   └── action.yml
│   │   │   ├── nginx_with_password
│   │   │   │   └── action.yml
│   │   │   ├── nginx_with_redirect
│   │   │   │   └── action.yml
│   │   │   └── owncloud
│   │   │       └── action.yml
│   │   └── webhdfs
│   │       ├── webhdfs
│   │       │   └── action.yml
│   │       ├── webhdfs_with_list_batch_disabled
│   │       │   └── action.yml
│   │       └── webhdfs_with_user_name
│   │           └── action.yml
│   └── workflows
│       ├── ci_bindings_c.yml
│       ├── ci_bindings_cpp.yml
│       ├── ci_bindings_d.yml
│       ├── ci_bindings_dart.yml
│       ├── ci_bindings_dotnet.yml
│       ├── ci_bindings_go.yml
│       ├── ci_bindings_haskell.yml
│       ├── ci_bindings_java.yml
│       ├── ci_bindings_lua.yml
│       ├── ci_bindings_nodejs.yml
│       ├── ci_bindings_ocaml.yml
│       ├── ci_bindings_php.yml
│       ├── ci_bindings_python.yml
│       ├── ci_bindings_ruby.yml
│       ├── ci_bindings_swift.yml
│       ├── ci_bindings_zig.yml
│       ├── ci_check.yml
│       ├── ci_core.yml
│       ├── ci_integration_dav_server.yml
│       ├── ci_integration_object_store.yml
│       ├── ci_integration_parquet.yml
│       ├── ci_integration_spring.yml
│       ├── ci_integration_unftp_sbe.yml
│       ├── ci_odev.yml
│       ├── ci_weekly_update.yml
│       ├── discussion-thread-link.yml
│       ├── docs.yml
│       ├── full-ci-promote.yml
│       ├── release_dart.yml
│       ├── release_java.yml
│       ├── release_nodejs.yml
│       ├── release_python.yml
│       ├── release_ruby.yml
│       ├── release_rust.yml
│       ├── service_test_ghac.yml
│       ├── test_behavior_binding_c.yml
│       ├── test_behavior_binding_cpp.yml
│       ├── test_behavior_binding_go.yml
│       ├── test_behavior_binding_java.yml
│       ├── test_behavior_binding_nodejs.yml
│       ├── test_behavior_binding_python.yml
│       ├── test_behavior_core.yml
│       ├── test_behavior_integration_object_store.yml
│       ├── test_behavior.yml
│       ├── test_edge.yml
│       └── test_fuzz.yml
├── .gitignore
├── .taplo.toml
├── .typos.toml
├── .vscode
│   └── settings.json
├── .yamlfmt
├── AGENTS.md
├── bindings
│   ├── java
│   │   ├── .cargo
│   │   │   └── config.toml
│   │   ├── .gitignore
│   │   ├── .mvn
│   │   │   └── wrapper
│   │   │       └── maven-wrapper.properties
│   │   ├── Cargo.toml
│   │   ├── DEPENDENCIES.md
│   │   ├── DEPENDENCIES.rust.tsv
│   │   ├── mvnw
│   │   ├── mvnw.cmd
│   │   ├── pom.xml
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── async_operator.rs
│   │   │   ├── convert.rs
│   │   │   ├── error.rs
│   │   │   ├── executor.rs
│   │   │   ├── layer.rs
│   │   │   ├── lib.rs
│   │   │   ├── main
│   │   │   │   ├── java
│   │   │   │   │   └── org
│   │   │   │   │       └── apache
│   │   │   │   │           └── opendal
│   │   │   │   │               ├── AsyncExecutor.java
│   │   │   │   │               ├── AsyncOperator.java
│   │   │   │   │               ├── Capability.java
│   │   │   │   │               ├── Entry.java
│   │   │   │   │               ├── Environment.java
│   │   │   │   │               ├── layer
│   │   │   │   │               │   ├── ConcurrentLimitLayer.java
│   │   │   │   │               │   ├── package-info.java
│   │   │   │   │               │   └── RetryLayer.java
│   │   │   │   │               ├── Layer.java
│   │   │   │   │               ├── ListOptions.java
│   │   │   │   │               ├── Metadata.java
│   │   │   │   │               ├── NativeLibrary.java
│   │   │   │   │               ├── NativeObject.java
│   │   │   │   │               ├── OpenDAL.java
│   │   │   │   │               ├── OpenDALException.java
│   │   │   │   │               ├── Operator.java
│   │   │   │   │               ├── OperatorInfo.java
│   │   │   │   │               ├── OperatorInputStream.java
│   │   │   │   │               ├── OperatorOutputStream.java
│   │   │   │   │               ├── package-info.java
│   │   │   │   │               ├── PresignedRequest.java
│   │   │   │   │               ├── ReadOptions.java
│   │   │   │   │               ├── ServiceConfig.java
│   │   │   │   │               ├── StatOptions.java
│   │   │   │   │               └── WriteOptions.java
│   │   │   │   └── resources
│   │   │   │       ├── bindings.properties
│   │   │   │       └── META-INF
│   │   │   │           └── NOTICE
│   │   │   ├── operator_input_stream.rs
│   │   │   ├── operator_output_stream.rs
│   │   │   ├── operator.rs
│   │   │   ├── test
│   │   │   │   └── java
│   │   │   │       └── org
│   │   │   │           └── apache
│   │   │   │               └── opendal
│   │   │   │                   └── test
│   │   │   │                       ├── AsyncExecutorTest.java
│   │   │   │                       ├── behavior
│   │   │   │                       │   ├── AsyncCopyTest.java
│   │   │   │                       │   ├── AsyncCreateDirTest.java
│   │   │   │                       │   ├── AsyncListTest.java
│   │   │   │                       │   ├── AsyncPresignTest.java
│   │   │   │                       │   ├── AsyncReadOnlyTest.java
│   │   │   │                       │   ├── AsyncRenameTest.java
│   │   │   │                       │   ├── AsyncStatOptionsTest.java
│   │   │   │                       │   ├── AsyncWriteOptionsTest.java
│   │   │   │                       │   ├── AsyncWriteTest.java
│   │   │   │                       │   ├── BehaviorExtension.java
│   │   │   │                       │   ├── BehaviorTestBase.java
│   │   │   │                       │   ├── BlockingCopyTest.java
│   │   │   │                       │   ├── BlockingCreateDirTest.java
│   │   │   │                       │   ├── BlockingListTest.java
│   │   │   │                       │   ├── BlockingReadOnlyTest.java
│   │   │   │                       │   ├── BlockingRenameTest.java
│   │   │   │                       │   ├── BlockingStatOptionsTest.java
│   │   │   │                       │   ├── BlockingWriteOptionTest.java
│   │   │   │                       │   ├── BlockingWriteTest.java
│   │   │   │                       │   └── RegressionTest.java
│   │   │   │                       ├── condition
│   │   │   │                       │   └── OpenDALExceptionCondition.java
│   │   │   │                       ├── LayerTest.java
│   │   │   │                       ├── MetadataTest.java
│   │   │   │                       ├── OperatorDuplicateTest.java
│   │   │   │                       ├── OperatorInfoTest.java
│   │   │   │                       ├── OperatorInputOutputStreamTest.java
│   │   │   │                       ├── OperatorUtf8DecodeTest.java
│   │   │   │                       └── UtilityTest.java
│   │   │   └── utility.rs
│   │   ├── tools
│   │   │   └── build.py
│   │   ├── upgrade.md
│   │   └── users.md
│   ├── nodejs
│   │   ├── .cargo
│   │   │   └── config.toml
│   │   ├── .gitignore
│   │   ├── .node-version
│   │   ├── .npmignore
│   │   ├── .npmrc
│   │   ├── .prettierignore
│   │   ├── benchmark
│   │   │   ├── deno.ts
│   │   │   ├── node.js
│   │   │   └── README.md
│   │   ├── build.rs
│   │   ├── Cargo.toml
│   │   ├── CONTRIBUTING.md
│   │   ├── DEPENDENCIES.md
│   │   ├── DEPENDENCIES.rust.tsv
│   │   ├── devbox.json
│   │   ├── devbox.lock
│   │   ├── generated.d.ts
│   │   ├── generated.js
│   │   ├── index.cjs
│   │   ├── index.d.ts
│   │   ├── index.mjs
│   │   ├── npm
│   │   │   ├── darwin-arm64
│   │   │   │   ├── package.json
│   │   │   │   └── README.md
│   │   │   ├── darwin-x64
│   │   │   │   ├── package.json
│   │   │   │   └── README.md
│   │   │   ├── linux-arm64-gnu
│   │   │   │   ├── package.json
│   │   │   │   └── README.md
│   │   │   ├── linux-arm64-musl
│   │   │   │   ├── package.json
│   │   │   │   └── README.md
│   │   │   ├── linux-x64-gnu
│   │   │   │   ├── package.json
│   │   │   │   └── README.md
│   │   │   ├── linux-x64-musl
│   │   │   │   ├── package.json
│   │   │   │   └── README.md
│   │   │   ├── win32-arm64-msvc
│   │   │   │   ├── package.json
│   │   │   │   └── README.md
│   │   │   └── win32-x64-msvc
│   │   │       ├── package.json
│   │   │       └── README.md
│   │   ├── package.json
│   │   ├── pnpm-lock.yaml
│   │   ├── README.md
│   │   ├── scripts
│   │   │   └── header.mjs
│   │   ├── src
│   │   │   ├── capability.rs
│   │   │   ├── layer.rs
│   │   │   ├── lib.rs
│   │   │   └── options.rs
│   │   ├── tests
│   │   │   ├── service.test.mjs
│   │   │   ├── suites
│   │   │   │   ├── async.suite.mjs
│   │   │   │   ├── asyncDeleteOptions.suite.mjs
│   │   │   │   ├── asyncLister.suite.mjs
│   │   │   │   ├── asyncListOptions.suite.mjs
│   │   │   │   ├── asyncReadOptions.suite.mjs
│   │   │   │   ├── asyncStatOptions.suite.mjs
│   │   │   │   ├── asyncWriteOptions.suite.mjs
│   │   │   │   ├── index.mjs
│   │   │   │   ├── layer.suite.mjs
│   │   │   │   ├── services.suite.mjs
│   │   │   │   ├── sync.suite.mjs
│   │   │   │   ├── syncDeleteOptions.suite.mjs
│   │   │   │   ├── syncLister.suite.mjs
│   │   │   │   ├── syncListOptions.suite.mjs
│   │   │   │   ├── syncReadOptions.suite.mjs
│   │   │   │   ├── syncStatOptions.suite.mjs
│   │   │   │   └── syncWriteOptions.suite.mjs
│   │   │   └── utils.mjs
│   │   ├── theme
│   │   │   ├── index.tsx
│   │   │   └── package.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.theme.json
│   │   ├── typedoc.json
│   │   ├── upgrade.md
│   │   └── vitest.config.mjs
│   ├── python
│   │   ├── .gitignore
│   │   ├── benchmark
│   │   │   ├── async_opendal_benchmark.py
│   │   │   ├── async_origin_s3_benchmark_with_gevent.py
│   │   │   └── README.md
│   │   ├── Cargo.toml
│   │   ├── CONTRIBUTING.md
│   │   ├── DEPENDENCIES.md
│   │   ├── DEPENDENCIES.rust.tsv
│   │   ├── docs
│   │   │   ├── api
│   │   │   │   ├── async_file.md
│   │   │   │   ├── async_operator.md
│   │   │   │   ├── capability.md
│   │   │   │   ├── exceptions.md
│   │   │   │   ├── file.md
│   │   │   │   ├── layers.md
│   │   │   │   ├── operator.md
│   │   │   │   └── types.md
│   │   │   └── index.md
│   │   ├── justfile
│   │   ├── mkdocs.yml
│   │   ├── pyproject.toml
│   │   ├── pyrightconfig.json
│   │   ├── python
│   │   │   └── opendal
│   │   │       ├── __init__.py
│   │   │       ├── capability.pyi
│   │   │       ├── exceptions.pyi
│   │   │       ├── file.pyi
│   │   │       ├── layers.pyi
│   │   │       ├── operator.pyi
│   │   │       ├── py.typed
│   │   │       ├── services.pyi
│   │   │       └── types.pyi
│   │   ├── README.md
│   │   ├── ruff.toml
│   │   ├── src
│   │   │   ├── capability.rs
│   │   │   ├── errors.rs
│   │   │   ├── file.rs
│   │   │   ├── layers.rs
│   │   │   ├── lib.rs
│   │   │   ├── lister.rs
│   │   │   ├── metadata.rs
│   │   │   ├── operator.rs
│   │   │   ├── options.rs
│   │   │   ├── services.rs
│   │   │   └── utils.rs
│   │   ├── template
│   │   │   └── module.html.jinja2
│   │   ├── tests
│   │   │   ├── conftest.py
│   │   │   ├── test_async_check.py
│   │   │   ├── test_async_copy.py
│   │   │   ├── test_async_delete.py
│   │   │   ├── test_async_exists.py
│   │   │   ├── test_async_list.py
│   │   │   ├── test_async_pickle_types.py
│   │   │   ├── test_async_rename.py
│   │   │   ├── test_capability.py
│   │   │   ├── test_exceptions.py
│   │   │   ├── test_pickle_rw.py
│   │   │   ├── test_read.py
│   │   │   ├── test_sync_check.py
│   │   │   ├── test_sync_copy.py
│   │   │   ├── test_sync_delete.py
│   │   │   ├── test_sync_exists.py
│   │   │   ├── test_sync_list.py
│   │   │   ├── test_sync_pickle_types.py
│   │   │   ├── test_sync_rename.py
│   │   │   └── test_write.py
│   │   ├── upgrade.md
│   │   ├── users.md
│   │   └── uv.lock
│   └── README.md
├── CHANGELOG.md
├── CITATION.cff
├── CLAUDE.md
├── CONTRIBUTING.md
├── core
│   ├── benches
│   │   ├── ops
│   │   │   ├── main.rs
│   │   │   ├── read.rs
│   │   │   ├── README.md
│   │   │   ├── utils.rs
│   │   │   └── write.rs
│   │   ├── README.md
│   │   ├── types
│   │   │   ├── buffer.rs
│   │   │   ├── main.rs
│   │   │   ├── README.md
│   │   │   └── tasks.rs
│   │   ├── vs_fs
│   │   │   ├── Cargo.toml
│   │   │   ├── README.md
│   │   │   └── src
│   │   │       └── main.rs
│   │   └── vs_s3
│   │       ├── Cargo.toml
│   │       ├── README.md
│   │       └── src
│   │           └── main.rs
│   ├── Cargo.lock
│   ├── Cargo.toml
│   ├── CHANGELOG.md
│   ├── CONTRIBUTING.md
│   ├── core
│   │   ├── Cargo.toml
│   │   └── src
│   │       ├── blocking
│   │       │   ├── delete.rs
│   │       │   ├── list.rs
│   │       │   ├── mod.rs
│   │       │   ├── operator.rs
│   │       │   ├── read
│   │       │   │   ├── buffer_iterator.rs
│   │       │   │   ├── mod.rs
│   │       │   │   ├── reader.rs
│   │       │   │   ├── std_bytes_iterator.rs
│   │       │   │   └── std_reader.rs
│   │       │   └── write
│   │       │       ├── mod.rs
│   │       │       ├── std_writer.rs
│   │       │       └── writer.rs
│   │       ├── docs
│   │       │   ├── comparisons
│   │       │   │   ├── mod.rs
│   │       │   │   └── vs_object_store.md
│   │       │   ├── concepts.rs
│   │       │   ├── internals
│   │       │   │   ├── accessor.rs
│   │       │   │   ├── layer.rs
│   │       │   │   └── mod.rs
│   │       │   ├── mod.rs
│   │       │   ├── performance
│   │       │   │   ├── concurrent_write.md
│   │       │   │   ├── http_optimization.md
│   │       │   │   └── mod.rs
│   │       │   ├── rfcs
│   │       │   │   ├── 0000_example.md
│   │       │   │   ├── 0041_object_native_api.md
│   │       │   │   ├── 0044_error_handle.md
│   │       │   │   ├── 0057_auto_region.md
│   │       │   │   ├── 0069_object_stream.md
│   │       │   │   ├── 0090_limited_reader.md
│   │       │   │   ├── 0112_path_normalization.md
│   │       │   │   ├── 0191_async_streaming_io.md
│   │       │   │   ├── 0203_remove_credential.md
│   │       │   │   ├── 0221_create_dir.md
│   │       │   │   ├── 0247_retryable_error.md
│   │       │   │   ├── 0293_object_id.md
│   │       │   │   ├── 0337_dir_entry.md
│   │       │   │   ├── 0409_accessor_capabilities.md
│   │       │   │   ├── 0413_presign.md
│   │       │   │   ├── 0423_command_line_interface.md
│   │       │   │   ├── 0429_init_from_iter.md
│   │       │   │   ├── 0438_multipart.md
│   │       │   │   ├── 0443_gateway.md
│   │       │   │   ├── 0501_new_builder.md
│   │       │   │   ├── 0554_write_refactor.md
│   │       │   │   ├── 0561_list_metadata_reuse.md
│   │       │   │   ├── 0599_blocking_api.md
│   │       │   │   ├── 0623_redis_service.md
│   │       │   │   ├── 0627_split_capabilities.md
│   │       │   │   ├── 0661_path_in_accessor.md
│   │       │   │   ├── 0793_generic_kv_services.md
│   │       │   │   ├── 0926_object_reader.md
│   │       │   │   ├── 0977_refactor_error.md
│   │       │   │   ├── 1085_object_handler.md
│   │       │   │   ├── 1391_object_metadataer.md
│   │       │   │   ├── 1398_query_based_metadata.md
│   │       │   │   ├── 1420_object_writer.md
│   │       │   │   ├── 1477_remove_object_concept.md
│   │       │   │   ├── 1735_operation_extension.md
│   │       │   │   ├── 2083_writer_sink_api.md
│   │       │   │   ├── 2133_append_api.md
│   │       │   │   ├── 2299_chain_based_operator_api.md
│   │       │   │   ├── 2602_object_versioning.md
│   │       │   │   ├── 2758_merge_append_into_write.md
│   │       │   │   ├── 2774_lister_api.md
│   │       │   │   ├── 2779_list_with_metakey.md
│   │       │   │   ├── 2852_native_capability.md
│   │       │   │   ├── 2884_merge_range_read_into_read.md
│   │       │   │   ├── 3017_remove_write_copy_from.md
│   │       │   │   ├── 3197_config.md
│   │       │   │   ├── 3232_align_list_api.md
│   │       │   │   ├── 3243_list_prefix.md
│   │       │   │   ├── 3356_lazy_reader.md
│   │       │   │   ├── 3526_list_recursive.md
│   │       │   │   ├── 3574_concurrent_stat_in_list.md
│   │       │   │   ├── 3734_buffered_reader.md
│   │       │   │   ├── 3898_concurrent_writer.md
│   │       │   │   ├── 3911_deleter_api.md
│   │       │   │   ├── 4382_range_based_read.md
│   │       │   │   ├── 4638_executor.md
│   │       │   │   ├── 5314_remove_metakey.md
│   │       │   │   ├── 5444_operator_from_uri.md
│   │       │   │   ├── 5479_context.md
│   │       │   │   ├── 5485_conditional_reader.md
│   │       │   │   ├── 5495_list_with_deleted.md
│   │       │   │   ├── 5556_write_returns_metadata.md
│   │       │   │   ├── 5871_read_returns_metadata.md
│   │       │   │   ├── 6189_remove_native_blocking.md
│   │       │   │   ├── 6209_glob_support.md
│   │       │   │   ├── 6213_options_api.md
│   │       │   │   ├── 6370_foyer_integration.md
│   │       │   │   ├── 6678_simulate_layer.md
│   │       │   │   ├── 6707_capability_override_layer.md
│   │       │   │   ├── 6817_checksum.md
│   │       │   │   ├── 6828_core.md
│   │       │   │   ├── 7130_route_layer.md
│   │       │   │   ├── mod.rs
│   │       │   │   └── README.md
│   │       │   └── upgrade.md
│   │       ├── layers
│   │       │   ├── complete.rs
│   │       │   ├── correctness_check.rs
│   │       │   ├── error_context.rs
│   │       │   ├── http_client.rs
│   │       │   ├── mod.rs
│   │       │   ├── simulate.rs
│   │       │   └── type_eraser.rs
│   │       ├── lib.rs
│   │       ├── raw
│   │       │   ├── accessor.rs
│   │       │   ├── atomic_util.rs
│   │       │   ├── enum_utils.rs
│   │       │   ├── futures_util.rs
│   │       │   ├── http_util
│   │       │   │   ├── body.rs
│   │       │   │   ├── bytes_content_range.rs
│   │       │   │   ├── bytes_range.rs
│   │       │   │   ├── client.rs
│   │       │   │   ├── error.rs
│   │       │   │   ├── header.rs
│   │       │   │   ├── mod.rs
│   │       │   │   ├── multipart.rs
│   │       │   │   └── uri.rs
│   │       │   ├── layer.rs
│   │       │   ├── mod.rs
│   │       │   ├── oio
│   │       │   │   ├── buf
│   │       │   │   │   ├── flex_buf.rs
│   │       │   │   │   ├── mod.rs
│   │       │   │   │   ├── pooled_buf.rs
│   │       │   │   │   └── queue_buf.rs
│   │       │   │   ├── delete
│   │       │   │   │   ├── api.rs
│   │       │   │   │   ├── batch_delete.rs
│   │       │   │   │   ├── mod.rs
│   │       │   │   │   └── one_shot_delete.rs
│   │       │   │   ├── entry.rs
│   │       │   │   ├── list
│   │       │   │   │   ├── api.rs
│   │       │   │   │   ├── flat_list.rs
│   │       │   │   │   ├── hierarchy_list.rs
│   │       │   │   │   ├── mod.rs
│   │       │   │   │   ├── page_list.rs
│   │       │   │   │   └── prefix_list.rs
│   │       │   │   ├── mod.rs
│   │       │   │   ├── read
│   │       │   │   │   ├── api.rs
│   │       │   │   │   └── mod.rs
│   │       │   │   └── write
│   │       │   │       ├── api.rs
│   │       │   │       ├── append_write.rs
│   │       │   │       ├── block_write.rs
│   │       │   │       ├── mod.rs
│   │       │   │       ├── multipart_write.rs
│   │       │   │       ├── one_shot_write.rs
│   │       │   │       └── position_write.rs
│   │       │   ├── operation.rs
│   │       │   ├── ops.rs
│   │       │   ├── path_cache.rs
│   │       │   ├── path.rs
│   │       │   ├── rps.rs
│   │       │   ├── serde_util.rs
│   │       │   ├── std_io_util.rs
│   │       │   ├── time.rs
│   │       │   ├── tokio_util.rs
│   │       │   └── version.rs
│   │       ├── services
│   │       │   ├── memory
│   │       │   │   ├── backend.rs
│   │       │   │   ├── config.rs
│   │       │   │   ├── core.rs
│   │       │   │   ├── deleter.rs
│   │       │   │   ├── docs.md
│   │       │   │   ├── lister.rs
│   │       │   │   ├── mod.rs
│   │       │   │   └── writer.rs
│   │       │   └── mod.rs
│   │       └── types
│   │           ├── buffer.rs
│   │           ├── builder.rs
│   │           ├── capability.rs
│   │           ├── context
│   │           │   ├── mod.rs
│   │           │   ├── read.rs
│   │           │   └── write.rs
│   │           ├── delete
│   │           │   ├── deleter.rs
│   │           │   ├── futures_delete_sink.rs
│   │           │   ├── input.rs
│   │           │   └── mod.rs
│   │           ├── entry.rs
│   │           ├── error.rs
│   │           ├── execute
│   │           │   ├── api.rs
│   │           │   ├── executor.rs
│   │           │   ├── executors
│   │           │   │   ├── mod.rs
│   │           │   │   └── tokio_executor.rs
│   │           │   └── mod.rs
│   │           ├── list.rs
│   │           ├── metadata.rs
│   │           ├── mod.rs
│   │           ├── mode.rs
│   │           ├── operator
│   │           │   ├── builder.rs
│   │           │   ├── info.rs
│   │           │   ├── mod.rs
│   │           │   ├── operator_futures.rs
│   │           │   ├── operator.rs
│   │           │   ├── registry.rs
│   │           │   └── uri.rs
│   │           ├── options.rs
│   │           ├── read
│   │           │   ├── buffer_stream.rs
│   │           │   ├── futures_async_reader.rs
│   │           │   ├── futures_bytes_stream.rs
│   │           │   ├── mod.rs
│   │           │   └── reader.rs
│   │           └── write
│   │               ├── buffer_sink.rs
│   │               ├── futures_async_writer.rs
│   │               ├── futures_bytes_sink.rs
│   │               ├── mod.rs
│   │               └── writer.rs
│   ├── DEPENDENCIES.md
│   ├── DEPENDENCIES.rust.tsv
│   ├── edge
│   │   ├── file_write_on_full_disk
│   │   │   ├── Cargo.toml
│   │   │   ├── README.md
│   │   │   └── src
│   │   │       └── main.rs
│   │   ├── README.md
│   │   ├── s3_aws_assume_role_with_web_identity
│   │   │   ├── Cargo.toml
│   │   │   ├── README.md
│   │   │   └── src
│   │   │       └── main.rs
│   │   └── s3_read_on_wasm
│   │       ├── .gitignore
│   │       ├── Cargo.toml
│   │       ├── README.md
│   │       ├── src
│   │       │   └── lib.rs
│   │       └── webdriver.json
│   ├── fuzz
│   │   ├── .gitignore
│   │   ├── Cargo.toml
│   │   ├── fuzz_reader.rs
│   │   ├── fuzz_writer.rs
│   │   └── README.md
│   ├── layers
│   │   ├── async-backtrace
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   ├── await-tree
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   ├── capability-check
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   ├── chaos
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   ├── concurrent-limit
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   ├── dtrace
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   ├── fastmetrics
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   ├── fastrace
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   ├── foyer
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   ├── hotpath
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   ├── immutable-index
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   ├── logging
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   ├── metrics
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   ├── mime-guess
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   ├── observe-metrics-common
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   ├── otelmetrics
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   ├── oteltrace
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   ├── prometheus
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   ├── prometheus-client
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   ├── retry
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   ├── route
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   ├── tail-cut
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   ├── throttle
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   ├── timeout
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   └── tracing
│   │       ├── Cargo.toml
│   │       └── src
│   │           └── lib.rs
│   ├── LICENSE
│   ├── README.md
│   ├── services
│   │   ├── aliyun-drive
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── alluxio
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── azblob
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── azdls
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── azfile
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── azure-common
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       └── lib.rs
│   │   ├── b2
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── cacache
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── lib.rs
│   │   │       └── writer.rs
│   │   ├── cloudflare-kv
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       ├── model.rs
│   │   │       └── writer.rs
│   │   ├── compfs
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       ├── reader.rs
│   │   │       └── writer.rs
│   │   ├── cos
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── d1
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── model.rs
│   │   │       └── writer.rs
│   │   ├── dashmap
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── dbfs
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── dropbox
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── builder.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── etcd
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── foundationdb
│   │   │   ├── build.rs
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── lib.rs
│   │   │       └── writer.rs
│   │   ├── fs
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       ├── reader.rs
│   │   │       └── writer.rs
│   │   ├── ftp
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── err.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       ├── reader.rs
│   │   │       └── writer.rs
│   │   ├── gcs
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       ├── uri.rs
│   │   │       └── writer.rs
│   │   ├── gdrive
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── builder.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── ghac
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       └── writer.rs
│   │   ├── github
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       ├── mod.rs
│   │   │       └── writer.rs
│   │   ├── gridfs
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── lib.rs
│   │   │       └── writer.rs
│   │   ├── hdfs
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       ├── reader.rs
│   │   │       └── writer.rs
│   │   ├── hdfs-native
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       ├── reader.rs
│   │   │       └── writer.rs
│   │   ├── http
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       └── lib.rs
│   │   ├── huggingface
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       └── lister.rs
│   │   ├── ipfs
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── ipld.rs
│   │   │       └── lib.rs
│   │   ├── ipmfs
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── builder.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── koofr
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── lakefs
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── memcached
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── binary.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── lib.rs
│   │   │       └── writer.rs
│   │   ├── mini_moka
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── moka
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── mongodb
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── lib.rs
│   │   │       └── writer.rs
│   │   ├── monoiofs
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── lib.rs
│   │   │       ├── reader.rs
│   │   │       └── writer.rs
│   │   ├── mysql
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── lib.rs
│   │   │       └── writer.rs
│   │   ├── obs
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── onedrive
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── builder.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── graph_model.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── opfs
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       └── utils.rs
│   │   ├── oss
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── pcloud
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── persy
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── lib.rs
│   │   │       └── writer.rs
│   │   ├── postgresql
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── lib.rs
│   │   │       └── writer.rs
│   │   ├── redb
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── lib.rs
│   │   │       └── writer.rs
│   │   ├── redis
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── delete.rs
│   │   │       ├── docs.md
│   │   │       ├── lib.rs
│   │   │       └── writer.rs
│   │   ├── rocksdb
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── s3
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── compatible_services.md
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       ├── mod.rs
│   │   │       └── writer.rs
│   │   ├── seafile
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── sftp
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       ├── reader.rs
│   │   │       ├── utils.rs
│   │   │       └── writer.rs
│   │   ├── sled
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── sqlite
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── lib.rs
│   │   │       └── writer.rs
│   │   ├── surrealdb
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── lib.rs
│   │   │       └── writer.rs
│   │   ├── swift
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── compatible_services.md
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── tikv
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── lib.rs
│   │   │       └── writer.rs
│   │   ├── upyun
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── vercel-artifacts
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── builder.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       └── writer.rs
│   │   ├── vercel-blob
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── webdav
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       └── writer.rs
│   │   ├── webhdfs
│   │   │   ├── Cargo.toml
│   │   │   └── src
│   │   │       ├── backend.rs
│   │   │       ├── config.rs
│   │   │       ├── core.rs
│   │   │       ├── deleter.rs
│   │   │       ├── docs.md
│   │   │       ├── error.rs
│   │   │       ├── lib.rs
│   │   │       ├── lister.rs
│   │   │       ├── message.rs
│   │   │       └── writer.rs
│   │   └── yandex-disk
│   │       ├── Cargo.toml
│   │       └── src
│   │           ├── backend.rs
│   │           ├── config.rs
│   │           ├── core.rs
│   │           ├── deleter.rs
│   │           ├── docs.md
│   │           ├── error.rs
│   │           ├── lib.rs
│   │           ├── lister.rs
│   │           └── writer.rs
│   ├── src
│   │   └── lib.rs
│   ├── testkit
│   │   ├── Cargo.toml
│   │   └── src
│   │       ├── lib.rs
│   │       ├── read.rs
│   │       ├── utils.rs
│   │       └── write.rs
│   ├── tests
│   │   ├── behavior
│   │   │   ├── async_copy.rs
│   │   │   ├── async_create_dir.rs
│   │   │   ├── async_delete.rs
│   │   │   ├── async_list.rs
│   │   │   ├── async_presign.rs
│   │   │   ├── async_read.rs
│   │   │   ├── async_rename.rs
│   │   │   ├── async_stat.rs
│   │   │   ├── async_write.rs
│   │   │   ├── main.rs
│   │   │   ├── README.md
│   │   │   └── utils.rs
│   │   └── data
│   │       ├── normal_dir
│   │       │   └── .gitkeep
│   │       ├── normal_file.txt
│   │       ├── special_dir  !@#$%^&()_+-=;',
│   │       │   └── .gitkeep
│   │       └── special_file  !@#$%^&()_+-=;',.txt
│   ├── upgrade.md
│   └── users.md
├── deny.toml
├── DEPENDENCIES.md
├── dev
│   ├── Cargo.lock
│   ├── Cargo.toml
│   ├── README.md
│   └── src
│       ├── generate
│       │   ├── java.j2
│       │   ├── java.rs
│       │   ├── mod.rs
│       │   ├── parser.rs
│       │   ├── python.j2
│       │   └── python.rs
│       ├── main.rs
│       └── release
│           ├── mod.rs
│           └── package.rs
├── doap.rdf
├── fixtures
│   ├── alluxio
│   │   └── docker-compose-alluxio.yml
│   ├── azblob
│   │   └── docker-compose-azurite.yml
│   ├── data
│   │   ├── normal_dir
│   │   │   └── .gitkeep
│   │   ├── normal_file.txt
│   │   ├── special_dir  !@#$%^&()_+-=;',
│   │   │   └── .gitkeep
│   │   └── special_file  !@#$%^&()_+-=;',.txt
│   ├── etcd
│   │   ├── ca-key.pem
│   │   ├── ca.pem
│   │   ├── client-key.pem
│   │   ├── client.pem
│   │   ├── docker-compose-cluster.yml
│   │   ├── docker-compose-standalone-tls.yml
│   │   ├── docker-compose-standalone.yml
│   │   ├── server-key.pem
│   │   └── server.pem
│   ├── ftp
│   │   └── docker-compose-vsftpd.yml
│   ├── hdfs
│   │   ├── azurite-azblob-core-site.xml
│   │   ├── docker-compose-hdfs-cluster.yml
│   │   ├── gcs-core-site.xml
│   │   ├── hdfs-site.xml
│   │   └── minio-s3-core-site.xml
│   ├── http
│   │   ├── Caddyfile
│   │   ├── docker-compose-caddy.yml
│   │   ├── docker-compose-nginx.yml
│   │   └── nginx.conf
│   ├── libsql
│   │   ├── docker-compose-auth.yml
│   │   └── docker-compose.yml
│   ├── memcached
│   │   ├── docker-compose-memcached-with-auth.yml
│   │   └── docker-compose-memcached.yml
│   ├── mongodb
│   │   ├── docker-compose-basic-auth.yml
│   │   └── docker-compose-no-auth.yml
│   ├── mysql
│   │   ├── docker-compose.yml
│   │   └── init.sql
│   ├── postgresql
│   │   ├── docker-compose.yml
│   │   └── init.sql
│   ├── redis
│   │   ├── docker-compose-dragonfly.yml
│   │   ├── docker-compose-kvrocks.yml
│   │   ├── docker-compose-redis-cluster-tls.yml
│   │   ├── docker-compose-redis-cluster.yml
│   │   ├── docker-compose-redis-tls.yml
│   │   ├── docker-compose-redis.yml
│   │   └── ssl
│   │       ├── .gitignore
│   │       ├── ca.crt
│   │       ├── ca.key
│   │       ├── ca.srl
│   │       ├── README.md
│   │       ├── redis.crt
│   │       ├── redis.key
│   │       └── req.conf
│   ├── s3
│   │   ├── docker-compose-ceph-rados.yml
│   │   └── docker-compose-minio.yml
│   ├── seafile
│   │   └── docker-compose-seafile.yml
│   ├── sftp
│   │   ├── change_root_dir.sh
│   │   ├── docker-compose-sftp-with-default-root.yml
│   │   ├── docker-compose-sftp.yml
│   │   ├── health-check.sh
│   │   ├── test_ssh_key
│   │   └── test_ssh_key.pub
│   ├── sqlite
│   │   └── data.sql
│   ├── swift
│   │   ├── docker-compose-ceph-rados.yml
│   │   └── docker-compose-swift.yml
│   ├── tikv
│   │   ├── gen_cert.sh
│   │   ├── pd-tls.toml
│   │   ├── pd.toml
│   │   ├── ssl
│   │   │   ├── ca-key.pem
│   │   │   ├── ca.pem
│   │   │   ├── client-key.pem
│   │   │   ├── client.pem
│   │   │   ├── pd-server-key.pem
│   │   │   ├── pd-server.pem
│   │   │   ├── tikv-server-key.pem
│   │   │   └── tikv-server.pem
│   │   ├── tikv-tls.toml
│   │   └── tikv.toml
│   ├── webdav
│   │   ├── config
│   │   │   └── nginx
│   │   │       └── http.conf
│   │   ├── docker-compose-webdav-jfrog.yml
│   │   ├── docker-compose-webdav-nextcloud.yml
│   │   ├── docker-compose-webdav-owncloud.yml
│   │   ├── docker-compose-webdav-with-auth.yml
│   │   ├── docker-compose-webdav-with-empty-passwd.yml
│   │   ├── docker-compose-webdav.yml
│   │   └── health-check-nextcloud.sh
│   └── webhdfs
│       └── docker-compose-webhdfs.yml
├── justfile
├── LICENSE
├── licenserc.toml
├── NOTICE
├── README.md
├── rust-toolchain.toml
├── rustfmt.toml
└── scripts
    ├── constants.py
    ├── dependencies.py
    ├── merge_local_staging.py
    ├── README.md
    ├── verify.py
    └── workspace.py
```

# Files

--------------------------------------------------------------------------------
/bindings/python/src/services.rs:
--------------------------------------------------------------------------------

```rust
   1 | // Licensed to the Apache Software Foundation (ASF) under one
   2 | // or more contributor license agreements.  See the NOTICE file
   3 | // distributed with this work for additional information
   4 | // regarding copyright ownership.  The ASF licenses this file
   5 | // to you under the Apache License, Version 2.0 (the
   6 | // "License"); you may not use this file except in compliance
   7 | // with the License.  You may obtain a copy of the License at
   8 | //
   9 | //   http://www.apache.org/licenses/LICENSE-2.0
  10 | //
  11 | // Unless required by applicable law or agreed to in writing,
  12 | // software distributed under the License is distributed on an
  13 | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  14 | // KIND, either express or implied.  See the License for the
  15 | // specific language governing permissions and limitations
  16 | // under the License.
  17 | 
  18 | use crate::*;
  19 | use pyo3_stub_gen::{derive::*, inventory::submit, module_doc};
  20 | 
  21 | module_doc!(
  22 |     "opendal.services",
  23 |     r#"
  24 | Services.
  25 | 
  26 | >> DO NOT EDIT THIS FILE MANUALLY <<
  27 | 
  28 | This file is automatically generated by just recipe with name `stub-gen`
  29 | alongwith the rest of the stubs.
  30 | 
  31 | See justfile at path ``../../justfile`` for more details.
  32 | "#
  33 | );
  34 | 
  35 | submit! {
  36 |     gen_methods_from_python! {
  37 |         r#"
  38 |         import builtins
  39 |         import typing
  40 |         import typing_extensions
  41 |         class Operator:
  42 |             @overload
  43 |             def __new__(cls,
  44 |                 scheme: builtins.str,
  45 |                 /,
  46 |                 **kwargs: builtins.str,
  47 |             ) -> typing_extensions.Self: ...
  48 |         "#
  49 |     }
  50 | }
  51 | 
  52 | #[gen_stub_pyclass_enum]
  53 | #[pyclass(
  54 |     eq,
  55 |     eq_int,
  56 |     dict,
  57 |     hash,
  58 |     frozen,
  59 |     name = "Scheme",
  60 |     module = "opendal.services"
  61 | )]
  62 | #[pyo3(rename_all = "PascalCase")]
  63 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
  64 | pub enum PyScheme {
  65 |     #[cfg(feature = "services-aliyun-drive")]
  66 |     AliyunDrive,
  67 |     #[cfg(feature = "services-alluxio")]
  68 |     Alluxio,
  69 |     #[cfg(feature = "services-azblob")]
  70 |     Azblob,
  71 |     #[cfg(feature = "services-azdls")]
  72 |     Azdls,
  73 |     #[cfg(feature = "services-azfile")]
  74 |     Azfile,
  75 |     #[cfg(feature = "services-b2")]
  76 |     B2,
  77 |     #[cfg(feature = "services-cacache")]
  78 |     Cacache,
  79 |     #[cfg(feature = "services-cos")]
  80 |     Cos,
  81 |     #[cfg(feature = "services-dashmap")]
  82 |     Dashmap,
  83 |     #[cfg(feature = "services-dropbox")]
  84 |     Dropbox,
  85 |     #[cfg(feature = "services-fs")]
  86 |     Fs,
  87 |     #[cfg(feature = "services-ftp")]
  88 |     Ftp,
  89 |     #[cfg(feature = "services-gcs")]
  90 |     Gcs,
  91 |     #[cfg(feature = "services-gdrive")]
  92 |     Gdrive,
  93 |     #[cfg(feature = "services-ghac")]
  94 |     Ghac,
  95 |     #[cfg(feature = "services-gridfs")]
  96 |     Gridfs,
  97 |     #[cfg(feature = "services-hdfs-native")]
  98 |     HdfsNative,
  99 |     #[cfg(feature = "services-http")]
 100 |     Http,
 101 |     #[cfg(feature = "services-huggingface")]
 102 |     Huggingface,
 103 |     #[cfg(feature = "services-ipfs")]
 104 |     Ipfs,
 105 |     #[cfg(feature = "services-ipmfs")]
 106 |     Ipmfs,
 107 |     #[cfg(feature = "services-koofr")]
 108 |     Koofr,
 109 |     #[cfg(feature = "services-memcached")]
 110 |     Memcached,
 111 |     #[cfg(feature = "services-memory")]
 112 |     Memory,
 113 |     #[cfg(feature = "services-mini-moka")]
 114 |     MiniMoka,
 115 |     #[cfg(feature = "services-moka")]
 116 |     Moka,
 117 |     #[cfg(feature = "services-mongodb")]
 118 |     Mongodb,
 119 |     #[cfg(feature = "services-mysql")]
 120 |     Mysql,
 121 |     #[cfg(feature = "services-obs")]
 122 |     Obs,
 123 |     #[cfg(feature = "services-onedrive")]
 124 |     Onedrive,
 125 |     #[cfg(feature = "services-oss")]
 126 |     Oss,
 127 |     #[cfg(feature = "services-persy")]
 128 |     Persy,
 129 |     #[cfg(feature = "services-postgresql")]
 130 |     Postgresql,
 131 |     #[cfg(feature = "services-redb")]
 132 |     Redb,
 133 |     #[cfg(feature = "services-redis")]
 134 |     Redis,
 135 |     #[cfg(feature = "services-s3")]
 136 |     S3,
 137 |     #[cfg(feature = "services-seafile")]
 138 |     Seafile,
 139 |     #[cfg(feature = "services-sftp")]
 140 |     Sftp,
 141 |     #[cfg(feature = "services-sled")]
 142 |     Sled,
 143 |     #[cfg(feature = "services-sqlite")]
 144 |     Sqlite,
 145 |     #[cfg(feature = "services-swift")]
 146 |     Swift,
 147 |     #[cfg(feature = "services-upyun")]
 148 |     Upyun,
 149 |     #[cfg(feature = "services-vercel-artifacts")]
 150 |     VercelArtifacts,
 151 |     #[cfg(feature = "services-webdav")]
 152 |     Webdav,
 153 |     #[cfg(feature = "services-webhdfs")]
 154 |     Webhdfs,
 155 |     #[cfg(feature = "services-yandex-disk")]
 156 |     YandexDisk,
 157 | }
 158 | 
 159 | #[gen_stub_pymethods]
 160 | #[pymethods]
 161 | impl PyScheme {
 162 |     #[getter]
 163 |     pub fn name(&self) -> String {
 164 |         format!("{:?}", &self)
 165 |     }
 166 | 
 167 |     #[getter]
 168 |     pub fn value(&self) -> &'static str {
 169 |         (*self).into()
 170 |     }
 171 | }
 172 | 
 173 | submit! {
 174 |     gen_methods_from_python! {
 175 |         r#"
 176 |         import builtins
 177 |         import typing
 178 |         import typing_extensions
 179 |         import opendal.services
 180 |         class Operator:
 181 |             @overload
 182 |             def __new__(cls,
 183 |                 scheme: typing.Union[opendal.services.Scheme.AliyunDrive, typing.Literal["aliyun-drive"]],
 184 |                 /,
 185 |                 *,
 186 |                 access_token: builtins.str = ...,
 187 |                 client_id: builtins.str = ...,
 188 |                 client_secret: builtins.str = ...,
 189 |                 drive_type: builtins.str,
 190 |                 refresh_token: builtins.str = ...,
 191 |                 root: builtins.str = ...,
 192 |             ) -> typing_extensions.Self:
 193 |                 r"""
 194 |                 Create a new `Operator` for `aliyun-drive` service.
 195 | 
 196 |                 Parameters
 197 |                 ----------
 198 |                 access_token : builtins.str, optional
 199 |                     The access_token of this backend.
 200 |                     Solution for client-only purpose.
 201 |                     #4733 Required if no client_id, client_secret and
 202 |                     refresh_token are provided.
 203 |                 client_id : builtins.str, optional
 204 |                     The client_id of this backend.
 205 |                     Required if no access_token is provided.
 206 |                 client_secret : builtins.str, optional
 207 |                     The client_secret of this backend.
 208 |                     Required if no access_token is provided.
 209 |                 drive_type : builtins.str
 210 |                     The drive_type of this backend.
 211 |                     All operations will happen under this type of drive.
 212 |                     Available values are `default`, `backup` and
 213 |                     `resource`.
 214 |                     Fallback to default if not set or no other drives
 215 |                     can be found.
 216 |                 refresh_token : builtins.str, optional
 217 |                     The refresh_token of this backend.
 218 |                     Required if no access_token is provided.
 219 |                 root : builtins.str, optional
 220 |                     The Root of this backend.
 221 |                     All operations will happen under this root.
 222 |                     Default to `/` if not set.
 223 |                 Returns
 224 |                 -------
 225 |                 Operator
 226 |                     The new `Operator` for `aliyun-drive` service
 227 |                 """
 228 |         "#
 229 |     }
 230 | }
 231 | 
 232 | submit! {
 233 |     gen_methods_from_python! {
 234 |         r#"
 235 |         import builtins
 236 |         import typing
 237 |         import typing_extensions
 238 |         import opendal.services
 239 |         class Operator:
 240 |             @overload
 241 |             def __new__(cls,
 242 |                 scheme: typing.Union[opendal.services.Scheme.Alluxio, typing.Literal["alluxio"]],
 243 |                 /,
 244 |                 *,
 245 |                 endpoint: builtins.str = ...,
 246 |                 root: builtins.str = ...,
 247 |             ) -> typing_extensions.Self:
 248 |                 r"""
 249 |                 Create a new `Operator` for `alluxio` service.
 250 | 
 251 |                 Parameters
 252 |                 ----------
 253 |                 endpoint : builtins.str, optional
 254 |                     endpoint of this backend.
 255 |                     Endpoint must be full uri, mostly like
 256 |                     `http://127.0.0.1:39999`.
 257 |                 root : builtins.str, optional
 258 |                     root of this backend.
 259 |                     All operations will happen under this root.
 260 |                     default to `/` if not set.
 261 |                 Returns
 262 |                 -------
 263 |                 Operator
 264 |                     The new `Operator` for `alluxio` service
 265 |                 """
 266 |         "#
 267 |     }
 268 | }
 269 | 
 270 | submit! {
 271 |     gen_methods_from_python! {
 272 |         r#"
 273 |         import builtins
 274 |         import typing
 275 |         import typing_extensions
 276 |         import opendal.services
 277 |         class Operator:
 278 |             @overload
 279 |             def __new__(cls,
 280 |                 scheme: typing.Union[opendal.services.Scheme.Azblob, typing.Literal["azblob"]],
 281 |                 /,
 282 |                 *,
 283 |                 account_key: builtins.str = ...,
 284 |                 account_name: builtins.str = ...,
 285 |                 batch_max_operations: builtins.int = ...,
 286 |                 container: builtins.str,
 287 |                 encryption_algorithm: builtins.str = ...,
 288 |                 encryption_key: builtins.str = ...,
 289 |                 encryption_key_sha256: builtins.str = ...,
 290 |                 endpoint: builtins.str = ...,
 291 |                 root: builtins.str = ...,
 292 |                 sas_token: builtins.str = ...,
 293 |             ) -> typing_extensions.Self:
 294 |                 r"""
 295 |                 Create a new `Operator` for `azblob` service.
 296 | 
 297 |                 Parameters
 298 |                 ----------
 299 |                 account_key : builtins.str, optional
 300 |                     The account key of Azblob service backend.
 301 |                 account_name : builtins.str, optional
 302 |                     The account name of Azblob service backend.
 303 |                 batch_max_operations : builtins.int, optional
 304 |                     The maximum batch operations of Azblob service
 305 |                     backend.
 306 |                 container : builtins.str
 307 |                     The container name of Azblob service backend.
 308 |                 encryption_algorithm : builtins.str, optional
 309 |                     The encryption algorithm of Azblob service backend.
 310 |                 encryption_key : builtins.str, optional
 311 |                     The encryption key of Azblob service backend.
 312 |                 encryption_key_sha256 : builtins.str, optional
 313 |                     The encryption key sha256 of Azblob service backend.
 314 |                 endpoint : builtins.str, optional
 315 |                     The endpoint of Azblob service backend.
 316 |                     Endpoint must be full uri, e.g.
 317 |                     - Azblob:
 318 |                     `https://accountname.blob.core.windows.net` -
 319 |                     Azurite: `http://127.0.0.1:10000/devstoreaccount1`
 320 |                 root : builtins.str, optional
 321 |                     The root of Azblob service backend.
 322 |                     All operations will happen under this root.
 323 |                 sas_token : builtins.str, optional
 324 |                     The sas token of Azblob service backend.
 325 |                 Returns
 326 |                 -------
 327 |                 Operator
 328 |                     The new `Operator` for `azblob` service
 329 |                 """
 330 |         "#
 331 |     }
 332 | }
 333 | 
 334 | submit! {
 335 |     gen_methods_from_python! {
 336 |         r#"
 337 |         import builtins
 338 |         import typing
 339 |         import typing_extensions
 340 |         import opendal.services
 341 |         class Operator:
 342 |             @overload
 343 |             def __new__(cls,
 344 |                 scheme: typing.Union[opendal.services.Scheme.Azdls, typing.Literal["azdls"]],
 345 |                 /,
 346 |                 *,
 347 |                 account_key: builtins.str = ...,
 348 |                 account_name: builtins.str = ...,
 349 |                 authority_host: builtins.str = ...,
 350 |                 client_id: builtins.str = ...,
 351 |                 client_secret: builtins.str = ...,
 352 |                 endpoint: builtins.str = ...,
 353 |                 filesystem: builtins.str,
 354 |                 root: builtins.str = ...,
 355 |                 sas_token: builtins.str = ...,
 356 |                 tenant_id: builtins.str = ...,
 357 |             ) -> typing_extensions.Self:
 358 |                 r"""
 359 |                 Create a new `Operator` for `azdls` service.
 360 | 
 361 |                 Parameters
 362 |                 ----------
 363 |                 account_key : builtins.str, optional
 364 |                     Account key of this backend.
 365 |                     - required for shared_key authentication
 366 |                 account_name : builtins.str, optional
 367 |                     Account name of this backend.
 368 |                 authority_host : builtins.str, optional
 369 |                     authority_host The authority host of the service
 370 |                     principal.
 371 |                     - required for client_credentials authentication -
 372 |                     default value: `https://login.microsoftonline.com`
 373 |                 client_id : builtins.str, optional
 374 |                     client_id The client id of the service principal.
 375 |                     - required for client_credentials authentication
 376 |                 client_secret : builtins.str, optional
 377 |                     client_secret The client secret of the service
 378 |                     principal.
 379 |                     - required for client_credentials authentication
 380 |                 endpoint : builtins.str, optional
 381 |                     Endpoint of this backend.
 382 |                 filesystem : builtins.str
 383 |                     Filesystem name of this backend.
 384 |                 root : builtins.str, optional
 385 |                     Root of this backend.
 386 |                 sas_token : builtins.str, optional
 387 |                     sas_token The shared access signature token.
 388 |                     - required for sas authentication
 389 |                 tenant_id : builtins.str, optional
 390 |                     tenant_id The tenant id of the service principal.
 391 |                     - required for client_credentials authentication
 392 |                 Returns
 393 |                 -------
 394 |                 Operator
 395 |                     The new `Operator` for `azdls` service
 396 |                 """
 397 |         "#
 398 |     }
 399 | }
 400 | 
 401 | submit! {
 402 |     gen_methods_from_python! {
 403 |         r#"
 404 |         import builtins
 405 |         import typing
 406 |         import typing_extensions
 407 |         import opendal.services
 408 |         class Operator:
 409 |             @overload
 410 |             def __new__(cls,
 411 |                 scheme: typing.Union[opendal.services.Scheme.Azfile, typing.Literal["azfile"]],
 412 |                 /,
 413 |                 *,
 414 |                 account_key: builtins.str = ...,
 415 |                 account_name: builtins.str = ...,
 416 |                 endpoint: builtins.str = ...,
 417 |                 root: builtins.str = ...,
 418 |                 sas_token: builtins.str = ...,
 419 |                 share_name: builtins.str,
 420 |             ) -> typing_extensions.Self:
 421 |                 r"""
 422 |                 Create a new `Operator` for `azfile` service.
 423 | 
 424 |                 Parameters
 425 |                 ----------
 426 |                 account_key : builtins.str, optional
 427 |                     The account key for azfile.
 428 |                 account_name : builtins.str, optional
 429 |                     The account name for azfile.
 430 |                 endpoint : builtins.str, optional
 431 |                     The endpoint for azfile.
 432 |                 root : builtins.str, optional
 433 |                     The root path for azfile.
 434 |                 sas_token : builtins.str, optional
 435 |                     The sas token for azfile.
 436 |                 share_name : builtins.str
 437 |                     The share name for azfile.
 438 |                 Returns
 439 |                 -------
 440 |                 Operator
 441 |                     The new `Operator` for `azfile` service
 442 |                 """
 443 |         "#
 444 |     }
 445 | }
 446 | 
 447 | submit! {
 448 |     gen_methods_from_python! {
 449 |         r#"
 450 |         import builtins
 451 |         import typing
 452 |         import typing_extensions
 453 |         import opendal.services
 454 |         class Operator:
 455 |             @overload
 456 |             def __new__(cls,
 457 |                 scheme: typing.Union[opendal.services.Scheme.B2, typing.Literal["b2"]],
 458 |                 /,
 459 |                 *,
 460 |                 application_key: builtins.str = ...,
 461 |                 application_key_id: builtins.str = ...,
 462 |                 bucket: builtins.str,
 463 |                 bucket_id: builtins.str,
 464 |                 root: builtins.str = ...,
 465 |             ) -> typing_extensions.Self:
 466 |                 r"""
 467 |                 Create a new `Operator` for `b2` service.
 468 | 
 469 |                 Parameters
 470 |                 ----------
 471 |                 application_key : builtins.str, optional
 472 |                     applicationKey of this backend.
 473 |                     - If application_key is set, we will take user's
 474 |                     input first.
 475 |                     - If not, we will try to load it from environment.
 476 |                 application_key_id : builtins.str, optional
 477 |                     keyID of this backend.
 478 |                     - If application_key_id is set, we will take user's
 479 |                     input first.
 480 |                     - If not, we will try to load it from environment.
 481 |                 bucket : builtins.str
 482 |                     bucket of this backend.
 483 |                     required.
 484 |                 bucket_id : builtins.str
 485 |                     bucket id of this backend.
 486 |                     required.
 487 |                 root : builtins.str, optional
 488 |                     root of this backend.
 489 |                     All operations will happen under this root.
 490 |                 Returns
 491 |                 -------
 492 |                 Operator
 493 |                     The new `Operator` for `b2` service
 494 |                 """
 495 |         "#
 496 |     }
 497 | }
 498 | 
 499 | submit! {
 500 |     gen_methods_from_python! {
 501 |         r#"
 502 |         import builtins
 503 |         import typing
 504 |         import typing_extensions
 505 |         import opendal.services
 506 |         class Operator:
 507 |             @overload
 508 |             def __new__(cls,
 509 |                 scheme: typing.Union[opendal.services.Scheme.Cacache, typing.Literal["cacache"]],
 510 |                 /,
 511 |                 *,
 512 |                 datadir: builtins.str = ...,
 513 |             ) -> typing_extensions.Self:
 514 |                 r"""
 515 |                 Create a new `Operator` for `cacache` service.
 516 | 
 517 |                 Parameters
 518 |                 ----------
 519 |                 datadir : builtins.str, optional
 520 |                     That path to the cacache data directory.
 521 |                 Returns
 522 |                 -------
 523 |                 Operator
 524 |                     The new `Operator` for `cacache` service
 525 |                 """
 526 |         "#
 527 |     }
 528 | }
 529 | 
 530 | submit! {
 531 |     gen_methods_from_python! {
 532 |         r#"
 533 |         import builtins
 534 |         import typing
 535 |         import typing_extensions
 536 |         import opendal.services
 537 |         class Operator:
 538 |             @overload
 539 |             def __new__(cls,
 540 |                 scheme: typing.Union[opendal.services.Scheme.Cos, typing.Literal["cos"]],
 541 |                 /,
 542 |                 *,
 543 |                 bucket: builtins.str = ...,
 544 |                 disable_config_load: builtins.bool = ...,
 545 |                 enable_versioning: builtins.bool = ...,
 546 |                 endpoint: builtins.str = ...,
 547 |                 root: builtins.str = ...,
 548 |                 secret_id: builtins.str = ...,
 549 |                 secret_key: builtins.str = ...,
 550 |             ) -> typing_extensions.Self:
 551 |                 r"""
 552 |                 Create a new `Operator` for `cos` service.
 553 | 
 554 |                 Parameters
 555 |                 ----------
 556 |                 bucket : builtins.str, optional
 557 |                     Bucket of this backend.
 558 |                 disable_config_load : builtins.bool, optional
 559 |                     Disable config load so that opendal will not load
 560 |                     config from
 561 |                 enable_versioning : builtins.bool, optional
 562 |                     is bucket versioning enabled for this bucket
 563 |                 endpoint : builtins.str, optional
 564 |                     Endpoint of this backend.
 565 |                 root : builtins.str, optional
 566 |                     Root of this backend.
 567 |                 secret_id : builtins.str, optional
 568 |                     Secret ID of this backend.
 569 |                 secret_key : builtins.str, optional
 570 |                     Secret key of this backend.
 571 |                 Returns
 572 |                 -------
 573 |                 Operator
 574 |                     The new `Operator` for `cos` service
 575 |                 """
 576 |         "#
 577 |     }
 578 | }
 579 | 
 580 | submit! {
 581 |     gen_methods_from_python! {
 582 |         r#"
 583 |         import builtins
 584 |         import typing
 585 |         import typing_extensions
 586 |         import opendal.services
 587 |         class Operator:
 588 |             @overload
 589 |             def __new__(cls,
 590 |                 scheme: typing.Union[opendal.services.Scheme.Dashmap, typing.Literal["dashmap"]],
 591 |                 /,
 592 |                 *,
 593 |                 root: builtins.str = ...,
 594 |             ) -> typing_extensions.Self:
 595 |                 r"""
 596 |                 Create a new `Operator` for `dashmap` service.
 597 | 
 598 |                 Parameters
 599 |                 ----------
 600 |                 root : builtins.str, optional
 601 |                     root path of this backend
 602 |                 Returns
 603 |                 -------
 604 |                 Operator
 605 |                     The new `Operator` for `dashmap` service
 606 |                 """
 607 |         "#
 608 |     }
 609 | }
 610 | 
 611 | submit! {
 612 |     gen_methods_from_python! {
 613 |         r#"
 614 |         import builtins
 615 |         import typing
 616 |         import typing_extensions
 617 |         import opendal.services
 618 |         class Operator:
 619 |             @overload
 620 |             def __new__(cls,
 621 |                 scheme: typing.Union[opendal.services.Scheme.Dropbox, typing.Literal["dropbox"]],
 622 |                 /,
 623 |                 *,
 624 |                 access_token: builtins.str = ...,
 625 |                 client_id: builtins.str = ...,
 626 |                 client_secret: builtins.str = ...,
 627 |                 refresh_token: builtins.str = ...,
 628 |                 root: builtins.str = ...,
 629 |             ) -> typing_extensions.Self:
 630 |                 r"""
 631 |                 Create a new `Operator` for `dropbox` service.
 632 | 
 633 |                 Parameters
 634 |                 ----------
 635 |                 access_token : builtins.str, optional
 636 |                     access token for dropbox.
 637 |                 client_id : builtins.str, optional
 638 |                     client_id for dropbox.
 639 |                 client_secret : builtins.str, optional
 640 |                     client_secret for dropbox.
 641 |                 refresh_token : builtins.str, optional
 642 |                     refresh_token for dropbox.
 643 |                 root : builtins.str, optional
 644 |                     root path for dropbox.
 645 |                 Returns
 646 |                 -------
 647 |                 Operator
 648 |                     The new `Operator` for `dropbox` service
 649 |                 """
 650 |         "#
 651 |     }
 652 | }
 653 | 
 654 | submit! {
 655 |     gen_methods_from_python! {
 656 |         r#"
 657 |         import builtins
 658 |         import typing
 659 |         import typing_extensions
 660 |         import opendal.services
 661 |         class Operator:
 662 |             @overload
 663 |             def __new__(cls,
 664 |                 scheme: typing.Union[opendal.services.Scheme.Fs, typing.Literal["fs"]],
 665 |                 /,
 666 |                 *,
 667 |                 atomic_write_dir: builtins.str = ...,
 668 |                 root: builtins.str = ...,
 669 |             ) -> typing_extensions.Self:
 670 |                 r"""
 671 |                 Create a new `Operator` for `fs` service.
 672 | 
 673 |                 Parameters
 674 |                 ----------
 675 |                 atomic_write_dir : builtins.str, optional
 676 |                     tmp dir for atomic write
 677 |                 root : builtins.str, optional
 678 |                     root dir for backend
 679 |                 Returns
 680 |                 -------
 681 |                 Operator
 682 |                     The new `Operator` for `fs` service
 683 |                 """
 684 |         "#
 685 |     }
 686 | }
 687 | 
 688 | submit! {
 689 |     gen_methods_from_python! {
 690 |         r#"
 691 |         import builtins
 692 |         import typing
 693 |         import typing_extensions
 694 |         import opendal.services
 695 |         class Operator:
 696 |             @overload
 697 |             def __new__(cls,
 698 |                 scheme: typing.Union[opendal.services.Scheme.Ftp, typing.Literal["ftp"]],
 699 |                 /,
 700 |                 *,
 701 |                 endpoint: builtins.str = ...,
 702 |                 password: builtins.str = ...,
 703 |                 root: builtins.str = ...,
 704 |                 user: builtins.str = ...,
 705 |             ) -> typing_extensions.Self:
 706 |                 r"""
 707 |                 Create a new `Operator` for `ftp` service.
 708 | 
 709 |                 Parameters
 710 |                 ----------
 711 |                 endpoint : builtins.str, optional
 712 |                     endpoint of this backend
 713 |                 password : builtins.str, optional
 714 |                     password of this backend
 715 |                 root : builtins.str, optional
 716 |                     root of this backend
 717 |                 user : builtins.str, optional
 718 |                     user of this backend
 719 |                 Returns
 720 |                 -------
 721 |                 Operator
 722 |                     The new `Operator` for `ftp` service
 723 |                 """
 724 |         "#
 725 |     }
 726 | }
 727 | 
 728 | submit! {
 729 |     gen_methods_from_python! {
 730 |         r#"
 731 |         import builtins
 732 |         import typing
 733 |         import typing_extensions
 734 |         import opendal.services
 735 |         class Operator:
 736 |             @overload
 737 |             def __new__(cls,
 738 |                 scheme: typing.Union[opendal.services.Scheme.Gcs, typing.Literal["gcs"]],
 739 |                 /,
 740 |                 *,
 741 |                 allow_anonymous: builtins.bool = ...,
 742 |                 bucket: builtins.str,
 743 |                 credential: builtins.str = ...,
 744 |                 credential_path: builtins.str = ...,
 745 |                 default_storage_class: builtins.str = ...,
 746 |                 disable_config_load: builtins.bool = ...,
 747 |                 disable_vm_metadata: builtins.bool = ...,
 748 |                 endpoint: builtins.str = ...,
 749 |                 predefined_acl: builtins.str = ...,
 750 |                 root: builtins.str = ...,
 751 |                 scope: builtins.str = ...,
 752 |                 service_account: builtins.str = ...,
 753 |                 token: builtins.str = ...,
 754 |             ) -> typing_extensions.Self:
 755 |                 r"""
 756 |                 Create a new `Operator` for `gcs` service.
 757 | 
 758 |                 Parameters
 759 |                 ----------
 760 |                 allow_anonymous : builtins.bool, optional
 761 |                     Allow opendal to send requests without signing when
 762 |                     credentials are not loaded.
 763 |                 bucket : builtins.str
 764 |                     bucket name
 765 |                 credential : builtins.str, optional
 766 |                     Credentials string for GCS service OAuth2
 767 |                     authentication.
 768 |                 credential_path : builtins.str, optional
 769 |                     Local path to credentials file for GCS service
 770 |                     OAuth2 authentication.
 771 |                 default_storage_class : builtins.str, optional
 772 |                     The default storage class used by gcs.
 773 |                 disable_config_load : builtins.bool, optional
 774 |                     Disable loading configuration from the environment.
 775 |                 disable_vm_metadata : builtins.bool, optional
 776 |                     Disable attempting to load credentials from the GCE
 777 |                     metadata server when running within Google Cloud.
 778 |                 endpoint : builtins.str, optional
 779 |                     endpoint URI of GCS service, default is
 780 |                     `https://storage.googleapis.com`
 781 |                 predefined_acl : builtins.str, optional
 782 |                     The predefined acl for GCS.
 783 |                 root : builtins.str, optional
 784 |                     root URI, all operations happens under `root`
 785 |                 scope : builtins.str, optional
 786 |                     Scope for gcs.
 787 |                 service_account : builtins.str, optional
 788 |                     Service Account for gcs.
 789 |                 token : builtins.str, optional
 790 |                     A Google Cloud OAuth2 token.
 791 |                     Takes precedence over `credential` and
 792 |                     `credential_path`.
 793 |                 Returns
 794 |                 -------
 795 |                 Operator
 796 |                     The new `Operator` for `gcs` service
 797 |                 """
 798 |         "#
 799 |     }
 800 | }
 801 | 
 802 | submit! {
 803 |     gen_methods_from_python! {
 804 |         r#"
 805 |         import builtins
 806 |         import typing
 807 |         import typing_extensions
 808 |         import opendal.services
 809 |         class Operator:
 810 |             @overload
 811 |             def __new__(cls,
 812 |                 scheme: typing.Union[opendal.services.Scheme.Gdrive, typing.Literal["gdrive"]],
 813 |                 /,
 814 |                 *,
 815 |                 access_token: builtins.str = ...,
 816 |                 client_id: builtins.str = ...,
 817 |                 client_secret: builtins.str = ...,
 818 |                 refresh_token: builtins.str = ...,
 819 |                 root: builtins.str = ...,
 820 |             ) -> typing_extensions.Self:
 821 |                 r"""
 822 |                 Create a new `Operator` for `gdrive` service.
 823 | 
 824 |                 Parameters
 825 |                 ----------
 826 |                 access_token : builtins.str, optional
 827 |                     Access token for gdrive.
 828 |                 client_id : builtins.str, optional
 829 |                     Client id for gdrive.
 830 |                 client_secret : builtins.str, optional
 831 |                     Client secret for gdrive.
 832 |                 refresh_token : builtins.str, optional
 833 |                     Refresh token for gdrive.
 834 |                 root : builtins.str, optional
 835 |                     The root for gdrive
 836 |                 Returns
 837 |                 -------
 838 |                 Operator
 839 |                     The new `Operator` for `gdrive` service
 840 |                 """
 841 |         "#
 842 |     }
 843 | }
 844 | 
 845 | submit! {
 846 |     gen_methods_from_python! {
 847 |         r#"
 848 |         import builtins
 849 |         import typing
 850 |         import typing_extensions
 851 |         import opendal.services
 852 |         class Operator:
 853 |             @overload
 854 |             def __new__(cls,
 855 |                 scheme: typing.Union[opendal.services.Scheme.Ghac, typing.Literal["ghac"]],
 856 |                 /,
 857 |                 *,
 858 |                 endpoint: builtins.str = ...,
 859 |                 root: builtins.str = ...,
 860 |                 runtime_token: builtins.str = ...,
 861 |                 version: builtins.str = ...,
 862 |             ) -> typing_extensions.Self:
 863 |                 r"""
 864 |                 Create a new `Operator` for `ghac` service.
 865 | 
 866 |                 Parameters
 867 |                 ----------
 868 |                 endpoint : builtins.str, optional
 869 |                     The endpoint for ghac service.
 870 |                 root : builtins.str, optional
 871 |                     The root path for ghac.
 872 |                 runtime_token : builtins.str, optional
 873 |                     The runtime token for ghac service.
 874 |                 version : builtins.str, optional
 875 |                     The version that used by cache.
 876 |                 Returns
 877 |                 -------
 878 |                 Operator
 879 |                     The new `Operator` for `ghac` service
 880 |                 """
 881 |         "#
 882 |     }
 883 | }
 884 | 
 885 | submit! {
 886 |     gen_methods_from_python! {
 887 |         r#"
 888 |         import builtins
 889 |         import typing
 890 |         import typing_extensions
 891 |         import opendal.services
 892 |         class Operator:
 893 |             @overload
 894 |             def __new__(cls,
 895 |                 scheme: typing.Union[opendal.services.Scheme.Gridfs, typing.Literal["gridfs"]],
 896 |                 /,
 897 |                 *,
 898 |                 bucket: builtins.str = ...,
 899 |                 chunk_size: builtins.int = ...,
 900 |                 connection_string: builtins.str = ...,
 901 |                 database: builtins.str = ...,
 902 |                 root: builtins.str = ...,
 903 |             ) -> typing_extensions.Self:
 904 |                 r"""
 905 |                 Create a new `Operator` for `gridfs` service.
 906 | 
 907 |                 Parameters
 908 |                 ----------
 909 |                 bucket : builtins.str, optional
 910 |                     The bucket name of the MongoDB GridFs service to
 911 |                     read/write.
 912 |                 chunk_size : builtins.int, optional
 913 |                     The chunk size of the MongoDB GridFs service used to
 914 |                     break the user file into chunks.
 915 |                 connection_string : builtins.str, optional
 916 |                     The connection string of the MongoDB service.
 917 |                 database : builtins.str, optional
 918 |                     The database name of the MongoDB GridFs service to
 919 |                     read/write.
 920 |                 root : builtins.str, optional
 921 |                     The working directory, all operations will be
 922 |                     performed under it.
 923 |                 Returns
 924 |                 -------
 925 |                 Operator
 926 |                     The new `Operator` for `gridfs` service
 927 |                 """
 928 |         "#
 929 |     }
 930 | }
 931 | 
 932 | submit! {
 933 |     gen_methods_from_python! {
 934 |         r#"
 935 |         import builtins
 936 |         import typing
 937 |         import typing_extensions
 938 |         import opendal.services
 939 |         class Operator:
 940 |             @overload
 941 |             def __new__(cls,
 942 |                 scheme: typing.Union[opendal.services.Scheme.HdfsNative, typing.Literal["hdfs-native"]],
 943 |                 /,
 944 |                 *,
 945 |                 enable_append: builtins.bool = ...,
 946 |                 name_node: builtins.str = ...,
 947 |                 root: builtins.str = ...,
 948 |             ) -> typing_extensions.Self:
 949 |                 r"""
 950 |                 Create a new `Operator` for `hdfs-native` service.
 951 | 
 952 |                 Parameters
 953 |                 ----------
 954 |                 enable_append : builtins.bool, optional
 955 |                     enable the append capacity
 956 |                 name_node : builtins.str, optional
 957 |                     name_node of this backend
 958 |                 root : builtins.str, optional
 959 |                     work dir of this backend
 960 |                 Returns
 961 |                 -------
 962 |                 Operator
 963 |                     The new `Operator` for `hdfs-native` service
 964 |                 """
 965 |         "#
 966 |     }
 967 | }
 968 | 
 969 | submit! {
 970 |     gen_methods_from_python! {
 971 |         r#"
 972 |         import builtins
 973 |         import typing
 974 |         import typing_extensions
 975 |         import opendal.services
 976 |         class Operator:
 977 |             @overload
 978 |             def __new__(cls,
 979 |                 scheme: typing.Union[opendal.services.Scheme.Http, typing.Literal["http"]],
 980 |                 /,
 981 |                 *,
 982 |                 endpoint: builtins.str = ...,
 983 |                 password: builtins.str = ...,
 984 |                 root: builtins.str = ...,
 985 |                 token: builtins.str = ...,
 986 |                 username: builtins.str = ...,
 987 |             ) -> typing_extensions.Self:
 988 |                 r"""
 989 |                 Create a new `Operator` for `http` service.
 990 | 
 991 |                 Parameters
 992 |                 ----------
 993 |                 endpoint : builtins.str, optional
 994 |                     endpoint of this backend
 995 |                 password : builtins.str, optional
 996 |                     password of this backend
 997 |                 root : builtins.str, optional
 998 |                     root of this backend
 999 |                 token : builtins.str, optional
1000 |                     token of this backend
1001 |                 username : builtins.str, optional
1002 |                     username of this backend
1003 |                 Returns
1004 |                 -------
1005 |                 Operator
1006 |                     The new `Operator` for `http` service
1007 |                 """
1008 |         "#
1009 |     }
1010 | }
1011 | 
1012 | submit! {
1013 |     gen_methods_from_python! {
1014 |         r#"
1015 |         import builtins
1016 |         import typing
1017 |         import typing_extensions
1018 |         import opendal.services
1019 |         class Operator:
1020 |             @overload
1021 |             def __new__(cls,
1022 |                 scheme: typing.Union[opendal.services.Scheme.Huggingface, typing.Literal["huggingface"]],
1023 |                 /,
1024 |                 *,
1025 |                 endpoint: builtins.str = ...,
1026 |                 repo_id: builtins.str = ...,
1027 |                 repo_type: builtins.str = ...,
1028 |                 revision: builtins.str = ...,
1029 |                 root: builtins.str = ...,
1030 |                 token: builtins.str = ...,
1031 |             ) -> typing_extensions.Self:
1032 |                 r"""
1033 |                 Create a new `Operator` for `huggingface` service.
1034 | 
1035 |                 Parameters
1036 |                 ----------
1037 |                 endpoint : builtins.str, optional
1038 |                     Endpoint of the Huggingface Hub.
1039 |                     Default is "https://huggingface.co".
1040 |                 repo_id : builtins.str, optional
1041 |                     Repo id of this backend.
1042 |                     This is required.
1043 |                 repo_type : builtins.str, optional
1044 |                     Repo type of this backend.
1045 |                     Default is model.
1046 |                     Available values: - model - dataset - datasets
1047 |                     (alias for dataset)
1048 |                 revision : builtins.str, optional
1049 |                     Revision of this backend.
1050 |                     Default is main.
1051 |                 root : builtins.str, optional
1052 |                     Root of this backend.
1053 |                     Can be "/path/to/dir".
1054 |                     Default is "/".
1055 |                 token : builtins.str, optional
1056 |                     Token of this backend.
1057 |                     This is optional.
1058 |                 Returns
1059 |                 -------
1060 |                 Operator
1061 |                     The new `Operator` for `huggingface` service
1062 |                 """
1063 |         "#
1064 |     }
1065 | }
1066 | 
1067 | submit! {
1068 |     gen_methods_from_python! {
1069 |         r#"
1070 |         import builtins
1071 |         import typing
1072 |         import typing_extensions
1073 |         import opendal.services
1074 |         class Operator:
1075 |             @overload
1076 |             def __new__(cls,
1077 |                 scheme: typing.Union[opendal.services.Scheme.Ipfs, typing.Literal["ipfs"]],
1078 |                 /,
1079 |                 *,
1080 |                 endpoint: builtins.str = ...,
1081 |                 root: builtins.str = ...,
1082 |             ) -> typing_extensions.Self:
1083 |                 r"""
1084 |                 Create a new `Operator` for `ipfs` service.
1085 | 
1086 |                 Parameters
1087 |                 ----------
1088 |                 endpoint : builtins.str, optional
1089 |                     IPFS gateway endpoint.
1090 |                 root : builtins.str, optional
1091 |                     IPFS root.
1092 |                 Returns
1093 |                 -------
1094 |                 Operator
1095 |                     The new `Operator` for `ipfs` service
1096 |                 """
1097 |         "#
1098 |     }
1099 | }
1100 | 
1101 | submit! {
1102 |     gen_methods_from_python! {
1103 |         r#"
1104 |         import builtins
1105 |         import typing
1106 |         import typing_extensions
1107 |         import opendal.services
1108 |         class Operator:
1109 |             @overload
1110 |             def __new__(cls,
1111 |                 scheme: typing.Union[opendal.services.Scheme.Ipmfs, typing.Literal["ipmfs"]],
1112 |                 /,
1113 |                 *,
1114 |                 endpoint: builtins.str = ...,
1115 |                 root: builtins.str = ...,
1116 |             ) -> typing_extensions.Self:
1117 |                 r"""
1118 |                 Create a new `Operator` for `ipmfs` service.
1119 | 
1120 |                 Parameters
1121 |                 ----------
1122 |                 endpoint : builtins.str, optional
1123 |                     Endpoint for ipfs.
1124 |                 root : builtins.str, optional
1125 |                     Root for ipfs.
1126 |                 Returns
1127 |                 -------
1128 |                 Operator
1129 |                     The new `Operator` for `ipmfs` service
1130 |                 """
1131 |         "#
1132 |     }
1133 | }
1134 | 
1135 | submit! {
1136 |     gen_methods_from_python! {
1137 |         r#"
1138 |         import builtins
1139 |         import typing
1140 |         import typing_extensions
1141 |         import opendal.services
1142 |         class Operator:
1143 |             @overload
1144 |             def __new__(cls,
1145 |                 scheme: typing.Union[opendal.services.Scheme.Koofr, typing.Literal["koofr"]],
1146 |                 /,
1147 |                 *,
1148 |                 email: builtins.str,
1149 |                 endpoint: builtins.str,
1150 |                 password: builtins.str = ...,
1151 |                 root: builtins.str = ...,
1152 |             ) -> typing_extensions.Self:
1153 |                 r"""
1154 |                 Create a new `Operator` for `koofr` service.
1155 | 
1156 |                 Parameters
1157 |                 ----------
1158 |                 email : builtins.str
1159 |                     Koofr email.
1160 |                 endpoint : builtins.str
1161 |                     Koofr endpoint.
1162 |                 password : builtins.str, optional
1163 |                     password of this backend.
1164 |                     (Must be the application password)
1165 |                 root : builtins.str, optional
1166 |                     root of this backend.
1167 |                     All operations will happen under this root.
1168 |                 Returns
1169 |                 -------
1170 |                 Operator
1171 |                     The new `Operator` for `koofr` service
1172 |                 """
1173 |         "#
1174 |     }
1175 | }
1176 | 
1177 | submit! {
1178 |     gen_methods_from_python! {
1179 |         r#"
1180 |         import builtins
1181 |         import typing
1182 |         import typing_extensions
1183 |         import opendal.services
1184 |         class Operator:
1185 |             @overload
1186 |             def __new__(cls,
1187 |                 scheme: typing.Union[opendal.services.Scheme.Memcached, typing.Literal["memcached"]],
1188 |                 /,
1189 |                 *,
1190 |                 connection_pool_max_size: builtins.int = ...,
1191 |                 default_ttl: typing.Any = ...,
1192 |                 endpoint: builtins.str = ...,
1193 |                 password: builtins.str = ...,
1194 |                 root: builtins.str = ...,
1195 |                 username: builtins.str = ...,
1196 |             ) -> typing_extensions.Self:
1197 |                 r"""
1198 |                 Create a new `Operator` for `memcached` service.
1199 | 
1200 |                 Parameters
1201 |                 ----------
1202 |                 connection_pool_max_size : builtins.int, optional
1203 |                     The maximum number of connections allowed.
1204 |                     default is 10
1205 |                 default_ttl : typing.Any, optional
1206 |                     The default ttl for put operations..
1207 |                     a human readable duration string see
1208 |                     https://docs.rs/humantime/latest/humantime/fn.parse_duration.html
1209 |                     for more details
1210 |                 endpoint : builtins.str, optional
1211 |                     network address of the memcached service.
1212 |                     For example: "tcp://localhost:11211"
1213 |                 password : builtins.str, optional
1214 |                     Memcached password, optional.
1215 |                 root : builtins.str, optional
1216 |                     the working directory of the service.
1217 |                     Can be "/path/to/dir" default is "/"
1218 |                 username : builtins.str, optional
1219 |                     Memcached username, optional.
1220 |                 Returns
1221 |                 -------
1222 |                 Operator
1223 |                     The new `Operator` for `memcached` service
1224 |                 """
1225 |         "#
1226 |     }
1227 | }
1228 | 
1229 | submit! {
1230 |     gen_methods_from_python! {
1231 |         r#"
1232 |         import builtins
1233 |         import typing
1234 |         import typing_extensions
1235 |         import opendal.services
1236 |         class Operator:
1237 |             @overload
1238 |             def __new__(cls,
1239 |                 scheme: typing.Union[opendal.services.Scheme.Memory, typing.Literal["memory"]],
1240 |                 /,
1241 |                 *,
1242 |                 root: builtins.str = ...,
1243 |             ) -> typing_extensions.Self:
1244 |                 r"""
1245 |                 Create a new `Operator` for `memory` service.
1246 | 
1247 |                 Parameters
1248 |                 ----------
1249 |                 root : builtins.str, optional
1250 |                     root of the backend.
1251 |                 Returns
1252 |                 -------
1253 |                 Operator
1254 |                     The new `Operator` for `memory` service
1255 |                 """
1256 |         "#
1257 |     }
1258 | }
1259 | 
1260 | submit! {
1261 |     gen_methods_from_python! {
1262 |         r#"
1263 |         import builtins
1264 |         import typing
1265 |         import typing_extensions
1266 |         import opendal.services
1267 |         class Operator:
1268 |             @overload
1269 |             def __new__(cls,
1270 |                 scheme: typing.Union[opendal.services.Scheme.MiniMoka, typing.Literal["mini-moka"]],
1271 |                 /,
1272 |                 *,
1273 |                 max_capacity: builtins.int = ...,
1274 |                 root: builtins.str = ...,
1275 |                 time_to_idle: builtins.str = ...,
1276 |                 time_to_live: builtins.str = ...,
1277 |             ) -> typing_extensions.Self:
1278 |                 r"""
1279 |                 Create a new `Operator` for `mini-moka` service.
1280 | 
1281 |                 Parameters
1282 |                 ----------
1283 |                 max_capacity : builtins.int, optional
1284 |                     Sets the max capacity of the cache.
1285 |                     Refer to
1286 |                     [`mini-moka::sync::CacheBuilder::max_capacity`](https://docs.rs/mini-moka/latest/mini_moka/sync/struct.CacheBuilder.html#method.max_capacity)
1287 |                 root : builtins.str, optional
1288 |                     root path of this backend
1289 |                 time_to_idle : builtins.str, optional
1290 |                     Sets the time to idle of the cache.
1291 |                     Refer to
1292 |                     [`mini-moka::sync::CacheBuilder::time_to_idle`](https://docs.rs/mini-moka/latest/mini_moka/sync/struct.CacheBuilder.html#method.time_to_idle)
1293 |                 time_to_live : builtins.str, optional
1294 |                     Sets the time to live of the cache.
1295 |                     Refer to
1296 |                     [`mini-moka::sync::CacheBuilder::time_to_live`](https://docs.rs/mini-moka/latest/mini_moka/sync/struct.CacheBuilder.html#method.time_to_live)
1297 |                 Returns
1298 |                 -------
1299 |                 Operator
1300 |                     The new `Operator` for `mini-moka` service
1301 |                 """
1302 |         "#
1303 |     }
1304 | }
1305 | 
1306 | submit! {
1307 |     gen_methods_from_python! {
1308 |         r#"
1309 |         import builtins
1310 |         import typing
1311 |         import typing_extensions
1312 |         import opendal.services
1313 |         class Operator:
1314 |             @overload
1315 |             def __new__(cls,
1316 |                 scheme: typing.Union[opendal.services.Scheme.Moka, typing.Literal["moka"]],
1317 |                 /,
1318 |                 *,
1319 |                 max_capacity: builtins.int = ...,
1320 |                 name: builtins.str = ...,
1321 |                 root: builtins.str = ...,
1322 |                 time_to_idle: builtins.str = ...,
1323 |                 time_to_live: builtins.str = ...,
1324 |             ) -> typing_extensions.Self:
1325 |                 r"""
1326 |                 Create a new `Operator` for `moka` service.
1327 | 
1328 |                 Parameters
1329 |                 ----------
1330 |                 max_capacity : builtins.int, optional
1331 |                     Sets the max capacity of the cache.
1332 |                     Refer to
1333 |                     [`moka::future::CacheBuilder::max_capacity`](https://docs.rs/moka/latest/moka/future/struct.CacheBuilder.html#method.max_capacity)
1334 |                 name : builtins.str, optional
1335 |                     Name for this cache instance.
1336 |                 root : builtins.str, optional
1337 |                     root path of this backend
1338 |                 time_to_idle : builtins.str, optional
1339 |                     Sets the time to idle of the cache.
1340 |                     Refer to
1341 |                     [`moka::future::CacheBuilder::time_to_idle`](https://docs.rs/moka/latest/moka/future/struct.CacheBuilder.html#method.time_to_idle)
1342 |                 time_to_live : builtins.str, optional
1343 |                     Sets the time to live of the cache.
1344 |                     Refer to
1345 |                     [`moka::future::CacheBuilder::time_to_live`](https://docs.rs/moka/latest/moka/future/struct.CacheBuilder.html#method.time_to_live)
1346 |                 Returns
1347 |                 -------
1348 |                 Operator
1349 |                     The new `Operator` for `moka` service
1350 |                 """
1351 |         "#
1352 |     }
1353 | }
1354 | 
1355 | submit! {
1356 |     gen_methods_from_python! {
1357 |         r#"
1358 |         import builtins
1359 |         import typing
1360 |         import typing_extensions
1361 |         import opendal.services
1362 |         class Operator:
1363 |             @overload
1364 |             def __new__(cls,
1365 |                 scheme: typing.Union[opendal.services.Scheme.Mongodb, typing.Literal["mongodb"]],
1366 |                 /,
1367 |                 *,
1368 |                 collection: builtins.str = ...,
1369 |                 connection_string: builtins.str = ...,
1370 |                 database: builtins.str = ...,
1371 |                 key_field: builtins.str = ...,
1372 |                 root: builtins.str = ...,
1373 |                 value_field: builtins.str = ...,
1374 |             ) -> typing_extensions.Self:
1375 |                 r"""
1376 |                 Create a new `Operator` for `mongodb` service.
1377 | 
1378 |                 Parameters
1379 |                 ----------
1380 |                 collection : builtins.str, optional
1381 |                     collection of this backend
1382 |                 connection_string : builtins.str, optional
1383 |                     connection string of this backend
1384 |                 database : builtins.str, optional
1385 |                     database of this backend
1386 |                 key_field : builtins.str, optional
1387 |                     key field of this backend
1388 |                 root : builtins.str, optional
1389 |                     root of this backend
1390 |                 value_field : builtins.str, optional
1391 |                     value field of this backend
1392 |                 Returns
1393 |                 -------
1394 |                 Operator
1395 |                     The new `Operator` for `mongodb` service
1396 |                 """
1397 |         "#
1398 |     }
1399 | }
1400 | 
1401 | submit! {
1402 |     gen_methods_from_python! {
1403 |         r#"
1404 |         import builtins
1405 |         import typing
1406 |         import typing_extensions
1407 |         import opendal.services
1408 |         class Operator:
1409 |             @overload
1410 |             def __new__(cls,
1411 |                 scheme: typing.Union[opendal.services.Scheme.Mysql, typing.Literal["mysql"]],
1412 |                 /,
1413 |                 *,
1414 |                 connection_string: builtins.str = ...,
1415 |                 key_field: builtins.str = ...,
1416 |                 root: builtins.str = ...,
1417 |                 table: builtins.str = ...,
1418 |                 value_field: builtins.str = ...,
1419 |             ) -> typing_extensions.Self:
1420 |                 r"""
1421 |                 Create a new `Operator` for `mysql` service.
1422 | 
1423 |                 Parameters
1424 |                 ----------
1425 |                 connection_string : builtins.str, optional
1426 |                     This connection string is used to connect to the
1427 |                     mysql service.
1428 |                     There are url based formats.
1429 |                     The format of connect string resembles the url
1430 |                     format of the mysql client.
1431 |                     The format is:
1432 |                     `[scheme://][user[:[password]]@]host[:port][/schema][?attribute1=value1&attribute2=value2...`
1433 |                     - `mysql://user@localhost` -
1434 |                     `mysql://user:password@localhost` -
1435 |                     `mysql://user:password@localhost:3306` -
1436 |                     `mysql://user:password@localhost:3306/db` For more
1437 |                     information, please refer to
1438 |                     <https://docs.rs/sqlx/latest/sqlx/mysql/struct.MySqlConnectOptions.html>.
1439 |                 key_field : builtins.str, optional
1440 |                     The key field name for mysql.
1441 |                 root : builtins.str, optional
1442 |                     The root for mysql.
1443 |                 table : builtins.str, optional
1444 |                     The table name for mysql.
1445 |                 value_field : builtins.str, optional
1446 |                     The value field name for mysql.
1447 |                 Returns
1448 |                 -------
1449 |                 Operator
1450 |                     The new `Operator` for `mysql` service
1451 |                 """
1452 |         "#
1453 |     }
1454 | }
1455 | 
1456 | submit! {
1457 |     gen_methods_from_python! {
1458 |         r#"
1459 |         import builtins
1460 |         import typing
1461 |         import typing_extensions
1462 |         import opendal.services
1463 |         class Operator:
1464 |             @overload
1465 |             def __new__(cls,
1466 |                 scheme: typing.Union[opendal.services.Scheme.Obs, typing.Literal["obs"]],
1467 |                 /,
1468 |                 *,
1469 |                 access_key_id: builtins.str = ...,
1470 |                 bucket: builtins.str = ...,
1471 |                 enable_versioning: builtins.bool = ...,
1472 |                 endpoint: builtins.str = ...,
1473 |                 root: builtins.str = ...,
1474 |                 secret_access_key: builtins.str = ...,
1475 |             ) -> typing_extensions.Self:
1476 |                 r"""
1477 |                 Create a new `Operator` for `obs` service.
1478 | 
1479 |                 Parameters
1480 |                 ----------
1481 |                 access_key_id : builtins.str, optional
1482 |                     Access key id for obs.
1483 |                 bucket : builtins.str, optional
1484 |                     Bucket for obs.
1485 |                 enable_versioning : builtins.bool, optional
1486 |                     Is bucket versioning enabled for this bucket
1487 |                 endpoint : builtins.str, optional
1488 |                     Endpoint for obs.
1489 |                 root : builtins.str, optional
1490 |                     Root for obs.
1491 |                 secret_access_key : builtins.str, optional
1492 |                     Secret access key for obs.
1493 |                 Returns
1494 |                 -------
1495 |                 Operator
1496 |                     The new `Operator` for `obs` service
1497 |                 """
1498 |         "#
1499 |     }
1500 | }
1501 | 
1502 | submit! {
1503 |     gen_methods_from_python! {
1504 |         r#"
1505 |         import builtins
1506 |         import typing
1507 |         import typing_extensions
1508 |         import opendal.services
1509 |         class Operator:
1510 |             @overload
1511 |             def __new__(cls,
1512 |                 scheme: typing.Union[opendal.services.Scheme.Onedrive, typing.Literal["onedrive"]],
1513 |                 /,
1514 |                 *,
1515 |                 access_token: builtins.str = ...,
1516 |                 client_id: builtins.str = ...,
1517 |                 client_secret: builtins.str = ...,
1518 |                 enable_versioning: builtins.bool = ...,
1519 |                 refresh_token: builtins.str = ...,
1520 |                 root: builtins.str = ...,
1521 |             ) -> typing_extensions.Self:
1522 |                 r"""
1523 |                 Create a new `Operator` for `onedrive` service.
1524 | 
1525 |                 Parameters
1526 |                 ----------
1527 |                 access_token : builtins.str, optional
1528 |                     Microsoft Graph API (also OneDrive API) access token
1529 |                 client_id : builtins.str, optional
1530 |                     Microsoft Graph API Application (client) ID that is
1531 |                     in the Azure's app registration portal
1532 |                 client_secret : builtins.str, optional
1533 |                     Microsoft Graph API Application client secret that
1534 |                     is in the Azure's app registration portal
1535 |                 enable_versioning : builtins.bool, optional
1536 |                     Enabling version support
1537 |                 refresh_token : builtins.str, optional
1538 |                     Microsoft Graph API (also OneDrive API) refresh
1539 |                     token
1540 |                 root : builtins.str, optional
1541 |                     The root path for the OneDrive service for the file
1542 |                     access
1543 |                 Returns
1544 |                 -------
1545 |                 Operator
1546 |                     The new `Operator` for `onedrive` service
1547 |                 """
1548 |         "#
1549 |     }
1550 | }
1551 | 
1552 | submit! {
1553 |     gen_methods_from_python! {
1554 |         r#"
1555 |         import builtins
1556 |         import typing
1557 |         import typing_extensions
1558 |         import opendal.services
1559 |         class Operator:
1560 |             @overload
1561 |             def __new__(cls,
1562 |                 scheme: typing.Union[opendal.services.Scheme.Oss, typing.Literal["oss"]],
1563 |                 /,
1564 |                 *,
1565 |                 access_key_id: builtins.str = ...,
1566 |                 access_key_secret: builtins.str = ...,
1567 |                 addressing_style: builtins.str = ...,
1568 |                 allow_anonymous: builtins.bool = ...,
1569 |                 batch_max_operations: builtins.int = ...,
1570 |                 bucket: builtins.str,
1571 |                 delete_max_size: builtins.int = ...,
1572 |                 enable_versioning: builtins.bool = ...,
1573 |                 endpoint: builtins.str = ...,
1574 |                 oidc_provider_arn: builtins.str = ...,
1575 |                 oidc_token_file: builtins.str = ...,
1576 |                 presign_addressing_style: builtins.str = ...,
1577 |                 presign_endpoint: builtins.str = ...,
1578 |                 role_arn: builtins.str = ...,
1579 |                 role_session_name: builtins.str = ...,
1580 |                 root: builtins.str = ...,
1581 |                 security_token: builtins.str = ...,
1582 |                 server_side_encryption: builtins.str = ...,
1583 |                 server_side_encryption_key_id: builtins.str = ...,
1584 |                 sts_endpoint: builtins.str = ...,
1585 |             ) -> typing_extensions.Self:
1586 |                 r"""
1587 |                 Create a new `Operator` for `oss` service.
1588 | 
1589 |                 Parameters
1590 |                 ----------
1591 |                 access_key_id : builtins.str, optional
1592 |                     Access key id for oss.
1593 |                     - this field if it's `is_some` - env value:
1594 |                     [`ALIBABA_CLOUD_ACCESS_KEY_ID`]
1595 |                 access_key_secret : builtins.str, optional
1596 |                     Access key secret for oss.
1597 |                     - this field if it's `is_some` - env value:
1598 |                     [`ALIBABA_CLOUD_ACCESS_KEY_SECRET`]
1599 |                 addressing_style : builtins.str, optional
1600 |                     Addressing style for oss.
1601 |                 allow_anonymous : builtins.bool, optional
1602 |                     Allow anonymous for oss.
1603 |                 batch_max_operations : builtins.int, optional
1604 |                     The size of max batch operations.
1605 |                 bucket : builtins.str
1606 |                     Bucket for oss.
1607 |                 delete_max_size : builtins.int, optional
1608 |                     The size of max delete operations.
1609 |                 enable_versioning : builtins.bool, optional
1610 |                     is bucket versioning enabled for this bucket
1611 |                 endpoint : builtins.str, optional
1612 |                     Endpoint for oss.
1613 |                 oidc_provider_arn : builtins.str, optional
1614 |                     `oidc_provider_arn` will be loaded from - this field
1615 |                     if it's `is_some` - env value:
1616 |                     [`ALIBABA_CLOUD_OIDC_PROVIDER_ARN`]
1617 |                 oidc_token_file : builtins.str, optional
1618 |                     `oidc_token_file` will be loaded from - this field
1619 |                     if it's `is_some` - env value:
1620 |                     [`ALIBABA_CLOUD_OIDC_TOKEN_FILE`]
1621 |                 presign_addressing_style : builtins.str, optional
1622 |                     Pre sign addressing style for oss.
1623 |                 presign_endpoint : builtins.str, optional
1624 |                     Presign endpoint for oss.
1625 |                 role_arn : builtins.str, optional
1626 |                     If `role_arn` is set, we will use already known
1627 |                     config as source credential to assume role with
1628 |                     `role_arn`.
1629 |                     - this field if it's `is_some` - env value:
1630 |                     [`ALIBABA_CLOUD_ROLE_ARN`]
1631 |                 role_session_name : builtins.str, optional
1632 |                     role_session_name for this backend.
1633 |                 root : builtins.str, optional
1634 |                     Root for oss.
1635 |                 security_token : builtins.str, optional
1636 |                     `security_token` will be loaded from - this field if
1637 |                     it's `is_some` - env value:
1638 |                     [`ALIBABA_CLOUD_SECURITY_TOKEN`]
1639 |                 server_side_encryption : builtins.str, optional
1640 |                     Server side encryption for oss.
1641 |                 server_side_encryption_key_id : builtins.str, optional
1642 |                     Server side encryption key id for oss.
1643 |                 sts_endpoint : builtins.str, optional
1644 |                     `sts_endpoint` will be loaded from - this field if
1645 |                     it's `is_some` - env value:
1646 |                     [`ALIBABA_CLOUD_STS_ENDPOINT`]
1647 |                 Returns
1648 |                 -------
1649 |                 Operator
1650 |                     The new `Operator` for `oss` service
1651 |                 """
1652 |         "#
1653 |     }
1654 | }
1655 | 
1656 | submit! {
1657 |     gen_methods_from_python! {
1658 |         r#"
1659 |         import builtins
1660 |         import typing
1661 |         import typing_extensions
1662 |         import opendal.services
1663 |         class Operator:
1664 |             @overload
1665 |             def __new__(cls,
1666 |                 scheme: typing.Union[opendal.services.Scheme.Persy, typing.Literal["persy"]],
1667 |                 /,
1668 |                 *,
1669 |                 datafile: builtins.str = ...,
1670 |                 index: builtins.str = ...,
1671 |                 segment: builtins.str = ...,
1672 |             ) -> typing_extensions.Self:
1673 |                 r"""
1674 |                 Create a new `Operator` for `persy` service.
1675 | 
1676 |                 Parameters
1677 |                 ----------
1678 |                 datafile : builtins.str, optional
1679 |                     That path to the persy data file.
1680 |                     The directory in the path must already exist.
1681 |                 index : builtins.str, optional
1682 |                     That name of the persy index.
1683 |                 segment : builtins.str, optional
1684 |                     That name of the persy segment.
1685 |                 Returns
1686 |                 -------
1687 |                 Operator
1688 |                     The new `Operator` for `persy` service
1689 |                 """
1690 |         "#
1691 |     }
1692 | }
1693 | 
1694 | submit! {
1695 |     gen_methods_from_python! {
1696 |         r#"
1697 |         import builtins
1698 |         import typing
1699 |         import typing_extensions
1700 |         import opendal.services
1701 |         class Operator:
1702 |             @overload
1703 |             def __new__(cls,
1704 |                 scheme: typing.Union[opendal.services.Scheme.Postgresql, typing.Literal["postgresql"]],
1705 |                 /,
1706 |                 *,
1707 |                 connection_string: builtins.str = ...,
1708 |                 key_field: builtins.str = ...,
1709 |                 root: builtins.str = ...,
1710 |                 table: builtins.str = ...,
1711 |                 value_field: builtins.str = ...,
1712 |             ) -> typing_extensions.Self:
1713 |                 r"""
1714 |                 Create a new `Operator` for `postgresql` service.
1715 | 
1716 |                 Parameters
1717 |                 ----------
1718 |                 connection_string : builtins.str, optional
1719 |                     The URL should be with a scheme of either
1720 |                     `postgres://` or `postgresql://`.
1721 |                     - `postgresql://user@localhost` -
1722 |                     `postgresql://user:password@%2Fvar%2Flib%2Fpostgresql/mydb?connect_timeout=10`
1723 |                     -
1724 |                     `postgresql://user@host1:1234,host2,host3:5678?target_session_attrs=read-write`
1725 |                     -
1726 |                     `postgresql:///mydb?user=user&host=/var/lib/postgresql`
1727 |                     For more information, please visit
1728 |                     <https://docs.rs/sqlx/latest/sqlx/postgres/struct.PgConnectOptions.html>.
1729 |                 key_field : builtins.str, optional
1730 |                     the key field of postgresql
1731 |                 root : builtins.str, optional
1732 |                     Root of this backend.
1733 |                     All operations will happen under this root.
1734 |                     Default to `/` if not set.
1735 |                 table : builtins.str, optional
1736 |                     the table of postgresql
1737 |                 value_field : builtins.str, optional
1738 |                     the value field of postgresql
1739 |                 Returns
1740 |                 -------
1741 |                 Operator
1742 |                     The new `Operator` for `postgresql` service
1743 |                 """
1744 |         "#
1745 |     }
1746 | }
1747 | 
1748 | submit! {
1749 |     gen_methods_from_python! {
1750 |         r#"
1751 |         import builtins
1752 |         import typing
1753 |         import typing_extensions
1754 |         import opendal.services
1755 |         class Operator:
1756 |             @overload
1757 |             def __new__(cls,
1758 |                 scheme: typing.Union[opendal.services.Scheme.Redb, typing.Literal["redb"]],
1759 |                 /,
1760 |                 *,
1761 |                 datadir: builtins.str = ...,
1762 |                 root: builtins.str = ...,
1763 |                 table: builtins.str = ...,
1764 |             ) -> typing_extensions.Self:
1765 |                 r"""
1766 |                 Create a new `Operator` for `redb` service.
1767 | 
1768 |                 Parameters
1769 |                 ----------
1770 |                 datadir : builtins.str, optional
1771 |                     path to the redb data directory.
1772 |                 root : builtins.str, optional
1773 |                     The root for redb.
1774 |                 table : builtins.str, optional
1775 |                     The table name for redb.
1776 |                 Returns
1777 |                 -------
1778 |                 Operator
1779 |                     The new `Operator` for `redb` service
1780 |                 """
1781 |         "#
1782 |     }
1783 | }
1784 | 
1785 | submit! {
1786 |     gen_methods_from_python! {
1787 |         r#"
1788 |         import builtins
1789 |         import typing
1790 |         import typing_extensions
1791 |         import opendal.services
1792 |         class Operator:
1793 |             @overload
1794 |             def __new__(cls,
1795 |                 scheme: typing.Union[opendal.services.Scheme.Redis, typing.Literal["redis"]],
1796 |                 /,
1797 |                 *,
1798 |                 cluster_endpoints: builtins.str = ...,
1799 |                 connection_pool_max_size: builtins.int = ...,
1800 |                 db: builtins.int,
1801 |                 default_ttl: typing.Any = ...,
1802 |                 endpoint: builtins.str = ...,
1803 |                 password: builtins.str = ...,
1804 |                 root: builtins.str = ...,
1805 |                 username: builtins.str = ...,
1806 |             ) -> typing_extensions.Self:
1807 |                 r"""
1808 |                 Create a new `Operator` for `redis` service.
1809 | 
1810 |                 Parameters
1811 |                 ----------
1812 |                 cluster_endpoints : builtins.str, optional
1813 |                     network address of the Redis cluster service.
1814 |                     Can be
1815 |                     "tcp://127.0.0.1:6379,tcp://127.0.0.1:6380,tcp://127.0.0.1:6381",
1816 |                     e.g.
1817 |                     default is None
1818 |                 connection_pool_max_size : builtins.int, optional
1819 |                     The maximum number of connections allowed.
1820 |                     default is 10
1821 |                 db : builtins.int
1822 |                     the number of DBs redis can take is unlimited
1823 |                     default is db 0
1824 |                 default_ttl : typing.Any, optional
1825 |                     The default ttl for put operations..
1826 |                     a human readable duration string see
1827 |                     https://docs.rs/humantime/latest/humantime/fn.parse_duration.html
1828 |                     for more details
1829 |                 endpoint : builtins.str, optional
1830 |                     network address of the Redis service.
1831 |                     Can be "tcp://127.0.0.1:6379", e.g.
1832 |                     default is "tcp://127.0.0.1:6379"
1833 |                 password : builtins.str, optional
1834 |                     the password for authentication default is None
1835 |                 root : builtins.str, optional
1836 |                     the working directory of the Redis service.
1837 |                     Can be "/path/to/dir" default is "/"
1838 |                 username : builtins.str, optional
1839 |                     the username to connect redis service.
1840 |                     default is None
1841 |                 Returns
1842 |                 -------
1843 |                 Operator
1844 |                     The new `Operator` for `redis` service
1845 |                 """
1846 |         "#
1847 |     }
1848 | }
1849 | 
1850 | submit! {
1851 |     gen_methods_from_python! {
1852 |         r#"
1853 |         import builtins
1854 |         import typing
1855 |         import typing_extensions
1856 |         import opendal.services
1857 |         class Operator:
1858 |             @overload
1859 |             def __new__(cls,
1860 |                 scheme: typing.Union[opendal.services.Scheme.S3, typing.Literal["s3"]],
1861 |                 /,
1862 |                 *,
1863 |                 access_key_id: builtins.str = ...,
1864 |                 allow_anonymous: builtins.bool = ...,
1865 |                 batch_max_operations: builtins.int = ...,
1866 |                 bucket: builtins.str,
1867 |                 checksum_algorithm: builtins.str = ...,
1868 |                 default_storage_class: builtins.str = ...,
1869 |                 delete_max_size: builtins.int = ...,
1870 |                 disable_config_load: builtins.bool = ...,
1871 |                 disable_ec2_metadata: builtins.bool = ...,
1872 |                 disable_list_objects_v2: builtins.bool = ...,
1873 |                 disable_stat_with_override: builtins.bool = ...,
1874 |                 disable_write_with_if_match: builtins.bool = ...,
1875 |                 enable_request_payer: builtins.bool = ...,
1876 |                 enable_versioning: builtins.bool = ...,
1877 |                 enable_virtual_host_style: builtins.bool = ...,
1878 |                 enable_write_with_append: builtins.bool = ...,
1879 |                 endpoint: builtins.str = ...,
1880 |                 external_id: builtins.str = ...,
1881 |                 region: builtins.str = ...,
1882 |                 role_arn: builtins.str = ...,
1883 |                 role_session_name: builtins.str = ...,
1884 |                 root: builtins.str = ...,
1885 |                 secret_access_key: builtins.str = ...,
1886 |                 server_side_encryption: builtins.str = ...,
1887 |                 server_side_encryption_aws_kms_key_id: builtins.str = ...,
1888 |                 server_side_encryption_customer_algorithm: builtins.str = ...,
1889 |                 server_side_encryption_customer_key: builtins.str = ...,
1890 |                 server_side_encryption_customer_key_md5: builtins.str = ...,
1891 |                 session_token: builtins.str = ...,
1892 |             ) -> typing_extensions.Self:
1893 |                 r"""
1894 |                 Create a new `Operator` for `s3` service.
1895 | 
1896 |                 Parameters
1897 |                 ----------
1898 |                 access_key_id : builtins.str, optional
1899 |                     access_key_id of this backend.
1900 |                     - If access_key_id is set, we will take user's input
1901 |                     first.
1902 |                     - If not, we will try to load it from environment.
1903 |                 allow_anonymous : builtins.bool, optional
1904 |                     Allow anonymous will allow opendal to send request
1905 |                     without signing when credential is not loaded.
1906 |                 batch_max_operations : builtins.int, optional
1907 |                     Set maximum batch operations of this backend.
1908 |                     Some compatible services have a limit on the number
1909 |                     of operations in a batch request.
1910 |                     For example, R2 could return `Internal Error` while
1911 |                     batch delete 1000 files.
1912 |                     Please tune this value based on services' document.
1913 |                 bucket : builtins.str
1914 |                     bucket name of this backend.
1915 |                     required.
1916 |                 checksum_algorithm : builtins.str, optional
1917 |                     Checksum Algorithm to use when sending checksums in
1918 |                     HTTP headers.
1919 |                     This is necessary when writing to AWS S3 Buckets
1920 |                     with Object Lock enabled for example.
1921 |                     Available options: - "crc32c" - "md5"
1922 |                 default_storage_class : builtins.str, optional
1923 |                     default storage_class for this backend.
1924 |                     Available values: - `DEEP_ARCHIVE` - `GLACIER` -
1925 |                     `GLACIER_IR` - `INTELLIGENT_TIERING` - `ONEZONE_IA`
1926 |                     - `EXPRESS_ONEZONE` - `OUTPOSTS` -
1927 |                     `REDUCED_REDUNDANCY` - `STANDARD` - `STANDARD_IA` S3
1928 |                     compatible services don't support all of them
1929 |                 delete_max_size : builtins.int, optional
1930 |                     Set the maximum delete size of this backend.
1931 |                     Some compatible services have a limit on the number
1932 |                     of operations in a batch request.
1933 |                     For example, R2 could return `Internal Error` while
1934 |                     batch delete 1000 files.
1935 |                     Please tune this value based on services' document.
1936 |                 disable_config_load : builtins.bool, optional
1937 |                     Disable config load so that opendal will not load
1938 |                     config from environment.
1939 |                     For examples: - envs like `AWS_ACCESS_KEY_ID` -
1940 |                     files like `~/.aws/config`
1941 |                 disable_ec2_metadata : builtins.bool, optional
1942 |                     Disable load credential from ec2 metadata.
1943 |                     This option is used to disable the default behavior
1944 |                     of opendal to load credential from ec2 metadata,
1945 |                     a.k.a., IMDSv2
1946 |                 disable_list_objects_v2 : builtins.bool, optional
1947 |                     OpenDAL uses List Objects V2 by default to list
1948 |                     objects.
1949 |                     However, some legacy services do not yet support V2.
1950 |                     This option allows users to switch back to the older
1951 |                     List Objects V1.
1952 |                 disable_stat_with_override : builtins.bool, optional
1953 |                     Disable stat with override so that opendal will not
1954 |                     send stat request with override queries.
1955 |                     For example, R2 doesn't support stat with
1956 |                     `response_content_type` query.
1957 |                 disable_write_with_if_match : builtins.bool, optional
1958 |                     Disable write with if match so that opendal will not
1959 |                     send write request with if match headers.
1960 |                     For example, Ceph RADOS S3 doesn't support write
1961 |                     with if matched.
1962 |                 enable_request_payer : builtins.bool, optional
1963 |                     Indicates whether the client agrees to pay for the
1964 |                     requests made to the S3 bucket.
1965 |                 enable_versioning : builtins.bool, optional
1966 |                     is bucket versioning enabled for this bucket
1967 |                 enable_virtual_host_style : builtins.bool, optional
1968 |                     Enable virtual host style so that opendal will send
1969 |                     API requests in virtual host style instead of path
1970 |                     style.
1971 |                     - By default, opendal will send API to
1972 |                     `https://s3.us-east-1.amazonaws.com/bucket_name` -
1973 |                     Enabled, opendal will send API to
1974 |                     `https://bucket_name.s3.us-east-1.amazonaws.com`
1975 |                 enable_write_with_append : builtins.bool, optional
1976 |                     Enable write with append so that opendal will send
1977 |                     write request with append headers.
1978 |                 endpoint : builtins.str, optional
1979 |                     endpoint of this backend.
1980 |                     Endpoint must be full uri, e.g.
1981 |                     - AWS S3: `https://s3.amazonaws.com` or
1982 |                     `https://s3.{region}.amazonaws.com` - Cloudflare R2:
1983 |                     `https://<ACCOUNT_ID>.r2.cloudflarestorage.com` -
1984 |                     Aliyun OSS: `https://{region}.aliyuncs.com` -
1985 |                     Tencent COS: `https://cos.{region}.myqcloud.com` -
1986 |                     Minio: `http://127.0.0.1:9000` If user inputs
1987 |                     endpoint without scheme like "s3.amazonaws.com", we
1988 |                     will prepend "https://" before it.
1989 |                     - If endpoint is set, we will take user's input
1990 |                     first.
1991 |                     - If not, we will try to load it from environment.
1992 |                     - If still not set, default to
1993 |                     `https://s3.amazonaws.com`.
1994 |                 external_id : builtins.str, optional
1995 |                     external_id for this backend.
1996 |                 region : builtins.str, optional
1997 |                     Region represent the signing region of this
1998 |                     endpoint.
1999 |                     This is required if you are using the default AWS S3
2000 |                     endpoint.
2001 |                     If using a custom endpoint, - If region is set, we
2002 |                     will take user's input first.
2003 |                     - If not, we will try to load it from environment.
2004 |                 role_arn : builtins.str, optional
2005 |                     role_arn for this backend.
2006 |                     If `role_arn` is set, we will use already known
2007 |                     config as source credential to assume role with
2008 |                     `role_arn`.
2009 |                 role_session_name : builtins.str, optional
2010 |                     role_session_name for this backend.
2011 |                 root : builtins.str, optional
2012 |                     root of this backend.
2013 |                     All operations will happen under this root.
2014 |                     default to `/` if not set.
2015 |                 secret_access_key : builtins.str, optional
2016 |                     secret_access_key of this backend.
2017 |                     - If secret_access_key is set, we will take user's
2018 |                     input first.
2019 |                     - If not, we will try to load it from environment.
2020 |                 server_side_encryption : builtins.str, optional
2021 |                     server_side_encryption for this backend.
2022 |                     Available values: `AES256`, `aws:kms`.
2023 |                 server_side_encryption_aws_kms_key_id : builtins.str, optional
2024 |                     server_side_encryption_aws_kms_key_id for this
2025 |                     backend - If `server_side_encryption` set to
2026 |                     `aws:kms`, and
2027 |                     `server_side_encryption_aws_kms_key_id` is not set,
2028 |                     S3 will use aws managed kms key to encrypt data.
2029 |                     - If `server_side_encryption` set to `aws:kms`, and
2030 |                     `server_side_encryption_aws_kms_key_id` is a valid
2031 |                     kms key id, S3 will use the provided kms key to
2032 |                     encrypt data.
2033 |                     - If the `server_side_encryption_aws_kms_key_id` is
2034 |                     invalid or not found, an error will be returned.
2035 |                     - If `server_side_encryption` is not `aws:kms`,
2036 |                     setting `server_side_encryption_aws_kms_key_id` is a
2037 |                     noop.
2038 |                 server_side_encryption_customer_algorithm : builtins.str, optional
2039 |                     server_side_encryption_customer_algorithm for this
2040 |                     backend.
2041 |                     Available values: `AES256`.
2042 |                 server_side_encryption_customer_key : builtins.str, optional
2043 |                     server_side_encryption_customer_key for this
2044 |                     backend.
2045 |                     Value: BASE64-encoded key that matches algorithm
2046 |                     specified in
2047 |                     `server_side_encryption_customer_algorithm`.
2048 |                 server_side_encryption_customer_key_md5 : builtins.str, optional
2049 |                     Set server_side_encryption_customer_key_md5 for this
2050 |                     backend.
2051 |                     Value: MD5 digest of key specified in
2052 |                     `server_side_encryption_customer_key`.
2053 |                 session_token : builtins.str, optional
2054 |                     session_token (aka, security token) of this backend.
2055 |                     This token will expire after sometime, it's
2056 |                     recommended to set session_token by hand.
2057 |                 Returns
2058 |                 -------
2059 |                 Operator
2060 |                     The new `Operator` for `s3` service
2061 |                 """
2062 |         "#
2063 |     }
2064 | }
2065 | 
2066 | submit! {
2067 |     gen_methods_from_python! {
2068 |         r#"
2069 |         import builtins
2070 |         import typing
2071 |         import typing_extensions
2072 |         import opendal.services
2073 |         class Operator:
2074 |             @overload
2075 |             def __new__(cls,
2076 |                 scheme: typing.Union[opendal.services.Scheme.Seafile, typing.Literal["seafile"]],
2077 |                 /,
2078 |                 *,
2079 |                 endpoint: builtins.str = ...,
2080 |                 password: builtins.str = ...,
2081 |                 repo_name: builtins.str,
2082 |                 root: builtins.str = ...,
2083 |                 username: builtins.str = ...,
2084 |             ) -> typing_extensions.Self:
2085 |                 r"""
2086 |                 Create a new `Operator` for `seafile` service.
2087 | 
2088 |                 Parameters
2089 |                 ----------
2090 |                 endpoint : builtins.str, optional
2091 |                     endpoint address of this backend.
2092 |                 password : builtins.str, optional
2093 |                     password of this backend.
2094 |                 repo_name : builtins.str
2095 |                     repo_name of this backend.
2096 |                     required.
2097 |                 root : builtins.str, optional
2098 |                     root of this backend.
2099 |                     All operations will happen under this root.
2100 |                 username : builtins.str, optional
2101 |                     username of this backend.
2102 |                 Returns
2103 |                 -------
2104 |                 Operator
2105 |                     The new `Operator` for `seafile` service
2106 |                 """
2107 |         "#
2108 |     }
2109 | }
2110 | 
2111 | submit! {
2112 |     gen_methods_from_python! {
2113 |         r#"
2114 |         import builtins
2115 |         import typing
2116 |         import typing_extensions
2117 |         import opendal.services
2118 |         class Operator:
2119 |             @overload
2120 |             def __new__(cls,
2121 |                 scheme: typing.Union[opendal.services.Scheme.Sftp, typing.Literal["sftp"]],
2122 |                 /,
2123 |                 *,
2124 |                 enable_copy: builtins.bool = ...,
2125 |                 endpoint: builtins.str = ...,
2126 |                 key: builtins.str = ...,
2127 |                 known_hosts_strategy: builtins.str = ...,
2128 |                 root: builtins.str = ...,
2129 |                 user: builtins.str = ...,
2130 |             ) -> typing_extensions.Self:
2131 |                 r"""
2132 |                 Create a new `Operator` for `sftp` service.
2133 | 
2134 |                 Parameters
2135 |                 ----------
2136 |                 enable_copy : builtins.bool, optional
2137 |                     enable_copy of this backend
2138 |                 endpoint : builtins.str, optional
2139 |                     endpoint of this backend
2140 |                 key : builtins.str, optional
2141 |                     key of this backend
2142 |                 known_hosts_strategy : builtins.str, optional
2143 |                     known_hosts_strategy of this backend
2144 |                 root : builtins.str, optional
2145 |                     root of this backend
2146 |                 user : builtins.str, optional
2147 |                     user of this backend
2148 |                 Returns
2149 |                 -------
2150 |                 Operator
2151 |                     The new `Operator` for `sftp` service
2152 |                 """
2153 |         "#
2154 |     }
2155 | }
2156 | 
2157 | submit! {
2158 |     gen_methods_from_python! {
2159 |         r#"
2160 |         import builtins
2161 |         import typing
2162 |         import typing_extensions
2163 |         import opendal.services
2164 |         class Operator:
2165 |             @overload
2166 |             def __new__(cls,
2167 |                 scheme: typing.Union[opendal.services.Scheme.Sled, typing.Literal["sled"]],
2168 |                 /,
2169 |                 *,
2170 |                 datadir: builtins.str = ...,
2171 |                 root: builtins.str = ...,
2172 |                 tree: builtins.str = ...,
2173 |             ) -> typing_extensions.Self:
2174 |                 r"""
2175 |                 Create a new `Operator` for `sled` service.
2176 | 
2177 |                 Parameters
2178 |                 ----------
2179 |                 datadir : builtins.str, optional
2180 |                     That path to the sled data directory.
2181 |                 root : builtins.str, optional
2182 |                     The root for sled.
2183 |                 tree : builtins.str, optional
2184 |                     The tree for sled.
2185 |                 Returns
2186 |                 -------
2187 |                 Operator
2188 |                     The new `Operator` for `sled` service
2189 |                 """
2190 |         "#
2191 |     }
2192 | }
2193 | 
2194 | submit! {
2195 |     gen_methods_from_python! {
2196 |         r#"
2197 |         import builtins
2198 |         import typing
2199 |         import typing_extensions
2200 |         import opendal.services
2201 |         class Operator:
2202 |             @overload
2203 |             def __new__(cls,
2204 |                 scheme: typing.Union[opendal.services.Scheme.Sqlite, typing.Literal["sqlite"]],
2205 |                 /,
2206 |                 *,
2207 |                 connection_string: builtins.str = ...,
2208 |                 key_field: builtins.str = ...,
2209 |                 root: builtins.str = ...,
2210 |                 table: builtins.str = ...,
2211 |                 value_field: builtins.str = ...,
2212 |             ) -> typing_extensions.Self:
2213 |                 r"""
2214 |                 Create a new `Operator` for `sqlite` service.
2215 | 
2216 |                 Parameters
2217 |                 ----------
2218 |                 connection_string : builtins.str, optional
2219 |                     Set the connection_string of the sqlite service.
2220 |                     This connection string is used to connect to the
2221 |                     sqlite service.
2222 |                     The format of connect string resembles the url
2223 |                     format of the sqlite client: - `sqlite::memory:` -
2224 |                     `sqlite:data.db` - `sqlite://data.db` For more
2225 |                     information, please visit
2226 |                     <https://docs.rs/sqlx/latest/sqlx/sqlite/struct.SqliteConnectOptions.html>.
2227 |                 key_field : builtins.str, optional
2228 |                     Set the key field name of the sqlite service to
2229 |                     read/write.
2230 |                     Default to `key` if not specified.
2231 |                 root : builtins.str, optional
2232 |                     set the working directory, all operations will be
2233 |                     performed under it.
2234 |                     default: "/"
2235 |                 table : builtins.str, optional
2236 |                     Set the table name of the sqlite service to
2237 |                     read/write.
2238 |                 value_field : builtins.str, optional
2239 |                     Set the value field name of the sqlite service to
2240 |                     read/write.
2241 |                     Default to `value` if not specified.
2242 |                 Returns
2243 |                 -------
2244 |                 Operator
2245 |                     The new `Operator` for `sqlite` service
2246 |                 """
2247 |         "#
2248 |     }
2249 | }
2250 | 
2251 | submit! {
2252 |     gen_methods_from_python! {
2253 |         r#"
2254 |         import builtins
2255 |         import typing
2256 |         import typing_extensions
2257 |         import opendal.services
2258 |         class Operator:
2259 |             @overload
2260 |             def __new__(cls,
2261 |                 scheme: typing.Union[opendal.services.Scheme.Swift, typing.Literal["swift"]],
2262 |                 /,
2263 |                 *,
2264 |                 container: builtins.str = ...,
2265 |                 endpoint: builtins.str = ...,
2266 |                 root: builtins.str = ...,
2267 |                 token: builtins.str = ...,
2268 |             ) -> typing_extensions.Self:
2269 |                 r"""
2270 |                 Create a new `Operator` for `swift` service.
2271 | 
2272 |                 Parameters
2273 |                 ----------
2274 |                 container : builtins.str, optional
2275 |                     The container for Swift.
2276 |                 endpoint : builtins.str, optional
2277 |                     The endpoint for Swift.
2278 |                 root : builtins.str, optional
2279 |                     The root for Swift.
2280 |                 token : builtins.str, optional
2281 |                     The token for Swift.
2282 |                 Returns
2283 |                 -------
2284 |                 Operator
2285 |                     The new `Operator` for `swift` service
2286 |                 """
2287 |         "#
2288 |     }
2289 | }
2290 | 
2291 | submit! {
2292 |     gen_methods_from_python! {
2293 |         r#"
2294 |         import builtins
2295 |         import typing
2296 |         import typing_extensions
2297 |         import opendal.services
2298 |         class Operator:
2299 |             @overload
2300 |             def __new__(cls,
2301 |                 scheme: typing.Union[opendal.services.Scheme.Upyun, typing.Literal["upyun"]],
2302 |                 /,
2303 |                 *,
2304 |                 bucket: builtins.str,
2305 |                 operator: builtins.str = ...,
2306 |                 password: builtins.str = ...,
2307 |                 root: builtins.str = ...,
2308 |             ) -> typing_extensions.Self:
2309 |                 r"""
2310 |                 Create a new `Operator` for `upyun` service.
2311 | 
2312 |                 Parameters
2313 |                 ----------
2314 |                 bucket : builtins.str
2315 |                     bucket address of this backend.
2316 |                 operator : builtins.str, optional
2317 |                     username of this backend.
2318 |                 password : builtins.str, optional
2319 |                     password of this backend.
2320 |                 root : builtins.str, optional
2321 |                     root of this backend.
2322 |                     All operations will happen under this root.
2323 |                 Returns
2324 |                 -------
2325 |                 Operator
2326 |                     The new `Operator` for `upyun` service
2327 |                 """
2328 |         "#
2329 |     }
2330 | }
2331 | 
2332 | submit! {
2333 |     gen_methods_from_python! {
2334 |         r#"
2335 |         import builtins
2336 |         import typing
2337 |         import typing_extensions
2338 |         import opendal.services
2339 |         class Operator:
2340 |             @overload
2341 |             def __new__(cls,
2342 |                 scheme: typing.Union[opendal.services.Scheme.VercelArtifacts, typing.Literal["vercel-artifacts"]],
2343 |                 /,
2344 |                 *,
2345 |                 access_token: builtins.str = ...,
2346 |             ) -> typing_extensions.Self:
2347 |                 r"""
2348 |                 Create a new `Operator` for `vercel-artifacts` service.
2349 | 
2350 |                 Parameters
2351 |                 ----------
2352 |                 access_token : builtins.str, optional
2353 |                     The access token for Vercel.
2354 |                 Returns
2355 |                 -------
2356 |                 Operator
2357 |                     The new `Operator` for `vercel-artifacts` service
2358 |                 """
2359 |         "#
2360 |     }
2361 | }
2362 | 
2363 | submit! {
2364 |     gen_methods_from_python! {
2365 |         r#"
2366 |         import builtins
2367 |         import typing
2368 |         import typing_extensions
2369 |         import opendal.services
2370 |         class Operator:
2371 |             @overload
2372 |             def __new__(cls,
2373 |                 scheme: typing.Union[opendal.services.Scheme.Webdav, typing.Literal["webdav"]],
2374 |                 /,
2375 |                 *,
2376 |                 disable_copy: builtins.bool = ...,
2377 |                 endpoint: builtins.str = ...,
2378 |                 password: builtins.str = ...,
2379 |                 root: builtins.str = ...,
2380 |                 token: builtins.str = ...,
2381 |                 username: builtins.str = ...,
2382 |             ) -> typing_extensions.Self:
2383 |                 r"""
2384 |                 Create a new `Operator` for `webdav` service.
2385 | 
2386 |                 Parameters
2387 |                 ----------
2388 |                 disable_copy : builtins.bool, optional
2389 |                     WebDAV Service doesn't support copy.
2390 |                 endpoint : builtins.str, optional
2391 |                     endpoint of this backend
2392 |                 password : builtins.str, optional
2393 |                     password of this backend
2394 |                 root : builtins.str, optional
2395 |                     root of this backend
2396 |                 token : builtins.str, optional
2397 |                     token of this backend
2398 |                 username : builtins.str, optional
2399 |                     username of this backend
2400 |                 Returns
2401 |                 -------
2402 |                 Operator
2403 |                     The new `Operator` for `webdav` service
2404 |                 """
2405 |         "#
2406 |     }
2407 | }
2408 | 
2409 | submit! {
2410 |     gen_methods_from_python! {
2411 |         r#"
2412 |         import builtins
2413 |         import typing
2414 |         import typing_extensions
2415 |         import opendal.services
2416 |         class Operator:
2417 |             @overload
2418 |             def __new__(cls,
2419 |                 scheme: typing.Union[opendal.services.Scheme.Webhdfs, typing.Literal["webhdfs"]],
2420 |                 /,
2421 |                 *,
2422 |                 atomic_write_dir: builtins.str = ...,
2423 |                 delegation: builtins.str = ...,
2424 |                 disable_list_batch: builtins.bool = ...,
2425 |                 endpoint: builtins.str = ...,
2426 |                 root: builtins.str = ...,
2427 |                 user_name: builtins.str = ...,
2428 |             ) -> typing_extensions.Self:
2429 |                 r"""
2430 |                 Create a new `Operator` for `webhdfs` service.
2431 | 
2432 |                 Parameters
2433 |                 ----------
2434 |                 atomic_write_dir : builtins.str, optional
2435 |                     atomic_write_dir of this backend
2436 |                 delegation : builtins.str, optional
2437 |                     Delegation token for webhdfs.
2438 |                 disable_list_batch : builtins.bool, optional
2439 |                     Disable batch listing
2440 |                 endpoint : builtins.str, optional
2441 |                     Endpoint for webhdfs.
2442 |                 root : builtins.str, optional
2443 |                     Root for webhdfs.
2444 |                 user_name : builtins.str, optional
2445 |                     Name of the user for webhdfs.
2446 |                 Returns
2447 |                 -------
2448 |                 Operator
2449 |                     The new `Operator` for `webhdfs` service
2450 |                 """
2451 |         "#
2452 |     }
2453 | }
2454 | 
2455 | submit! {
2456 |     gen_methods_from_python! {
2457 |         r#"
2458 |         import builtins
2459 |         import typing
2460 |         import typing_extensions
2461 |         import opendal.services
2462 |         class Operator:
2463 |             @overload
2464 |             def __new__(cls,
2465 |                 scheme: typing.Union[opendal.services.Scheme.YandexDisk, typing.Literal["yandex-disk"]],
2466 |                 /,
2467 |                 *,
2468 |                 access_token: builtins.str,
2469 |                 root: builtins.str = ...,
2470 |             ) -> typing_extensions.Self:
2471 |                 r"""
2472 |                 Create a new `Operator` for `yandex-disk` service.
2473 | 
2474 |                 Parameters
2475 |                 ----------
2476 |                 access_token : builtins.str
2477 |                     yandex disk oauth access_token.
2478 |                 root : builtins.str, optional
2479 |                     root of this backend.
2480 |                     All operations will happen under this root.
2481 |                 Returns
2482 |                 -------
2483 |                 Operator
2484 |                     The new `Operator` for `yandex-disk` service
2485 |                 """
2486 |         "#
2487 |     }
2488 | }
2489 | 
2490 | submit! {
2491 |     gen_methods_from_python! {
2492 |         r#"
2493 |         import builtins
2494 |         import typing
2495 |         import typing_extensions
2496 |         class AsyncOperator:
2497 |             @overload
2498 |             def __new__(cls,
2499 |                 scheme: builtins.str,
2500 |                 /,
2501 |                 **kwargs: builtins.str,
2502 |             ) -> typing_extensions.Self: ...
2503 |         "#
2504 |     }
2505 | }
2506 | 
2507 | submit! {
2508 |     gen_methods_from_python! {
2509 |         r#"
2510 |         import builtins
2511 |         import typing
2512 |         import typing_extensions
2513 |         import opendal.services
2514 |         class AsyncOperator:
2515 |             @overload
2516 |             def __new__(cls,
2517 |                 scheme: typing.Union[opendal.services.Scheme.AliyunDrive, typing.Literal["aliyun-drive"]],
2518 |                 /,
2519 |                 *,
2520 |                 access_token: builtins.str = ...,
2521 |                 client_id: builtins.str = ...,
2522 |                 client_secret: builtins.str = ...,
2523 |                 drive_type: builtins.str,
2524 |                 refresh_token: builtins.str = ...,
2525 |                 root: builtins.str = ...,
2526 |             ) -> typing_extensions.Self:
2527 |                 r"""
2528 |                 Create a new `AsyncOperator` for `aliyun-drive` service.
2529 | 
2530 |                 Parameters
2531 |                 ----------
2532 |                 access_token : builtins.str, optional
2533 |                     The access_token of this backend.
2534 |                     Solution for client-only purpose.
2535 |                     #4733 Required if no client_id, client_secret and
2536 |                     refresh_token are provided.
2537 |                 client_id : builtins.str, optional
2538 |                     The client_id of this backend.
2539 |                     Required if no access_token is provided.
2540 |                 client_secret : builtins.str, optional
2541 |                     The client_secret of this backend.
2542 |                     Required if no access_token is provided.
2543 |                 drive_type : builtins.str
2544 |                     The drive_type of this backend.
2545 |                     All operations will happen under this type of drive.
2546 |                     Available values are `default`, `backup` and
2547 |                     `resource`.
2548 |                     Fallback to default if not set or no other drives
2549 |                     can be found.
2550 |                 refresh_token : builtins.str, optional
2551 |                     The refresh_token of this backend.
2552 |                     Required if no access_token is provided.
2553 |                 root : builtins.str, optional
2554 |                     The Root of this backend.
2555 |                     All operations will happen under this root.
2556 |                     Default to `/` if not set.
2557 |                 Returns
2558 |                 -------
2559 |                 AsyncOperator
2560 |                     The new `AsyncOperator` for `aliyun-drive` service
2561 |                 """
2562 |         "#
2563 |     }
2564 | }
2565 | 
2566 | submit! {
2567 |     gen_methods_from_python! {
2568 |         r#"
2569 |         import builtins
2570 |         import typing
2571 |         import typing_extensions
2572 |         import opendal.services
2573 |         class AsyncOperator:
2574 |             @overload
2575 |             def __new__(cls,
2576 |                 scheme: typing.Union[opendal.services.Scheme.Alluxio, typing.Literal["alluxio"]],
2577 |                 /,
2578 |                 *,
2579 |                 endpoint: builtins.str = ...,
2580 |                 root: builtins.str = ...,
2581 |             ) -> typing_extensions.Self:
2582 |                 r"""
2583 |                 Create a new `AsyncOperator` for `alluxio` service.
2584 | 
2585 |                 Parameters
2586 |                 ----------
2587 |                 endpoint : builtins.str, optional
2588 |                     endpoint of this backend.
2589 |                     Endpoint must be full uri, mostly like
2590 |                     `http://127.0.0.1:39999`.
2591 |                 root : builtins.str, optional
2592 |                     root of this backend.
2593 |                     All operations will happen under this root.
2594 |                     default to `/` if not set.
2595 |                 Returns
2596 |                 -------
2597 |                 AsyncOperator
2598 |                     The new `AsyncOperator` for `alluxio` service
2599 |                 """
2600 |         "#
2601 |     }
2602 | }
2603 | 
2604 | submit! {
2605 |     gen_methods_from_python! {
2606 |         r#"
2607 |         import builtins
2608 |         import typing
2609 |         import typing_extensions
2610 |         import opendal.services
2611 |         class AsyncOperator:
2612 |             @overload
2613 |             def __new__(cls,
2614 |                 scheme: typing.Union[opendal.services.Scheme.Azblob, typing.Literal["azblob"]],
2615 |                 /,
2616 |                 *,
2617 |                 account_key: builtins.str = ...,
2618 |                 account_name: builtins.str = ...,
2619 |                 batch_max_operations: builtins.int = ...,
2620 |                 container: builtins.str,
2621 |                 encryption_algorithm: builtins.str = ...,
2622 |                 encryption_key: builtins.str = ...,
2623 |                 encryption_key_sha256: builtins.str = ...,
2624 |                 endpoint: builtins.str = ...,
2625 |                 root: builtins.str = ...,
2626 |                 sas_token: builtins.str = ...,
2627 |             ) -> typing_extensions.Self:
2628 |                 r"""
2629 |                 Create a new `AsyncOperator` for `azblob` service.
2630 | 
2631 |                 Parameters
2632 |                 ----------
2633 |                 account_key : builtins.str, optional
2634 |                     The account key of Azblob service backend.
2635 |                 account_name : builtins.str, optional
2636 |                     The account name of Azblob service backend.
2637 |                 batch_max_operations : builtins.int, optional
2638 |                     The maximum batch operations of Azblob service
2639 |                     backend.
2640 |                 container : builtins.str
2641 |                     The container name of Azblob service backend.
2642 |                 encryption_algorithm : builtins.str, optional
2643 |                     The encryption algorithm of Azblob service backend.
2644 |                 encryption_key : builtins.str, optional
2645 |                     The encryption key of Azblob service backend.
2646 |                 encryption_key_sha256 : builtins.str, optional
2647 |                     The encryption key sha256 of Azblob service backend.
2648 |                 endpoint : builtins.str, optional
2649 |                     The endpoint of Azblob service backend.
2650 |                     Endpoint must be full uri, e.g.
2651 |                     - Azblob:
2652 |                     `https://accountname.blob.core.windows.net` -
2653 |                     Azurite: `http://127.0.0.1:10000/devstoreaccount1`
2654 |                 root : builtins.str, optional
2655 |                     The root of Azblob service backend.
2656 |                     All operations will happen under this root.
2657 |                 sas_token : builtins.str, optional
2658 |                     The sas token of Azblob service backend.
2659 |                 Returns
2660 |                 -------
2661 |                 AsyncOperator
2662 |                     The new `AsyncOperator` for `azblob` service
2663 |                 """
2664 |         "#
2665 |     }
2666 | }
2667 | 
2668 | submit! {
2669 |     gen_methods_from_python! {
2670 |         r#"
2671 |         import builtins
2672 |         import typing
2673 |         import typing_extensions
2674 |         import opendal.services
2675 |         class AsyncOperator:
2676 |             @overload
2677 |             def __new__(cls,
2678 |                 scheme: typing.Union[opendal.services.Scheme.Azdls, typing.Literal["azdls"]],
2679 |                 /,
2680 |                 *,
2681 |                 account_key: builtins.str = ...,
2682 |                 account_name: builtins.str = ...,
2683 |                 authority_host: builtins.str = ...,
2684 |                 client_id: builtins.str = ...,
2685 |                 client_secret: builtins.str = ...,
2686 |                 endpoint: builtins.str = ...,
2687 |                 filesystem: builtins.str,
2688 |                 root: builtins.str = ...,
2689 |                 sas_token: builtins.str = ...,
2690 |                 tenant_id: builtins.str = ...,
2691 |             ) -> typing_extensions.Self:
2692 |                 r"""
2693 |                 Create a new `AsyncOperator` for `azdls` service.
2694 | 
2695 |                 Parameters
2696 |                 ----------
2697 |                 account_key : builtins.str, optional
2698 |                     Account key of this backend.
2699 |                     - required for shared_key authentication
2700 |                 account_name : builtins.str, optional
2701 |                     Account name of this backend.
2702 |                 authority_host : builtins.str, optional
2703 |                     authority_host The authority host of the service
2704 |                     principal.
2705 |                     - required for client_credentials authentication -
2706 |                     default value: `https://login.microsoftonline.com`
2707 |                 client_id : builtins.str, optional
2708 |                     client_id The client id of the service principal.
2709 |                     - required for client_credentials authentication
2710 |                 client_secret : builtins.str, optional
2711 |                     client_secret The client secret of the service
2712 |                     principal.
2713 |                     - required for client_credentials authentication
2714 |                 endpoint : builtins.str, optional
2715 |                     Endpoint of this backend.
2716 |                 filesystem : builtins.str
2717 |                     Filesystem name of this backend.
2718 |                 root : builtins.str, optional
2719 |                     Root of this backend.
2720 |                 sas_token : builtins.str, optional
2721 |                     sas_token The shared access signature token.
2722 |                     - required for sas authentication
2723 |                 tenant_id : builtins.str, optional
2724 |                     tenant_id The tenant id of the service principal.
2725 |                     - required for client_credentials authentication
2726 |                 Returns
2727 |                 -------
2728 |                 AsyncOperator
2729 |                     The new `AsyncOperator` for `azdls` service
2730 |                 """
2731 |         "#
2732 |     }
2733 | }
2734 | 
2735 | submit! {
2736 |     gen_methods_from_python! {
2737 |         r#"
2738 |         import builtins
2739 |         import typing
2740 |         import typing_extensions
2741 |         import opendal.services
2742 |         class AsyncOperator:
2743 |             @overload
2744 |             def __new__(cls,
2745 |                 scheme: typing.Union[opendal.services.Scheme.Azfile, typing.Literal["azfile"]],
2746 |                 /,
2747 |                 *,
2748 |                 account_key: builtins.str = ...,
2749 |                 account_name: builtins.str = ...,
2750 |                 endpoint: builtins.str = ...,
2751 |                 root: builtins.str = ...,
2752 |                 sas_token: builtins.str = ...,
2753 |                 share_name: builtins.str,
2754 |             ) -> typing_extensions.Self:
2755 |                 r"""
2756 |                 Create a new `AsyncOperator` for `azfile` service.
2757 | 
2758 |                 Parameters
2759 |                 ----------
2760 |                 account_key : builtins.str, optional
2761 |                     The account key for azfile.
2762 |                 account_name : builtins.str, optional
2763 |                     The account name for azfile.
2764 |                 endpoint : builtins.str, optional
2765 |                     The endpoint for azfile.
2766 |                 root : builtins.str, optional
2767 |                     The root path for azfile.
2768 |                 sas_token : builtins.str, optional
2769 |                     The sas token for azfile.
2770 |                 share_name : builtins.str
2771 |                     The share name for azfile.
2772 |                 Returns
2773 |                 -------
2774 |                 AsyncOperator
2775 |                     The new `AsyncOperator` for `azfile` service
2776 |                 """
2777 |         "#
2778 |     }
2779 | }
2780 | 
2781 | submit! {
2782 |     gen_methods_from_python! {
2783 |         r#"
2784 |         import builtins
2785 |         import typing
2786 |         import typing_extensions
2787 |         import opendal.services
2788 |         class AsyncOperator:
2789 |             @overload
2790 |             def __new__(cls,
2791 |                 scheme: typing.Union[opendal.services.Scheme.B2, typing.Literal["b2"]],
2792 |                 /,
2793 |                 *,
2794 |                 application_key: builtins.str = ...,
2795 |                 application_key_id: builtins.str = ...,
2796 |                 bucket: builtins.str,
2797 |                 bucket_id: builtins.str,
2798 |                 root: builtins.str = ...,
2799 |             ) -> typing_extensions.Self:
2800 |                 r"""
2801 |                 Create a new `AsyncOperator` for `b2` service.
2802 | 
2803 |                 Parameters
2804 |                 ----------
2805 |                 application_key : builtins.str, optional
2806 |                     applicationKey of this backend.
2807 |                     - If application_key is set, we will take user's
2808 |                     input first.
2809 |                     - If not, we will try to load it from environment.
2810 |                 application_key_id : builtins.str, optional
2811 |                     keyID of this backend.
2812 |                     - If application_key_id is set, we will take user's
2813 |                     input first.
2814 |                     - If not, we will try to load it from environment.
2815 |                 bucket : builtins.str
2816 |                     bucket of this backend.
2817 |                     required.
2818 |                 bucket_id : builtins.str
2819 |                     bucket id of this backend.
2820 |                     required.
2821 |                 root : builtins.str, optional
2822 |                     root of this backend.
2823 |                     All operations will happen under this root.
2824 |                 Returns
2825 |                 -------
2826 |                 AsyncOperator
2827 |                     The new `AsyncOperator` for `b2` service
2828 |                 """
2829 |         "#
2830 |     }
2831 | }
2832 | 
2833 | submit! {
2834 |     gen_methods_from_python! {
2835 |         r#"
2836 |         import builtins
2837 |         import typing
2838 |         import typing_extensions
2839 |         import opendal.services
2840 |         class AsyncOperator:
2841 |             @overload
2842 |             def __new__(cls,
2843 |                 scheme: typing.Union[opendal.services.Scheme.Cacache, typing.Literal["cacache"]],
2844 |                 /,
2845 |                 *,
2846 |                 datadir: builtins.str = ...,
2847 |             ) -> typing_extensions.Self:
2848 |                 r"""
2849 |                 Create a new `AsyncOperator` for `cacache` service.
2850 | 
2851 |                 Parameters
2852 |                 ----------
2853 |                 datadir : builtins.str, optional
2854 |                     That path to the cacache data directory.
2855 |                 Returns
2856 |                 -------
2857 |                 AsyncOperator
2858 |                     The new `AsyncOperator` for `cacache` service
2859 |                 """
2860 |         "#
2861 |     }
2862 | }
2863 | 
2864 | submit! {
2865 |     gen_methods_from_python! {
2866 |         r#"
2867 |         import builtins
2868 |         import typing
2869 |         import typing_extensions
2870 |         import opendal.services
2871 |         class AsyncOperator:
2872 |             @overload
2873 |             def __new__(cls,
2874 |                 scheme: typing.Union[opendal.services.Scheme.Cos, typing.Literal["cos"]],
2875 |                 /,
2876 |                 *,
2877 |                 bucket: builtins.str = ...,
2878 |                 disable_config_load: builtins.bool = ...,
2879 |                 enable_versioning: builtins.bool = ...,
2880 |                 endpoint: builtins.str = ...,
2881 |                 root: builtins.str = ...,
2882 |                 secret_id: builtins.str = ...,
2883 |                 secret_key: builtins.str = ...,
2884 |             ) -> typing_extensions.Self:
2885 |                 r"""
2886 |                 Create a new `AsyncOperator` for `cos` service.
2887 | 
2888 |                 Parameters
2889 |                 ----------
2890 |                 bucket : builtins.str, optional
2891 |                     Bucket of this backend.
2892 |                 disable_config_load : builtins.bool, optional
2893 |                     Disable config load so that opendal will not load
2894 |                     config from
2895 |                 enable_versioning : builtins.bool, optional
2896 |                     is bucket versioning enabled for this bucket
2897 |                 endpoint : builtins.str, optional
2898 |                     Endpoint of this backend.
2899 |                 root : builtins.str, optional
2900 |                     Root of this backend.
2901 |                 secret_id : builtins.str, optional
2902 |                     Secret ID of this backend.
2903 |                 secret_key : builtins.str, optional
2904 |                     Secret key of this backend.
2905 |                 Returns
2906 |                 -------
2907 |                 AsyncOperator
2908 |                     The new `AsyncOperator` for `cos` service
2909 |                 """
2910 |         "#
2911 |     }
2912 | }
2913 | 
2914 | submit! {
2915 |     gen_methods_from_python! {
2916 |         r#"
2917 |         import builtins
2918 |         import typing
2919 |         import typing_extensions
2920 |         import opendal.services
2921 |         class AsyncOperator:
2922 |             @overload
2923 |             def __new__(cls,
2924 |                 scheme: typing.Union[opendal.services.Scheme.Dashmap, typing.Literal["dashmap"]],
2925 |                 /,
2926 |                 *,
2927 |                 root: builtins.str = ...,
2928 |             ) -> typing_extensions.Self:
2929 |                 r"""
2930 |                 Create a new `AsyncOperator` for `dashmap` service.
2931 | 
2932 |                 Parameters
2933 |                 ----------
2934 |                 root : builtins.str, optional
2935 |                     root path of this backend
2936 |                 Returns
2937 |                 -------
2938 |                 AsyncOperator
2939 |                     The new `AsyncOperator` for `dashmap` service
2940 |                 """
2941 |         "#
2942 |     }
2943 | }
2944 | 
2945 | submit! {
2946 |     gen_methods_from_python! {
2947 |         r#"
2948 |         import builtins
2949 |         import typing
2950 |         import typing_extensions
2951 |         import opendal.services
2952 |         class AsyncOperator:
2953 |             @overload
2954 |             def __new__(cls,
2955 |                 scheme: typing.Union[opendal.services.Scheme.Dropbox, typing.Literal["dropbox"]],
2956 |                 /,
2957 |                 *,
2958 |                 access_token: builtins.str = ...,
2959 |                 client_id: builtins.str = ...,
2960 |                 client_secret: builtins.str = ...,
2961 |                 refresh_token: builtins.str = ...,
2962 |                 root: builtins.str = ...,
2963 |             ) -> typing_extensions.Self:
2964 |                 r"""
2965 |                 Create a new `AsyncOperator` for `dropbox` service.
2966 | 
2967 |                 Parameters
2968 |                 ----------
2969 |                 access_token : builtins.str, optional
2970 |                     access token for dropbox.
2971 |                 client_id : builtins.str, optional
2972 |                     client_id for dropbox.
2973 |                 client_secret : builtins.str, optional
2974 |                     client_secret for dropbox.
2975 |                 refresh_token : builtins.str, optional
2976 |                     refresh_token for dropbox.
2977 |                 root : builtins.str, optional
2978 |                     root path for dropbox.
2979 |                 Returns
2980 |                 -------
2981 |                 AsyncOperator
2982 |                     The new `AsyncOperator` for `dropbox` service
2983 |                 """
2984 |         "#
2985 |     }
2986 | }
2987 | 
2988 | submit! {
2989 |     gen_methods_from_python! {
2990 |         r#"
2991 |         import builtins
2992 |         import typing
2993 |         import typing_extensions
2994 |         import opendal.services
2995 |         class AsyncOperator:
2996 |             @overload
2997 |             def __new__(cls,
2998 |                 scheme: typing.Union[opendal.services.Scheme.Fs, typing.Literal["fs"]],
2999 |                 /,
3000 |                 *,
3001 |                 atomic_write_dir: builtins.str = ...,
3002 |                 root: builtins.str = ...,
3003 |             ) -> typing_extensions.Self:
3004 |                 r"""
3005 |                 Create a new `AsyncOperator` for `fs` service.
3006 | 
3007 |                 Parameters
3008 |                 ----------
3009 |                 atomic_write_dir : builtins.str, optional
3010 |                     tmp dir for atomic write
3011 |                 root : builtins.str, optional
3012 |                     root dir for backend
3013 |                 Returns
3014 |                 -------
3015 |                 AsyncOperator
3016 |                     The new `AsyncOperator` for `fs` service
3017 |                 """
3018 |         "#
3019 |     }
3020 | }
3021 | 
3022 | submit! {
3023 |     gen_methods_from_python! {
3024 |         r#"
3025 |         import builtins
3026 |         import typing
3027 |         import typing_extensions
3028 |         import opendal.services
3029 |         class AsyncOperator:
3030 |             @overload
3031 |             def __new__(cls,
3032 |                 scheme: typing.Union[opendal.services.Scheme.Ftp, typing.Literal["ftp"]],
3033 |                 /,
3034 |                 *,
3035 |                 endpoint: builtins.str = ...,
3036 |                 password: builtins.str = ...,
3037 |                 root: builtins.str = ...,
3038 |                 user: builtins.str = ...,
3039 |             ) -> typing_extensions.Self:
3040 |                 r"""
3041 |                 Create a new `AsyncOperator` for `ftp` service.
3042 | 
3043 |                 Parameters
3044 |                 ----------
3045 |                 endpoint : builtins.str, optional
3046 |                     endpoint of this backend
3047 |                 password : builtins.str, optional
3048 |                     password of this backend
3049 |                 root : builtins.str, optional
3050 |                     root of this backend
3051 |                 user : builtins.str, optional
3052 |                     user of this backend
3053 |                 Returns
3054 |                 -------
3055 |                 AsyncOperator
3056 |                     The new `AsyncOperator` for `ftp` service
3057 |                 """
3058 |         "#
3059 |     }
3060 | }
3061 | 
3062 | submit! {
3063 |     gen_methods_from_python! {
3064 |         r#"
3065 |         import builtins
3066 |         import typing
3067 |         import typing_extensions
3068 |         import opendal.services
3069 |         class AsyncOperator:
3070 |             @overload
3071 |             def __new__(cls,
3072 |                 scheme: typing.Union[opendal.services.Scheme.Gcs, typing.Literal["gcs"]],
3073 |                 /,
3074 |                 *,
3075 |                 allow_anonymous: builtins.bool = ...,
3076 |                 bucket: builtins.str,
3077 |                 credential: builtins.str = ...,
3078 |                 credential_path: builtins.str = ...,
3079 |                 default_storage_class: builtins.str = ...,
3080 |                 disable_config_load: builtins.bool = ...,
3081 |                 disable_vm_metadata: builtins.bool = ...,
3082 |                 endpoint: builtins.str = ...,
3083 |                 predefined_acl: builtins.str = ...,
3084 |                 root: builtins.str = ...,
3085 |                 scope: builtins.str = ...,
3086 |                 service_account: builtins.str = ...,
3087 |                 token: builtins.str = ...,
3088 |             ) -> typing_extensions.Self:
3089 |                 r"""
3090 |                 Create a new `AsyncOperator` for `gcs` service.
3091 | 
3092 |                 Parameters
3093 |                 ----------
3094 |                 allow_anonymous : builtins.bool, optional
3095 |                     Allow opendal to send requests without signing when
3096 |                     credentials are not loaded.
3097 |                 bucket : builtins.str
3098 |                     bucket name
3099 |                 credential : builtins.str, optional
3100 |                     Credentials string for GCS service OAuth2
3101 |                     authentication.
3102 |                 credential_path : builtins.str, optional
3103 |                     Local path to credentials file for GCS service
3104 |                     OAuth2 authentication.
3105 |                 default_storage_class : builtins.str, optional
3106 |                     The default storage class used by gcs.
3107 |                 disable_config_load : builtins.bool, optional
3108 |                     Disable loading configuration from the environment.
3109 |                 disable_vm_metadata : builtins.bool, optional
3110 |                     Disable attempting to load credentials from the GCE
3111 |                     metadata server when running within Google Cloud.
3112 |                 endpoint : builtins.str, optional
3113 |                     endpoint URI of GCS service, default is
3114 |                     `https://storage.googleapis.com`
3115 |                 predefined_acl : builtins.str, optional
3116 |                     The predefined acl for GCS.
3117 |                 root : builtins.str, optional
3118 |                     root URI, all operations happens under `root`
3119 |                 scope : builtins.str, optional
3120 |                     Scope for gcs.
3121 |                 service_account : builtins.str, optional
3122 |                     Service Account for gcs.
3123 |                 token : builtins.str, optional
3124 |                     A Google Cloud OAuth2 token.
3125 |                     Takes precedence over `credential` and
3126 |                     `credential_path`.
3127 |                 Returns
3128 |                 -------
3129 |                 AsyncOperator
3130 |                     The new `AsyncOperator` for `gcs` service
3131 |                 """
3132 |         "#
3133 |     }
3134 | }
3135 | 
3136 | submit! {
3137 |     gen_methods_from_python! {
3138 |         r#"
3139 |         import builtins
3140 |         import typing
3141 |         import typing_extensions
3142 |         import opendal.services
3143 |         class AsyncOperator:
3144 |             @overload
3145 |             def __new__(cls,
3146 |                 scheme: typing.Union[opendal.services.Scheme.Gdrive, typing.Literal["gdrive"]],
3147 |                 /,
3148 |                 *,
3149 |                 access_token: builtins.str = ...,
3150 |                 client_id: builtins.str = ...,
3151 |                 client_secret: builtins.str = ...,
3152 |                 refresh_token: builtins.str = ...,
3153 |                 root: builtins.str = ...,
3154 |             ) -> typing_extensions.Self:
3155 |                 r"""
3156 |                 Create a new `AsyncOperator` for `gdrive` service.
3157 | 
3158 |                 Parameters
3159 |                 ----------
3160 |                 access_token : builtins.str, optional
3161 |                     Access token for gdrive.
3162 |                 client_id : builtins.str, optional
3163 |                     Client id for gdrive.
3164 |                 client_secret : builtins.str, optional
3165 |                     Client secret for gdrive.
3166 |                 refresh_token : builtins.str, optional
3167 |                     Refresh token for gdrive.
3168 |                 root : builtins.str, optional
3169 |                     The root for gdrive
3170 |                 Returns
3171 |                 -------
3172 |                 AsyncOperator
3173 |                     The new `AsyncOperator` for `gdrive` service
3174 |                 """
3175 |         "#
3176 |     }
3177 | }
3178 | 
3179 | submit! {
3180 |     gen_methods_from_python! {
3181 |         r#"
3182 |         import builtins
3183 |         import typing
3184 |         import typing_extensions
3185 |         import opendal.services
3186 |         class AsyncOperator:
3187 |             @overload
3188 |             def __new__(cls,
3189 |                 scheme: typing.Union[opendal.services.Scheme.Ghac, typing.Literal["ghac"]],
3190 |                 /,
3191 |                 *,
3192 |                 endpoint: builtins.str = ...,
3193 |                 root: builtins.str = ...,
3194 |                 runtime_token: builtins.str = ...,
3195 |                 version: builtins.str = ...,
3196 |             ) -> typing_extensions.Self:
3197 |                 r"""
3198 |                 Create a new `AsyncOperator` for `ghac` service.
3199 | 
3200 |                 Parameters
3201 |                 ----------
3202 |                 endpoint : builtins.str, optional
3203 |                     The endpoint for ghac service.
3204 |                 root : builtins.str, optional
3205 |                     The root path for ghac.
3206 |                 runtime_token : builtins.str, optional
3207 |                     The runtime token for ghac service.
3208 |                 version : builtins.str, optional
3209 |                     The version that used by cache.
3210 |                 Returns
3211 |                 -------
3212 |                 AsyncOperator
3213 |                     The new `AsyncOperator` for `ghac` service
3214 |                 """
3215 |         "#
3216 |     }
3217 | }
3218 | 
3219 | submit! {
3220 |     gen_methods_from_python! {
3221 |         r#"
3222 |         import builtins
3223 |         import typing
3224 |         import typing_extensions
3225 |         import opendal.services
3226 |         class AsyncOperator:
3227 |             @overload
3228 |             def __new__(cls,
3229 |                 scheme: typing.Union[opendal.services.Scheme.Gridfs, typing.Literal["gridfs"]],
3230 |                 /,
3231 |                 *,
3232 |                 bucket: builtins.str = ...,
3233 |                 chunk_size: builtins.int = ...,
3234 |                 connection_string: builtins.str = ...,
3235 |                 database: builtins.str = ...,
3236 |                 root: builtins.str = ...,
3237 |             ) -> typing_extensions.Self:
3238 |                 r"""
3239 |                 Create a new `AsyncOperator` for `gridfs` service.
3240 | 
3241 |                 Parameters
3242 |                 ----------
3243 |                 bucket : builtins.str, optional
3244 |                     The bucket name of the MongoDB GridFs service to
3245 |                     read/write.
3246 |                 chunk_size : builtins.int, optional
3247 |                     The chunk size of the MongoDB GridFs service used to
3248 |                     break the user file into chunks.
3249 |                 connection_string : builtins.str, optional
3250 |                     The connection string of the MongoDB service.
3251 |                 database : builtins.str, optional
3252 |                     The database name of the MongoDB GridFs service to
3253 |                     read/write.
3254 |                 root : builtins.str, optional
3255 |                     The working directory, all operations will be
3256 |                     performed under it.
3257 |                 Returns
3258 |                 -------
3259 |                 AsyncOperator
3260 |                     The new `AsyncOperator` for `gridfs` service
3261 |                 """
3262 |         "#
3263 |     }
3264 | }
3265 | 
3266 | submit! {
3267 |     gen_methods_from_python! {
3268 |         r#"
3269 |         import builtins
3270 |         import typing
3271 |         import typing_extensions
3272 |         import opendal.services
3273 |         class AsyncOperator:
3274 |             @overload
3275 |             def __new__(cls,
3276 |                 scheme: typing.Union[opendal.services.Scheme.HdfsNative, typing.Literal["hdfs-native"]],
3277 |                 /,
3278 |                 *,
3279 |                 enable_append: builtins.bool = ...,
3280 |                 name_node: builtins.str = ...,
3281 |                 root: builtins.str = ...,
3282 |             ) -> typing_extensions.Self:
3283 |                 r"""
3284 |                 Create a new `AsyncOperator` for `hdfs-native` service.
3285 | 
3286 |                 Parameters
3287 |                 ----------
3288 |                 enable_append : builtins.bool, optional
3289 |                     enable the append capacity
3290 |                 name_node : builtins.str, optional
3291 |                     name_node of this backend
3292 |                 root : builtins.str, optional
3293 |                     work dir of this backend
3294 |                 Returns
3295 |                 -------
3296 |                 AsyncOperator
3297 |                     The new `AsyncOperator` for `hdfs-native` service
3298 |                 """
3299 |         "#
3300 |     }
3301 | }
3302 | 
3303 | submit! {
3304 |     gen_methods_from_python! {
3305 |         r#"
3306 |         import builtins
3307 |         import typing
3308 |         import typing_extensions
3309 |         import opendal.services
3310 |         class AsyncOperator:
3311 |             @overload
3312 |             def __new__(cls,
3313 |                 scheme: typing.Union[opendal.services.Scheme.Http, typing.Literal["http"]],
3314 |                 /,
3315 |                 *,
3316 |                 endpoint: builtins.str = ...,
3317 |                 password: builtins.str = ...,
3318 |                 root: builtins.str = ...,
3319 |                 token: builtins.str = ...,
3320 |                 username: builtins.str = ...,
3321 |             ) -> typing_extensions.Self:
3322 |                 r"""
3323 |                 Create a new `AsyncOperator` for `http` service.
3324 | 
3325 |                 Parameters
3326 |                 ----------
3327 |                 endpoint : builtins.str, optional
3328 |                     endpoint of this backend
3329 |                 password : builtins.str, optional
3330 |                     password of this backend
3331 |                 root : builtins.str, optional
3332 |                     root of this backend
3333 |                 token : builtins.str, optional
3334 |                     token of this backend
3335 |                 username : builtins.str, optional
3336 |                     username of this backend
3337 |                 Returns
3338 |                 -------
3339 |                 AsyncOperator
3340 |                     The new `AsyncOperator` for `http` service
3341 |                 """
3342 |         "#
3343 |     }
3344 | }
3345 | 
3346 | submit! {
3347 |     gen_methods_from_python! {
3348 |         r#"
3349 |         import builtins
3350 |         import typing
3351 |         import typing_extensions
3352 |         import opendal.services
3353 |         class AsyncOperator:
3354 |             @overload
3355 |             def __new__(cls,
3356 |                 scheme: typing.Union[opendal.services.Scheme.Huggingface, typing.Literal["huggingface"]],
3357 |                 /,
3358 |                 *,
3359 |                 endpoint: builtins.str = ...,
3360 |                 repo_id: builtins.str = ...,
3361 |                 repo_type: builtins.str = ...,
3362 |                 revision: builtins.str = ...,
3363 |                 root: builtins.str = ...,
3364 |                 token: builtins.str = ...,
3365 |             ) -> typing_extensions.Self:
3366 |                 r"""
3367 |                 Create a new `AsyncOperator` for `huggingface` service.
3368 | 
3369 |                 Parameters
3370 |                 ----------
3371 |                 endpoint : builtins.str, optional
3372 |                     Endpoint of the Huggingface Hub.
3373 |                     Default is "https://huggingface.co".
3374 |                 repo_id : builtins.str, optional
3375 |                     Repo id of this backend.
3376 |                     This is required.
3377 |                 repo_type : builtins.str, optional
3378 |                     Repo type of this backend.
3379 |                     Default is model.
3380 |                     Available values: - model - dataset - datasets
3381 |                     (alias for dataset)
3382 |                 revision : builtins.str, optional
3383 |                     Revision of this backend.
3384 |                     Default is main.
3385 |                 root : builtins.str, optional
3386 |                     Root of this backend.
3387 |                     Can be "/path/to/dir".
3388 |                     Default is "/".
3389 |                 token : builtins.str, optional
3390 |                     Token of this backend.
3391 |                     This is optional.
3392 |                 Returns
3393 |                 -------
3394 |                 AsyncOperator
3395 |                     The new `AsyncOperator` for `huggingface` service
3396 |                 """
3397 |         "#
3398 |     }
3399 | }
3400 | 
3401 | submit! {
3402 |     gen_methods_from_python! {
3403 |         r#"
3404 |         import builtins
3405 |         import typing
3406 |         import typing_extensions
3407 |         import opendal.services
3408 |         class AsyncOperator:
3409 |             @overload
3410 |             def __new__(cls,
3411 |                 scheme: typing.Union[opendal.services.Scheme.Ipfs, typing.Literal["ipfs"]],
3412 |                 /,
3413 |                 *,
3414 |                 endpoint: builtins.str = ...,
3415 |                 root: builtins.str = ...,
3416 |             ) -> typing_extensions.Self:
3417 |                 r"""
3418 |                 Create a new `AsyncOperator` for `ipfs` service.
3419 | 
3420 |                 Parameters
3421 |                 ----------
3422 |                 endpoint : builtins.str, optional
3423 |                     IPFS gateway endpoint.
3424 |                 root : builtins.str, optional
3425 |                     IPFS root.
3426 |                 Returns
3427 |                 -------
3428 |                 AsyncOperator
3429 |                     The new `AsyncOperator` for `ipfs` service
3430 |                 """
3431 |         "#
3432 |     }
3433 | }
3434 | 
3435 | submit! {
3436 |     gen_methods_from_python! {
3437 |         r#"
3438 |         import builtins
3439 |         import typing
3440 |         import typing_extensions
3441 |         import opendal.services
3442 |         class AsyncOperator:
3443 |             @overload
3444 |             def __new__(cls,
3445 |                 scheme: typing.Union[opendal.services.Scheme.Ipmfs, typing.Literal["ipmfs"]],
3446 |                 /,
3447 |                 *,
3448 |                 endpoint: builtins.str = ...,
3449 |                 root: builtins.str = ...,
3450 |             ) -> typing_extensions.Self:
3451 |                 r"""
3452 |                 Create a new `AsyncOperator` for `ipmfs` service.
3453 | 
3454 |                 Parameters
3455 |                 ----------
3456 |                 endpoint : builtins.str, optional
3457 |                     Endpoint for ipfs.
3458 |                 root : builtins.str, optional
3459 |                     Root for ipfs.
3460 |                 Returns
3461 |                 -------
3462 |                 AsyncOperator
3463 |                     The new `AsyncOperator` for `ipmfs` service
3464 |                 """
3465 |         "#
3466 |     }
3467 | }
3468 | 
3469 | submit! {
3470 |     gen_methods_from_python! {
3471 |         r#"
3472 |         import builtins
3473 |         import typing
3474 |         import typing_extensions
3475 |         import opendal.services
3476 |         class AsyncOperator:
3477 |             @overload
3478 |             def __new__(cls,
3479 |                 scheme: typing.Union[opendal.services.Scheme.Koofr, typing.Literal["koofr"]],
3480 |                 /,
3481 |                 *,
3482 |                 email: builtins.str,
3483 |                 endpoint: builtins.str,
3484 |                 password: builtins.str = ...,
3485 |                 root: builtins.str = ...,
3486 |             ) -> typing_extensions.Self:
3487 |                 r"""
3488 |                 Create a new `AsyncOperator` for `koofr` service.
3489 | 
3490 |                 Parameters
3491 |                 ----------
3492 |                 email : builtins.str
3493 |                     Koofr email.
3494 |                 endpoint : builtins.str
3495 |                     Koofr endpoint.
3496 |                 password : builtins.str, optional
3497 |                     password of this backend.
3498 |                     (Must be the application password)
3499 |                 root : builtins.str, optional
3500 |                     root of this backend.
3501 |                     All operations will happen under this root.
3502 |                 Returns
3503 |                 -------
3504 |                 AsyncOperator
3505 |                     The new `AsyncOperator` for `koofr` service
3506 |                 """
3507 |         "#
3508 |     }
3509 | }
3510 | 
3511 | submit! {
3512 |     gen_methods_from_python! {
3513 |         r#"
3514 |         import builtins
3515 |         import typing
3516 |         import typing_extensions
3517 |         import opendal.services
3518 |         class AsyncOperator:
3519 |             @overload
3520 |             def __new__(cls,
3521 |                 scheme: typing.Union[opendal.services.Scheme.Memcached, typing.Literal["memcached"]],
3522 |                 /,
3523 |                 *,
3524 |                 connection_pool_max_size: builtins.int = ...,
3525 |                 default_ttl: typing.Any = ...,
3526 |                 endpoint: builtins.str = ...,
3527 |                 password: builtins.str = ...,
3528 |                 root: builtins.str = ...,
3529 |                 username: builtins.str = ...,
3530 |             ) -> typing_extensions.Self:
3531 |                 r"""
3532 |                 Create a new `AsyncOperator` for `memcached` service.
3533 | 
3534 |                 Parameters
3535 |                 ----------
3536 |                 connection_pool_max_size : builtins.int, optional
3537 |                     The maximum number of connections allowed.
3538 |                     default is 10
3539 |                 default_ttl : typing.Any, optional
3540 |                     The default ttl for put operations..
3541 |                     a human readable duration string see
3542 |                     https://docs.rs/humantime/latest/humantime/fn.parse_duration.html
3543 |                     for more details
3544 |                 endpoint : builtins.str, optional
3545 |                     network address of the memcached service.
3546 |                     For example: "tcp://localhost:11211"
3547 |                 password : builtins.str, optional
3548 |                     Memcached password, optional.
3549 |                 root : builtins.str, optional
3550 |                     the working directory of the service.
3551 |                     Can be "/path/to/dir" default is "/"
3552 |                 username : builtins.str, optional
3553 |                     Memcached username, optional.
3554 |                 Returns
3555 |                 -------
3556 |                 AsyncOperator
3557 |                     The new `AsyncOperator` for `memcached` service
3558 |                 """
3559 |         "#
3560 |     }
3561 | }
3562 | 
3563 | submit! {
3564 |     gen_methods_from_python! {
3565 |         r#"
3566 |         import builtins
3567 |         import typing
3568 |         import typing_extensions
3569 |         import opendal.services
3570 |         class AsyncOperator:
3571 |             @overload
3572 |             def __new__(cls,
3573 |                 scheme: typing.Union[opendal.services.Scheme.Memory, typing.Literal["memory"]],
3574 |                 /,
3575 |                 *,
3576 |                 root: builtins.str = ...,
3577 |             ) -> typing_extensions.Self:
3578 |                 r"""
3579 |                 Create a new `AsyncOperator` for `memory` service.
3580 | 
3581 |                 Parameters
3582 |                 ----------
3583 |                 root : builtins.str, optional
3584 |                     root of the backend.
3585 |                 Returns
3586 |                 -------
3587 |                 AsyncOperator
3588 |                     The new `AsyncOperator` for `memory` service
3589 |                 """
3590 |         "#
3591 |     }
3592 | }
3593 | 
3594 | submit! {
3595 |     gen_methods_from_python! {
3596 |         r#"
3597 |         import builtins
3598 |         import typing
3599 |         import typing_extensions
3600 |         import opendal.services
3601 |         class AsyncOperator:
3602 |             @overload
3603 |             def __new__(cls,
3604 |                 scheme: typing.Union[opendal.services.Scheme.MiniMoka, typing.Literal["mini-moka"]],
3605 |                 /,
3606 |                 *,
3607 |                 max_capacity: builtins.int = ...,
3608 |                 root: builtins.str = ...,
3609 |                 time_to_idle: builtins.str = ...,
3610 |                 time_to_live: builtins.str = ...,
3611 |             ) -> typing_extensions.Self:
3612 |                 r"""
3613 |                 Create a new `AsyncOperator` for `mini-moka` service.
3614 | 
3615 |                 Parameters
3616 |                 ----------
3617 |                 max_capacity : builtins.int, optional
3618 |                     Sets the max capacity of the cache.
3619 |                     Refer to
3620 |                     [`mini-moka::sync::CacheBuilder::max_capacity`](https://docs.rs/mini-moka/latest/mini_moka/sync/struct.CacheBuilder.html#method.max_capacity)
3621 |                 root : builtins.str, optional
3622 |                     root path of this backend
3623 |                 time_to_idle : builtins.str, optional
3624 |                     Sets the time to idle of the cache.
3625 |                     Refer to
3626 |                     [`mini-moka::sync::CacheBuilder::time_to_idle`](https://docs.rs/mini-moka/latest/mini_moka/sync/struct.CacheBuilder.html#method.time_to_idle)
3627 |                 time_to_live : builtins.str, optional
3628 |                     Sets the time to live of the cache.
3629 |                     Refer to
3630 |                     [`mini-moka::sync::CacheBuilder::time_to_live`](https://docs.rs/mini-moka/latest/mini_moka/sync/struct.CacheBuilder.html#method.time_to_live)
3631 |                 Returns
3632 |                 -------
3633 |                 AsyncOperator
3634 |                     The new `AsyncOperator` for `mini-moka` service
3635 |                 """
3636 |         "#
3637 |     }
3638 | }
3639 | 
3640 | submit! {
3641 |     gen_methods_from_python! {
3642 |         r#"
3643 |         import builtins
3644 |         import typing
3645 |         import typing_extensions
3646 |         import opendal.services
3647 |         class AsyncOperator:
3648 |             @overload
3649 |             def __new__(cls,
3650 |                 scheme: typing.Union[opendal.services.Scheme.Moka, typing.Literal["moka"]],
3651 |                 /,
3652 |                 *,
3653 |                 max_capacity: builtins.int = ...,
3654 |                 name: builtins.str = ...,
3655 |                 root: builtins.str = ...,
3656 |                 time_to_idle: builtins.str = ...,
3657 |                 time_to_live: builtins.str = ...,
3658 |             ) -> typing_extensions.Self:
3659 |                 r"""
3660 |                 Create a new `AsyncOperator` for `moka` service.
3661 | 
3662 |                 Parameters
3663 |                 ----------
3664 |                 max_capacity : builtins.int, optional
3665 |                     Sets the max capacity of the cache.
3666 |                     Refer to
3667 |                     [`moka::future::CacheBuilder::max_capacity`](https://docs.rs/moka/latest/moka/future/struct.CacheBuilder.html#method.max_capacity)
3668 |                 name : builtins.str, optional
3669 |                     Name for this cache instance.
3670 |                 root : builtins.str, optional
3671 |                     root path of this backend
3672 |                 time_to_idle : builtins.str, optional
3673 |                     Sets the time to idle of the cache.
3674 |                     Refer to
3675 |                     [`moka::future::CacheBuilder::time_to_idle`](https://docs.rs/moka/latest/moka/future/struct.CacheBuilder.html#method.time_to_idle)
3676 |                 time_to_live : builtins.str, optional
3677 |                     Sets the time to live of the cache.
3678 |                     Refer to
3679 |                     [`moka::future::CacheBuilder::time_to_live`](https://docs.rs/moka/latest/moka/future/struct.CacheBuilder.html#method.time_to_live)
3680 |                 Returns
3681 |                 -------
3682 |                 AsyncOperator
3683 |                     The new `AsyncOperator` for `moka` service
3684 |                 """
3685 |         "#
3686 |     }
3687 | }
3688 | 
3689 | submit! {
3690 |     gen_methods_from_python! {
3691 |         r#"
3692 |         import builtins
3693 |         import typing
3694 |         import typing_extensions
3695 |         import opendal.services
3696 |         class AsyncOperator:
3697 |             @overload
3698 |             def __new__(cls,
3699 |                 scheme: typing.Union[opendal.services.Scheme.Mongodb, typing.Literal["mongodb"]],
3700 |                 /,
3701 |                 *,
3702 |                 collection: builtins.str = ...,
3703 |                 connection_string: builtins.str = ...,
3704 |                 database: builtins.str = ...,
3705 |                 key_field: builtins.str = ...,
3706 |                 root: builtins.str = ...,
3707 |                 value_field: builtins.str = ...,
3708 |             ) -> typing_extensions.Self:
3709 |                 r"""
3710 |                 Create a new `AsyncOperator` for `mongodb` service.
3711 | 
3712 |                 Parameters
3713 |                 ----------
3714 |                 collection : builtins.str, optional
3715 |                     collection of this backend
3716 |                 connection_string : builtins.str, optional
3717 |                     connection string of this backend
3718 |                 database : builtins.str, optional
3719 |                     database of this backend
3720 |                 key_field : builtins.str, optional
3721 |                     key field of this backend
3722 |                 root : builtins.str, optional
3723 |                     root of this backend
3724 |                 value_field : builtins.str, optional
3725 |                     value field of this backend
3726 |                 Returns
3727 |                 -------
3728 |                 AsyncOperator
3729 |                     The new `AsyncOperator` for `mongodb` service
3730 |                 """
3731 |         "#
3732 |     }
3733 | }
3734 | 
3735 | submit! {
3736 |     gen_methods_from_python! {
3737 |         r#"
3738 |         import builtins
3739 |         import typing
3740 |         import typing_extensions
3741 |         import opendal.services
3742 |         class AsyncOperator:
3743 |             @overload
3744 |             def __new__(cls,
3745 |                 scheme: typing.Union[opendal.services.Scheme.Mysql, typing.Literal["mysql"]],
3746 |                 /,
3747 |                 *,
3748 |                 connection_string: builtins.str = ...,
3749 |                 key_field: builtins.str = ...,
3750 |                 root: builtins.str = ...,
3751 |                 table: builtins.str = ...,
3752 |                 value_field: builtins.str = ...,
3753 |             ) -> typing_extensions.Self:
3754 |                 r"""
3755 |                 Create a new `AsyncOperator` for `mysql` service.
3756 | 
3757 |                 Parameters
3758 |                 ----------
3759 |                 connection_string : builtins.str, optional
3760 |                     This connection string is used to connect to the
3761 |                     mysql service.
3762 |                     There are url based formats.
3763 |                     The format of connect string resembles the url
3764 |                     format of the mysql client.
3765 |                     The format is:
3766 |                     `[scheme://][user[:[password]]@]host[:port][/schema][?attribute1=value1&attribute2=value2...`
3767 |                     - `mysql://user@localhost` -
3768 |                     `mysql://user:password@localhost` -
3769 |                     `mysql://user:password@localhost:3306` -
3770 |                     `mysql://user:password@localhost:3306/db` For more
3771 |                     information, please refer to
3772 |                     <https://docs.rs/sqlx/latest/sqlx/mysql/struct.MySqlConnectOptions.html>.
3773 |                 key_field : builtins.str, optional
3774 |                     The key field name for mysql.
3775 |                 root : builtins.str, optional
3776 |                     The root for mysql.
3777 |                 table : builtins.str, optional
3778 |                     The table name for mysql.
3779 |                 value_field : builtins.str, optional
3780 |                     The value field name for mysql.
3781 |                 Returns
3782 |                 -------
3783 |                 AsyncOperator
3784 |                     The new `AsyncOperator` for `mysql` service
3785 |                 """
3786 |         "#
3787 |     }
3788 | }
3789 | 
3790 | submit! {
3791 |     gen_methods_from_python! {
3792 |         r#"
3793 |         import builtins
3794 |         import typing
3795 |         import typing_extensions
3796 |         import opendal.services
3797 |         class AsyncOperator:
3798 |             @overload
3799 |             def __new__(cls,
3800 |                 scheme: typing.Union[opendal.services.Scheme.Obs, typing.Literal["obs"]],
3801 |                 /,
3802 |                 *,
3803 |                 access_key_id: builtins.str = ...,
3804 |                 bucket: builtins.str = ...,
3805 |                 enable_versioning: builtins.bool = ...,
3806 |                 endpoint: builtins.str = ...,
3807 |                 root: builtins.str = ...,
3808 |                 secret_access_key: builtins.str = ...,
3809 |             ) -> typing_extensions.Self:
3810 |                 r"""
3811 |                 Create a new `AsyncOperator` for `obs` service.
3812 | 
3813 |                 Parameters
3814 |                 ----------
3815 |                 access_key_id : builtins.str, optional
3816 |                     Access key id for obs.
3817 |                 bucket : builtins.str, optional
3818 |                     Bucket for obs.
3819 |                 enable_versioning : builtins.bool, optional
3820 |                     Is bucket versioning enabled for this bucket
3821 |                 endpoint : builtins.str, optional
3822 |                     Endpoint for obs.
3823 |                 root : builtins.str, optional
3824 |                     Root for obs.
3825 |                 secret_access_key : builtins.str, optional
3826 |                     Secret access key for obs.
3827 |                 Returns
3828 |                 -------
3829 |                 AsyncOperator
3830 |                     The new `AsyncOperator` for `obs` service
3831 |                 """
3832 |         "#
3833 |     }
3834 | }
3835 | 
3836 | submit! {
3837 |     gen_methods_from_python! {
3838 |         r#"
3839 |         import builtins
3840 |         import typing
3841 |         import typing_extensions
3842 |         import opendal.services
3843 |         class AsyncOperator:
3844 |             @overload
3845 |             def __new__(cls,
3846 |                 scheme: typing.Union[opendal.services.Scheme.Onedrive, typing.Literal["onedrive"]],
3847 |                 /,
3848 |                 *,
3849 |                 access_token: builtins.str = ...,
3850 |                 client_id: builtins.str = ...,
3851 |                 client_secret: builtins.str = ...,
3852 |                 enable_versioning: builtins.bool = ...,
3853 |                 refresh_token: builtins.str = ...,
3854 |                 root: builtins.str = ...,
3855 |             ) -> typing_extensions.Self:
3856 |                 r"""
3857 |                 Create a new `AsyncOperator` for `onedrive` service.
3858 | 
3859 |                 Parameters
3860 |                 ----------
3861 |                 access_token : builtins.str, optional
3862 |                     Microsoft Graph API (also OneDrive API) access token
3863 |                 client_id : builtins.str, optional
3864 |                     Microsoft Graph API Application (client) ID that is
3865 |                     in the Azure's app registration portal
3866 |                 client_secret : builtins.str, optional
3867 |                     Microsoft Graph API Application client secret that
3868 |                     is in the Azure's app registration portal
3869 |                 enable_versioning : builtins.bool, optional
3870 |                     Enabling version support
3871 |                 refresh_token : builtins.str, optional
3872 |                     Microsoft Graph API (also OneDrive API) refresh
3873 |                     token
3874 |                 root : builtins.str, optional
3875 |                     The root path for the OneDrive service for the file
3876 |                     access
3877 |                 Returns
3878 |                 -------
3879 |                 AsyncOperator
3880 |                     The new `AsyncOperator` for `onedrive` service
3881 |                 """
3882 |         "#
3883 |     }
3884 | }
3885 | 
3886 | submit! {
3887 |     gen_methods_from_python! {
3888 |         r#"
3889 |         import builtins
3890 |         import typing
3891 |         import typing_extensions
3892 |         import opendal.services
3893 |         class AsyncOperator:
3894 |             @overload
3895 |             def __new__(cls,
3896 |                 scheme: typing.Union[opendal.services.Scheme.Oss, typing.Literal["oss"]],
3897 |                 /,
3898 |                 *,
3899 |                 access_key_id: builtins.str = ...,
3900 |                 access_key_secret: builtins.str = ...,
3901 |                 addressing_style: builtins.str = ...,
3902 |                 allow_anonymous: builtins.bool = ...,
3903 |                 batch_max_operations: builtins.int = ...,
3904 |                 bucket: builtins.str,
3905 |                 delete_max_size: builtins.int = ...,
3906 |                 enable_versioning: builtins.bool = ...,
3907 |                 endpoint: builtins.str = ...,
3908 |                 oidc_provider_arn: builtins.str = ...,
3909 |                 oidc_token_file: builtins.str = ...,
3910 |                 presign_addressing_style: builtins.str = ...,
3911 |                 presign_endpoint: builtins.str = ...,
3912 |                 role_arn: builtins.str = ...,
3913 |                 role_session_name: builtins.str = ...,
3914 |                 root: builtins.str = ...,
3915 |                 security_token: builtins.str = ...,
3916 |                 server_side_encryption: builtins.str = ...,
3917 |                 server_side_encryption_key_id: builtins.str = ...,
3918 |                 sts_endpoint: builtins.str = ...,
3919 |             ) -> typing_extensions.Self:
3920 |                 r"""
3921 |                 Create a new `AsyncOperator` for `oss` service.
3922 | 
3923 |                 Parameters
3924 |                 ----------
3925 |                 access_key_id : builtins.str, optional
3926 |                     Access key id for oss.
3927 |                     - this field if it's `is_some` - env value:
3928 |                     [`ALIBABA_CLOUD_ACCESS_KEY_ID`]
3929 |                 access_key_secret : builtins.str, optional
3930 |                     Access key secret for oss.
3931 |                     - this field if it's `is_some` - env value:
3932 |                     [`ALIBABA_CLOUD_ACCESS_KEY_SECRET`]
3933 |                 addressing_style : builtins.str, optional
3934 |                     Addressing style for oss.
3935 |                 allow_anonymous : builtins.bool, optional
3936 |                     Allow anonymous for oss.
3937 |                 batch_max_operations : builtins.int, optional
3938 |                     The size of max batch operations.
3939 |                 bucket : builtins.str
3940 |                     Bucket for oss.
3941 |                 delete_max_size : builtins.int, optional
3942 |                     The size of max delete operations.
3943 |                 enable_versioning : builtins.bool, optional
3944 |                     is bucket versioning enabled for this bucket
3945 |                 endpoint : builtins.str, optional
3946 |                     Endpoint for oss.
3947 |                 oidc_provider_arn : builtins.str, optional
3948 |                     `oidc_provider_arn` will be loaded from - this field
3949 |                     if it's `is_some` - env value:
3950 |                     [`ALIBABA_CLOUD_OIDC_PROVIDER_ARN`]
3951 |                 oidc_token_file : builtins.str, optional
3952 |                     `oidc_token_file` will be loaded from - this field
3953 |                     if it's `is_some` - env value:
3954 |                     [`ALIBABA_CLOUD_OIDC_TOKEN_FILE`]
3955 |                 presign_addressing_style : builtins.str, optional
3956 |                     Pre sign addressing style for oss.
3957 |                 presign_endpoint : builtins.str, optional
3958 |                     Presign endpoint for oss.
3959 |                 role_arn : builtins.str, optional
3960 |                     If `role_arn` is set, we will use already known
3961 |                     config as source credential to assume role with
3962 |                     `role_arn`.
3963 |                     - this field if it's `is_some` - env value:
3964 |                     [`ALIBABA_CLOUD_ROLE_ARN`]
3965 |                 role_session_name : builtins.str, optional
3966 |                     role_session_name for this backend.
3967 |                 root : builtins.str, optional
3968 |                     Root for oss.
3969 |                 security_token : builtins.str, optional
3970 |                     `security_token` will be loaded from - this field if
3971 |                     it's `is_some` - env value:
3972 |                     [`ALIBABA_CLOUD_SECURITY_TOKEN`]
3973 |                 server_side_encryption : builtins.str, optional
3974 |                     Server side encryption for oss.
3975 |                 server_side_encryption_key_id : builtins.str, optional
3976 |                     Server side encryption key id for oss.
3977 |                 sts_endpoint : builtins.str, optional
3978 |                     `sts_endpoint` will be loaded from - this field if
3979 |                     it's `is_some` - env value:
3980 |                     [`ALIBABA_CLOUD_STS_ENDPOINT`]
3981 |                 Returns
3982 |                 -------
3983 |                 AsyncOperator
3984 |                     The new `AsyncOperator` for `oss` service
3985 |                 """
3986 |         "#
3987 |     }
3988 | }
3989 | 
3990 | submit! {
3991 |     gen_methods_from_python! {
3992 |         r#"
3993 |         import builtins
3994 |         import typing
3995 |         import typing_extensions
3996 |         import opendal.services
3997 |         class AsyncOperator:
3998 |             @overload
3999 |             def __new__(cls,
4000 |                 scheme: typing.Union[opendal.services.Scheme.Persy, typing.Literal["persy"]],
4001 |                 /,
4002 |                 *,
4003 |                 datafile: builtins.str = ...,
4004 |                 index: builtins.str = ...,
4005 |                 segment: builtins.str = ...,
4006 |             ) -> typing_extensions.Self:
4007 |                 r"""
4008 |                 Create a new `AsyncOperator` for `persy` service.
4009 | 
4010 |                 Parameters
4011 |                 ----------
4012 |                 datafile : builtins.str, optional
4013 |                     That path to the persy data file.
4014 |                     The directory in the path must already exist.
4015 |                 index : builtins.str, optional
4016 |                     That name of the persy index.
4017 |                 segment : builtins.str, optional
4018 |                     That name of the persy segment.
4019 |                 Returns
4020 |                 -------
4021 |                 AsyncOperator
4022 |                     The new `AsyncOperator` for `persy` service
4023 |                 """
4024 |         "#
4025 |     }
4026 | }
4027 | 
4028 | submit! {
4029 |     gen_methods_from_python! {
4030 |         r#"
4031 |         import builtins
4032 |         import typing
4033 |         import typing_extensions
4034 |         import opendal.services
4035 |         class AsyncOperator:
4036 |             @overload
4037 |             def __new__(cls,
4038 |                 scheme: typing.Union[opendal.services.Scheme.Postgresql, typing.Literal["postgresql"]],
4039 |                 /,
4040 |                 *,
4041 |                 connection_string: builtins.str = ...,
4042 |                 key_field: builtins.str = ...,
4043 |                 root: builtins.str = ...,
4044 |                 table: builtins.str = ...,
4045 |                 value_field: builtins.str = ...,
4046 |             ) -> typing_extensions.Self:
4047 |                 r"""
4048 |                 Create a new `AsyncOperator` for `postgresql` service.
4049 | 
4050 |                 Parameters
4051 |                 ----------
4052 |                 connection_string : builtins.str, optional
4053 |                     The URL should be with a scheme of either
4054 |                     `postgres://` or `postgresql://`.
4055 |                     - `postgresql://user@localhost` -
4056 |                     `postgresql://user:password@%2Fvar%2Flib%2Fpostgresql/mydb?connect_timeout=10`
4057 |                     -
4058 |                     `postgresql://user@host1:1234,host2,host3:5678?target_session_attrs=read-write`
4059 |                     -
4060 |                     `postgresql:///mydb?user=user&host=/var/lib/postgresql`
4061 |                     For more information, please visit
4062 |                     <https://docs.rs/sqlx/latest/sqlx/postgres/struct.PgConnectOptions.html>.
4063 |                 key_field : builtins.str, optional
4064 |                     the key field of postgresql
4065 |                 root : builtins.str, optional
4066 |                     Root of this backend.
4067 |                     All operations will happen under this root.
4068 |                     Default to `/` if not set.
4069 |                 table : builtins.str, optional
4070 |                     the table of postgresql
4071 |                 value_field : builtins.str, optional
4072 |                     the value field of postgresql
4073 |                 Returns
4074 |                 -------
4075 |                 AsyncOperator
4076 |                     The new `AsyncOperator` for `postgresql` service
4077 |                 """
4078 |         "#
4079 |     }
4080 | }
4081 | 
4082 | submit! {
4083 |     gen_methods_from_python! {
4084 |         r#"
4085 |         import builtins
4086 |         import typing
4087 |         import typing_extensions
4088 |         import opendal.services
4089 |         class AsyncOperator:
4090 |             @overload
4091 |             def __new__(cls,
4092 |                 scheme: typing.Union[opendal.services.Scheme.Redb, typing.Literal["redb"]],
4093 |                 /,
4094 |                 *,
4095 |                 datadir: builtins.str = ...,
4096 |                 root: builtins.str = ...,
4097 |                 table: builtins.str = ...,
4098 |             ) -> typing_extensions.Self:
4099 |                 r"""
4100 |                 Create a new `AsyncOperator` for `redb` service.
4101 | 
4102 |                 Parameters
4103 |                 ----------
4104 |                 datadir : builtins.str, optional
4105 |                     path to the redb data directory.
4106 |                 root : builtins.str, optional
4107 |                     The root for redb.
4108 |                 table : builtins.str, optional
4109 |                     The table name for redb.
4110 |                 Returns
4111 |                 -------
4112 |                 AsyncOperator
4113 |                     The new `AsyncOperator` for `redb` service
4114 |                 """
4115 |         "#
4116 |     }
4117 | }
4118 | 
4119 | submit! {
4120 |     gen_methods_from_python! {
4121 |         r#"
4122 |         import builtins
4123 |         import typing
4124 |         import typing_extensions
4125 |         import opendal.services
4126 |         class AsyncOperator:
4127 |             @overload
4128 |             def __new__(cls,
4129 |                 scheme: typing.Union[opendal.services.Scheme.Redis, typing.Literal["redis"]],
4130 |                 /,
4131 |                 *,
4132 |                 cluster_endpoints: builtins.str = ...,
4133 |                 connection_pool_max_size: builtins.int = ...,
4134 |                 db: builtins.int,
4135 |                 default_ttl: typing.Any = ...,
4136 |                 endpoint: builtins.str = ...,
4137 |                 password: builtins.str = ...,
4138 |                 root: builtins.str = ...,
4139 |                 username: builtins.str = ...,
4140 |             ) -> typing_extensions.Self:
4141 |                 r"""
4142 |                 Create a new `AsyncOperator` for `redis` service.
4143 | 
4144 |                 Parameters
4145 |                 ----------
4146 |                 cluster_endpoints : builtins.str, optional
4147 |                     network address of the Redis cluster service.
4148 |                     Can be
4149 |                     "tcp://127.0.0.1:6379,tcp://127.0.0.1:6380,tcp://127.0.0.1:6381",
4150 |                     e.g.
4151 |                     default is None
4152 |                 connection_pool_max_size : builtins.int, optional
4153 |                     The maximum number of connections allowed.
4154 |                     default is 10
4155 |                 db : builtins.int
4156 |                     the number of DBs redis can take is unlimited
4157 |                     default is db 0
4158 |                 default_ttl : typing.Any, optional
4159 |                     The default ttl for put operations..
4160 |                     a human readable duration string see
4161 |                     https://docs.rs/humantime/latest/humantime/fn.parse_duration.html
4162 |                     for more details
4163 |                 endpoint : builtins.str, optional
4164 |                     network address of the Redis service.
4165 |                     Can be "tcp://127.0.0.1:6379", e.g.
4166 |                     default is "tcp://127.0.0.1:6379"
4167 |                 password : builtins.str, optional
4168 |                     the password for authentication default is None
4169 |                 root : builtins.str, optional
4170 |                     the working directory of the Redis service.
4171 |                     Can be "/path/to/dir" default is "/"
4172 |                 username : builtins.str, optional
4173 |                     the username to connect redis service.
4174 |                     default is None
4175 |                 Returns
4176 |                 -------
4177 |                 AsyncOperator
4178 |                     The new `AsyncOperator` for `redis` service
4179 |                 """
4180 |         "#
4181 |     }
4182 | }
4183 | 
4184 | submit! {
4185 |     gen_methods_from_python! {
4186 |         r#"
4187 |         import builtins
4188 |         import typing
4189 |         import typing_extensions
4190 |         import opendal.services
4191 |         class AsyncOperator:
4192 |             @overload
4193 |             def __new__(cls,
4194 |                 scheme: typing.Union[opendal.services.Scheme.S3, typing.Literal["s3"]],
4195 |                 /,
4196 |                 *,
4197 |                 access_key_id: builtins.str = ...,
4198 |                 allow_anonymous: builtins.bool = ...,
4199 |                 batch_max_operations: builtins.int = ...,
4200 |                 bucket: builtins.str,
4201 |                 checksum_algorithm: builtins.str = ...,
4202 |                 default_storage_class: builtins.str = ...,
4203 |                 delete_max_size: builtins.int = ...,
4204 |                 disable_config_load: builtins.bool = ...,
4205 |                 disable_ec2_metadata: builtins.bool = ...,
4206 |                 disable_list_objects_v2: builtins.bool = ...,
4207 |                 disable_stat_with_override: builtins.bool = ...,
4208 |                 disable_write_with_if_match: builtins.bool = ...,
4209 |                 enable_request_payer: builtins.bool = ...,
4210 |                 enable_versioning: builtins.bool = ...,
4211 |                 enable_virtual_host_style: builtins.bool = ...,
4212 |                 enable_write_with_append: builtins.bool = ...,
4213 |                 endpoint: builtins.str = ...,
4214 |                 external_id: builtins.str = ...,
4215 |                 region: builtins.str = ...,
4216 |                 role_arn: builtins.str = ...,
4217 |                 role_session_name: builtins.str = ...,
4218 |                 root: builtins.str = ...,
4219 |                 secret_access_key: builtins.str = ...,
4220 |                 server_side_encryption: builtins.str = ...,
4221 |                 server_side_encryption_aws_kms_key_id: builtins.str = ...,
4222 |                 server_side_encryption_customer_algorithm: builtins.str = ...,
4223 |                 server_side_encryption_customer_key: builtins.str = ...,
4224 |                 server_side_encryption_customer_key_md5: builtins.str = ...,
4225 |                 session_token: builtins.str = ...,
4226 |             ) -> typing_extensions.Self:
4227 |                 r"""
4228 |                 Create a new `AsyncOperator` for `s3` service.
4229 | 
4230 |                 Parameters
4231 |                 ----------
4232 |                 access_key_id : builtins.str, optional
4233 |                     access_key_id of this backend.
4234 |                     - If access_key_id is set, we will take user's input
4235 |                     first.
4236 |                     - If not, we will try to load it from environment.
4237 |                 allow_anonymous : builtins.bool, optional
4238 |                     Allow anonymous will allow opendal to send request
4239 |                     without signing when credential is not loaded.
4240 |                 batch_max_operations : builtins.int, optional
4241 |                     Set maximum batch operations of this backend.
4242 |                     Some compatible services have a limit on the number
4243 |                     of operations in a batch request.
4244 |                     For example, R2 could return `Internal Error` while
4245 |                     batch delete 1000 files.
4246 |                     Please tune this value based on services' document.
4247 |                 bucket : builtins.str
4248 |                     bucket name of this backend.
4249 |                     required.
4250 |                 checksum_algorithm : builtins.str, optional
4251 |                     Checksum Algorithm to use when sending checksums in
4252 |                     HTTP headers.
4253 |                     This is necessary when writing to AWS S3 Buckets
4254 |                     with Object Lock enabled for example.
4255 |                     Available options: - "crc32c" - "md5"
4256 |                 default_storage_class : builtins.str, optional
4257 |                     default storage_class for this backend.
4258 |                     Available values: - `DEEP_ARCHIVE` - `GLACIER` -
4259 |                     `GLACIER_IR` - `INTELLIGENT_TIERING` - `ONEZONE_IA`
4260 |                     - `EXPRESS_ONEZONE` - `OUTPOSTS` -
4261 |                     `REDUCED_REDUNDANCY` - `STANDARD` - `STANDARD_IA` S3
4262 |                     compatible services don't support all of them
4263 |                 delete_max_size : builtins.int, optional
4264 |                     Set the maximum delete size of this backend.
4265 |                     Some compatible services have a limit on the number
4266 |                     of operations in a batch request.
4267 |                     For example, R2 could return `Internal Error` while
4268 |                     batch delete 1000 files.
4269 |                     Please tune this value based on services' document.
4270 |                 disable_config_load : builtins.bool, optional
4271 |                     Disable config load so that opendal will not load
4272 |                     config from environment.
4273 |                     For examples: - envs like `AWS_ACCESS_KEY_ID` -
4274 |                     files like `~/.aws/config`
4275 |                 disable_ec2_metadata : builtins.bool, optional
4276 |                     Disable load credential from ec2 metadata.
4277 |                     This option is used to disable the default behavior
4278 |                     of opendal to load credential from ec2 metadata,
4279 |                     a.k.a., IMDSv2
4280 |                 disable_list_objects_v2 : builtins.bool, optional
4281 |                     OpenDAL uses List Objects V2 by default to list
4282 |                     objects.
4283 |                     However, some legacy services do not yet support V2.
4284 |                     This option allows users to switch back to the older
4285 |                     List Objects V1.
4286 |                 disable_stat_with_override : builtins.bool, optional
4287 |                     Disable stat with override so that opendal will not
4288 |                     send stat request with override queries.
4289 |                     For example, R2 doesn't support stat with
4290 |                     `response_content_type` query.
4291 |                 disable_write_with_if_match : builtins.bool, optional
4292 |                     Disable write with if match so that opendal will not
4293 |                     send write request with if match headers.
4294 |                     For example, Ceph RADOS S3 doesn't support write
4295 |                     with if matched.
4296 |                 enable_request_payer : builtins.bool, optional
4297 |                     Indicates whether the client agrees to pay for the
4298 |                     requests made to the S3 bucket.
4299 |                 enable_versioning : builtins.bool, optional
4300 |                     is bucket versioning enabled for this bucket
4301 |                 enable_virtual_host_style : builtins.bool, optional
4302 |                     Enable virtual host style so that opendal will send
4303 |                     API requests in virtual host style instead of path
4304 |                     style.
4305 |                     - By default, opendal will send API to
4306 |                     `https://s3.us-east-1.amazonaws.com/bucket_name` -
4307 |                     Enabled, opendal will send API to
4308 |                     `https://bucket_name.s3.us-east-1.amazonaws.com`
4309 |                 enable_write_with_append : builtins.bool, optional
4310 |                     Enable write with append so that opendal will send
4311 |                     write request with append headers.
4312 |                 endpoint : builtins.str, optional
4313 |                     endpoint of this backend.
4314 |                     Endpoint must be full uri, e.g.
4315 |                     - AWS S3: `https://s3.amazonaws.com` or
4316 |                     `https://s3.{region}.amazonaws.com` - Cloudflare R2:
4317 |                     `https://<ACCOUNT_ID>.r2.cloudflarestorage.com` -
4318 |                     Aliyun OSS: `https://{region}.aliyuncs.com` -
4319 |                     Tencent COS: `https://cos.{region}.myqcloud.com` -
4320 |                     Minio: `http://127.0.0.1:9000` If user inputs
4321 |                     endpoint without scheme like "s3.amazonaws.com", we
4322 |                     will prepend "https://" before it.
4323 |                     - If endpoint is set, we will take user's input
4324 |                     first.
4325 |                     - If not, we will try to load it from environment.
4326 |                     - If still not set, default to
4327 |                     `https://s3.amazonaws.com`.
4328 |                 external_id : builtins.str, optional
4329 |                     external_id for this backend.
4330 |                 region : builtins.str, optional
4331 |                     Region represent the signing region of this
4332 |                     endpoint.
4333 |                     This is required if you are using the default AWS S3
4334 |                     endpoint.
4335 |                     If using a custom endpoint, - If region is set, we
4336 |                     will take user's input first.
4337 |                     - If not, we will try to load it from environment.
4338 |                 role_arn : builtins.str, optional
4339 |                     role_arn for this backend.
4340 |                     If `role_arn` is set, we will use already known
4341 |                     config as source credential to assume role with
4342 |                     `role_arn`.
4343 |                 role_session_name : builtins.str, optional
4344 |                     role_session_name for this backend.
4345 |                 root : builtins.str, optional
4346 |                     root of this backend.
4347 |                     All operations will happen under this root.
4348 |                     default to `/` if not set.
4349 |                 secret_access_key : builtins.str, optional
4350 |                     secret_access_key of this backend.
4351 |                     - If secret_access_key is set, we will take user's
4352 |                     input first.
4353 |                     - If not, we will try to load it from environment.
4354 |                 server_side_encryption : builtins.str, optional
4355 |                     server_side_encryption for this backend.
4356 |                     Available values: `AES256`, `aws:kms`.
4357 |                 server_side_encryption_aws_kms_key_id : builtins.str, optional
4358 |                     server_side_encryption_aws_kms_key_id for this
4359 |                     backend - If `server_side_encryption` set to
4360 |                     `aws:kms`, and
4361 |                     `server_side_encryption_aws_kms_key_id` is not set,
4362 |                     S3 will use aws managed kms key to encrypt data.
4363 |                     - If `server_side_encryption` set to `aws:kms`, and
4364 |                     `server_side_encryption_aws_kms_key_id` is a valid
4365 |                     kms key id, S3 will use the provided kms key to
4366 |                     encrypt data.
4367 |                     - If the `server_side_encryption_aws_kms_key_id` is
4368 |                     invalid or not found, an error will be returned.
4369 |                     - If `server_side_encryption` is not `aws:kms`,
4370 |                     setting `server_side_encryption_aws_kms_key_id` is a
4371 |                     noop.
4372 |                 server_side_encryption_customer_algorithm : builtins.str, optional
4373 |                     server_side_encryption_customer_algorithm for this
4374 |                     backend.
4375 |                     Available values: `AES256`.
4376 |                 server_side_encryption_customer_key : builtins.str, optional
4377 |                     server_side_encryption_customer_key for this
4378 |                     backend.
4379 |                     Value: BASE64-encoded key that matches algorithm
4380 |                     specified in
4381 |                     `server_side_encryption_customer_algorithm`.
4382 |                 server_side_encryption_customer_key_md5 : builtins.str, optional
4383 |                     Set server_side_encryption_customer_key_md5 for this
4384 |                     backend.
4385 |                     Value: MD5 digest of key specified in
4386 |                     `server_side_encryption_customer_key`.
4387 |                 session_token : builtins.str, optional
4388 |                     session_token (aka, security token) of this backend.
4389 |                     This token will expire after sometime, it's
4390 |                     recommended to set session_token by hand.
4391 |                 Returns
4392 |                 -------
4393 |                 AsyncOperator
4394 |                     The new `AsyncOperator` for `s3` service
4395 |                 """
4396 |         "#
4397 |     }
4398 | }
4399 | 
4400 | submit! {
4401 |     gen_methods_from_python! {
4402 |         r#"
4403 |         import builtins
4404 |         import typing
4405 |         import typing_extensions
4406 |         import opendal.services
4407 |         class AsyncOperator:
4408 |             @overload
4409 |             def __new__(cls,
4410 |                 scheme: typing.Union[opendal.services.Scheme.Seafile, typing.Literal["seafile"]],
4411 |                 /,
4412 |                 *,
4413 |                 endpoint: builtins.str = ...,
4414 |                 password: builtins.str = ...,
4415 |                 repo_name: builtins.str,
4416 |                 root: builtins.str = ...,
4417 |                 username: builtins.str = ...,
4418 |             ) -> typing_extensions.Self:
4419 |                 r"""
4420 |                 Create a new `AsyncOperator` for `seafile` service.
4421 | 
4422 |                 Parameters
4423 |                 ----------
4424 |                 endpoint : builtins.str, optional
4425 |                     endpoint address of this backend.
4426 |                 password : builtins.str, optional
4427 |                     password of this backend.
4428 |                 repo_name : builtins.str
4429 |                     repo_name of this backend.
4430 |                     required.
4431 |                 root : builtins.str, optional
4432 |                     root of this backend.
4433 |                     All operations will happen under this root.
4434 |                 username : builtins.str, optional
4435 |                     username of this backend.
4436 |                 Returns
4437 |                 -------
4438 |                 AsyncOperator
4439 |                     The new `AsyncOperator` for `seafile` service
4440 |                 """
4441 |         "#
4442 |     }
4443 | }
4444 | 
4445 | submit! {
4446 |     gen_methods_from_python! {
4447 |         r#"
4448 |         import builtins
4449 |         import typing
4450 |         import typing_extensions
4451 |         import opendal.services
4452 |         class AsyncOperator:
4453 |             @overload
4454 |             def __new__(cls,
4455 |                 scheme: typing.Union[opendal.services.Scheme.Sftp, typing.Literal["sftp"]],
4456 |                 /,
4457 |                 *,
4458 |                 enable_copy: builtins.bool = ...,
4459 |                 endpoint: builtins.str = ...,
4460 |                 key: builtins.str = ...,
4461 |                 known_hosts_strategy: builtins.str = ...,
4462 |                 root: builtins.str = ...,
4463 |                 user: builtins.str = ...,
4464 |             ) -> typing_extensions.Self:
4465 |                 r"""
4466 |                 Create a new `AsyncOperator` for `sftp` service.
4467 | 
4468 |                 Parameters
4469 |                 ----------
4470 |                 enable_copy : builtins.bool, optional
4471 |                     enable_copy of this backend
4472 |                 endpoint : builtins.str, optional
4473 |                     endpoint of this backend
4474 |                 key : builtins.str, optional
4475 |                     key of this backend
4476 |                 known_hosts_strategy : builtins.str, optional
4477 |                     known_hosts_strategy of this backend
4478 |                 root : builtins.str, optional
4479 |                     root of this backend
4480 |                 user : builtins.str, optional
4481 |                     user of this backend
4482 |                 Returns
4483 |                 -------
4484 |                 AsyncOperator
4485 |                     The new `AsyncOperator` for `sftp` service
4486 |                 """
4487 |         "#
4488 |     }
4489 | }
4490 | 
4491 | submit! {
4492 |     gen_methods_from_python! {
4493 |         r#"
4494 |         import builtins
4495 |         import typing
4496 |         import typing_extensions
4497 |         import opendal.services
4498 |         class AsyncOperator:
4499 |             @overload
4500 |             def __new__(cls,
4501 |                 scheme: typing.Union[opendal.services.Scheme.Sled, typing.Literal["sled"]],
4502 |                 /,
4503 |                 *,
4504 |                 datadir: builtins.str = ...,
4505 |                 root: builtins.str = ...,
4506 |                 tree: builtins.str = ...,
4507 |             ) -> typing_extensions.Self:
4508 |                 r"""
4509 |                 Create a new `AsyncOperator` for `sled` service.
4510 | 
4511 |                 Parameters
4512 |                 ----------
4513 |                 datadir : builtins.str, optional
4514 |                     That path to the sled data directory.
4515 |                 root : builtins.str, optional
4516 |                     The root for sled.
4517 |                 tree : builtins.str, optional
4518 |                     The tree for sled.
4519 |                 Returns
4520 |                 -------
4521 |                 AsyncOperator
4522 |                     The new `AsyncOperator` for `sled` service
4523 |                 """
4524 |         "#
4525 |     }
4526 | }
4527 | 
4528 | submit! {
4529 |     gen_methods_from_python! {
4530 |         r#"
4531 |         import builtins
4532 |         import typing
4533 |         import typing_extensions
4534 |         import opendal.services
4535 |         class AsyncOperator:
4536 |             @overload
4537 |             def __new__(cls,
4538 |                 scheme: typing.Union[opendal.services.Scheme.Sqlite, typing.Literal["sqlite"]],
4539 |                 /,
4540 |                 *,
4541 |                 connection_string: builtins.str = ...,
4542 |                 key_field: builtins.str = ...,
4543 |                 root: builtins.str = ...,
4544 |                 table: builtins.str = ...,
4545 |                 value_field: builtins.str = ...,
4546 |             ) -> typing_extensions.Self:
4547 |                 r"""
4548 |                 Create a new `AsyncOperator` for `sqlite` service.
4549 | 
4550 |                 Parameters
4551 |                 ----------
4552 |                 connection_string : builtins.str, optional
4553 |                     Set the connection_string of the sqlite service.
4554 |                     This connection string is used to connect to the
4555 |                     sqlite service.
4556 |                     The format of connect string resembles the url
4557 |                     format of the sqlite client: - `sqlite::memory:` -
4558 |                     `sqlite:data.db` - `sqlite://data.db` For more
4559 |                     information, please visit
4560 |                     <https://docs.rs/sqlx/latest/sqlx/sqlite/struct.SqliteConnectOptions.html>.
4561 |                 key_field : builtins.str, optional
4562 |                     Set the key field name of the sqlite service to
4563 |                     read/write.
4564 |                     Default to `key` if not specified.
4565 |                 root : builtins.str, optional
4566 |                     set the working directory, all operations will be
4567 |                     performed under it.
4568 |                     default: "/"
4569 |                 table : builtins.str, optional
4570 |                     Set the table name of the sqlite service to
4571 |                     read/write.
4572 |                 value_field : builtins.str, optional
4573 |                     Set the value field name of the sqlite service to
4574 |                     read/write.
4575 |                     Default to `value` if not specified.
4576 |                 Returns
4577 |                 -------
4578 |                 AsyncOperator
4579 |                     The new `AsyncOperator` for `sqlite` service
4580 |                 """
4581 |         "#
4582 |     }
4583 | }
4584 | 
4585 | submit! {
4586 |     gen_methods_from_python! {
4587 |         r#"
4588 |         import builtins
4589 |         import typing
4590 |         import typing_extensions
4591 |         import opendal.services
4592 |         class AsyncOperator:
4593 |             @overload
4594 |             def __new__(cls,
4595 |                 scheme: typing.Union[opendal.services.Scheme.Swift, typing.Literal["swift"]],
4596 |                 /,
4597 |                 *,
4598 |                 container: builtins.str = ...,
4599 |                 endpoint: builtins.str = ...,
4600 |                 root: builtins.str = ...,
4601 |                 token: builtins.str = ...,
4602 |             ) -> typing_extensions.Self:
4603 |                 r"""
4604 |                 Create a new `AsyncOperator` for `swift` service.
4605 | 
4606 |                 Parameters
4607 |                 ----------
4608 |                 container : builtins.str, optional
4609 |                     The container for Swift.
4610 |                 endpoint : builtins.str, optional
4611 |                     The endpoint for Swift.
4612 |                 root : builtins.str, optional
4613 |                     The root for Swift.
4614 |                 token : builtins.str, optional
4615 |                     The token for Swift.
4616 |                 Returns
4617 |                 -------
4618 |                 AsyncOperator
4619 |                     The new `AsyncOperator` for `swift` service
4620 |                 """
4621 |         "#
4622 |     }
4623 | }
4624 | 
4625 | submit! {
4626 |     gen_methods_from_python! {
4627 |         r#"
4628 |         import builtins
4629 |         import typing
4630 |         import typing_extensions
4631 |         import opendal.services
4632 |         class AsyncOperator:
4633 |             @overload
4634 |             def __new__(cls,
4635 |                 scheme: typing.Union[opendal.services.Scheme.Upyun, typing.Literal["upyun"]],
4636 |                 /,
4637 |                 *,
4638 |                 bucket: builtins.str,
4639 |                 operator: builtins.str = ...,
4640 |                 password: builtins.str = ...,
4641 |                 root: builtins.str = ...,
4642 |             ) -> typing_extensions.Self:
4643 |                 r"""
4644 |                 Create a new `AsyncOperator` for `upyun` service.
4645 | 
4646 |                 Parameters
4647 |                 ----------
4648 |                 bucket : builtins.str
4649 |                     bucket address of this backend.
4650 |                 operator : builtins.str, optional
4651 |                     username of this backend.
4652 |                 password : builtins.str, optional
4653 |                     password of this backend.
4654 |                 root : builtins.str, optional
4655 |                     root of this backend.
4656 |                     All operations will happen under this root.
4657 |                 Returns
4658 |                 -------
4659 |                 AsyncOperator
4660 |                     The new `AsyncOperator` for `upyun` service
4661 |                 """
4662 |         "#
4663 |     }
4664 | }
4665 | 
4666 | submit! {
4667 |     gen_methods_from_python! {
4668 |         r#"
4669 |         import builtins
4670 |         import typing
4671 |         import typing_extensions
4672 |         import opendal.services
4673 |         class AsyncOperator:
4674 |             @overload
4675 |             def __new__(cls,
4676 |                 scheme: typing.Union[opendal.services.Scheme.VercelArtifacts, typing.Literal["vercel-artifacts"]],
4677 |                 /,
4678 |                 *,
4679 |                 access_token: builtins.str = ...,
4680 |             ) -> typing_extensions.Self:
4681 |                 r"""
4682 |                 Create a new `AsyncOperator` for `vercel-artifacts` service.
4683 | 
4684 |                 Parameters
4685 |                 ----------
4686 |                 access_token : builtins.str, optional
4687 |                     The access token for Vercel.
4688 |                 Returns
4689 |                 -------
4690 |                 AsyncOperator
4691 |                     The new `AsyncOperator` for `vercel-artifacts` service
4692 |                 """
4693 |         "#
4694 |     }
4695 | }
4696 | 
4697 | submit! {
4698 |     gen_methods_from_python! {
4699 |         r#"
4700 |         import builtins
4701 |         import typing
4702 |         import typing_extensions
4703 |         import opendal.services
4704 |         class AsyncOperator:
4705 |             @overload
4706 |             def __new__(cls,
4707 |                 scheme: typing.Union[opendal.services.Scheme.Webdav, typing.Literal["webdav"]],
4708 |                 /,
4709 |                 *,
4710 |                 disable_copy: builtins.bool = ...,
4711 |                 endpoint: builtins.str = ...,
4712 |                 password: builtins.str = ...,
4713 |                 root: builtins.str = ...,
4714 |                 token: builtins.str = ...,
4715 |                 username: builtins.str = ...,
4716 |             ) -> typing_extensions.Self:
4717 |                 r"""
4718 |                 Create a new `AsyncOperator` for `webdav` service.
4719 | 
4720 |                 Parameters
4721 |                 ----------
4722 |                 disable_copy : builtins.bool, optional
4723 |                     WebDAV Service doesn't support copy.
4724 |                 endpoint : builtins.str, optional
4725 |                     endpoint of this backend
4726 |                 password : builtins.str, optional
4727 |                     password of this backend
4728 |                 root : builtins.str, optional
4729 |                     root of this backend
4730 |                 token : builtins.str, optional
4731 |                     token of this backend
4732 |                 username : builtins.str, optional
4733 |                     username of this backend
4734 |                 Returns
4735 |                 -------
4736 |                 AsyncOperator
4737 |                     The new `AsyncOperator` for `webdav` service
4738 |                 """
4739 |         "#
4740 |     }
4741 | }
4742 | 
4743 | submit! {
4744 |     gen_methods_from_python! {
4745 |         r#"
4746 |         import builtins
4747 |         import typing
4748 |         import typing_extensions
4749 |         import opendal.services
4750 |         class AsyncOperator:
4751 |             @overload
4752 |             def __new__(cls,
4753 |                 scheme: typing.Union[opendal.services.Scheme.Webhdfs, typing.Literal["webhdfs"]],
4754 |                 /,
4755 |                 *,
4756 |                 atomic_write_dir: builtins.str = ...,
4757 |                 delegation: builtins.str = ...,
4758 |                 disable_list_batch: builtins.bool = ...,
4759 |                 endpoint: builtins.str = ...,
4760 |                 root: builtins.str = ...,
4761 |                 user_name: builtins.str = ...,
4762 |             ) -> typing_extensions.Self:
4763 |                 r"""
4764 |                 Create a new `AsyncOperator` for `webhdfs` service.
4765 | 
4766 |                 Parameters
4767 |                 ----------
4768 |                 atomic_write_dir : builtins.str, optional
4769 |                     atomic_write_dir of this backend
4770 |                 delegation : builtins.str, optional
4771 |                     Delegation token for webhdfs.
4772 |                 disable_list_batch : builtins.bool, optional
4773 |                     Disable batch listing
4774 |                 endpoint : builtins.str, optional
4775 |                     Endpoint for webhdfs.
4776 |                 root : builtins.str, optional
4777 |                     Root for webhdfs.
4778 |                 user_name : builtins.str, optional
4779 |                     Name of the user for webhdfs.
4780 |                 Returns
4781 |                 -------
4782 |                 AsyncOperator
4783 |                     The new `AsyncOperator` for `webhdfs` service
4784 |                 """
4785 |         "#
4786 |     }
4787 | }
4788 | 
4789 | submit! {
4790 |     gen_methods_from_python! {
4791 |         r#"
4792 |         import builtins
4793 |         import typing
4794 |         import typing_extensions
4795 |         import opendal.services
4796 |         class AsyncOperator:
4797 |             @overload
4798 |             def __new__(cls,
4799 |                 scheme: typing.Union[opendal.services.Scheme.YandexDisk, typing.Literal["yandex-disk"]],
4800 |                 /,
4801 |                 *,
4802 |                 access_token: builtins.str,
4803 |                 root: builtins.str = ...,
4804 |             ) -> typing_extensions.Self:
4805 |                 r"""
4806 |                 Create a new `AsyncOperator` for `yandex-disk` service.
4807 | 
4808 |                 Parameters
4809 |                 ----------
4810 |                 access_token : builtins.str
4811 |                     yandex disk oauth access_token.
4812 |                 root : builtins.str, optional
4813 |                     root of this backend.
4814 |                     All operations will happen under this root.
4815 |                 Returns
4816 |                 -------
4817 |                 AsyncOperator
4818 |                     The new `AsyncOperator` for `yandex-disk` service
4819 |                 """
4820 |         "#
4821 |     }
4822 | }
4823 | 
4824 | macro_rules! impl_enum_to_str {
4825 |     ($src:ty { $(
4826 |         $(#[$cfg:meta])?
4827 |         $variant:ident => $value:literal
4828 |     ),* $(,)? }) => {
4829 |         impl From<$src> for &'static str {
4830 |             fn from(value: $src) -> Self {
4831 |                 match value {
4832 |                     $(
4833 |                         $(#[$cfg])?
4834 |                         <$src>::$variant => $value,
4835 |                     )*
4836 |                 }
4837 |             }
4838 |         }
4839 | 
4840 |         impl From<$src> for String {
4841 |             fn from(value: $src) -> Self {
4842 |                 let v: &'static str = value.into();
4843 |                 v.to_string()
4844 |             }
4845 |         }
4846 |     };
4847 | }
4848 | 
4849 | impl_enum_to_str!(
4850 |     PyScheme {
4851 |         #[cfg(feature = "services-aliyun-drive")]
4852 |         AliyunDrive => "aliyun-drive",
4853 |         #[cfg(feature = "services-alluxio")]
4854 |         Alluxio => "alluxio",
4855 |         #[cfg(feature = "services-azblob")]
4856 |         Azblob => "azblob",
4857 |         #[cfg(feature = "services-azdls")]
4858 |         Azdls => "azdls",
4859 |         #[cfg(feature = "services-azfile")]
4860 |         Azfile => "azfile",
4861 |         #[cfg(feature = "services-b2")]
4862 |         B2 => "b2",
4863 |         #[cfg(feature = "services-cacache")]
4864 |         Cacache => "cacache",
4865 |         #[cfg(feature = "services-cos")]
4866 |         Cos => "cos",
4867 |         #[cfg(feature = "services-dashmap")]
4868 |         Dashmap => "dashmap",
4869 |         #[cfg(feature = "services-dropbox")]
4870 |         Dropbox => "dropbox",
4871 |         #[cfg(feature = "services-fs")]
4872 |         Fs => "fs",
4873 |         #[cfg(feature = "services-ftp")]
4874 |         Ftp => "ftp",
4875 |         #[cfg(feature = "services-gcs")]
4876 |         Gcs => "gcs",
4877 |         #[cfg(feature = "services-gdrive")]
4878 |         Gdrive => "gdrive",
4879 |         #[cfg(feature = "services-ghac")]
4880 |         Ghac => "ghac",
4881 |         #[cfg(feature = "services-gridfs")]
4882 |         Gridfs => "gridfs",
4883 |         #[cfg(feature = "services-hdfs-native")]
4884 |         HdfsNative => "hdfs-native",
4885 |         #[cfg(feature = "services-http")]
4886 |         Http => "http",
4887 |         #[cfg(feature = "services-huggingface")]
4888 |         Huggingface => "huggingface",
4889 |         #[cfg(feature = "services-ipfs")]
4890 |         Ipfs => "ipfs",
4891 |         #[cfg(feature = "services-ipmfs")]
4892 |         Ipmfs => "ipmfs",
4893 |         #[cfg(feature = "services-koofr")]
4894 |         Koofr => "koofr",
4895 |         #[cfg(feature = "services-memcached")]
4896 |         Memcached => "memcached",
4897 |         #[cfg(feature = "services-memory")]
4898 |         Memory => "memory",
4899 |         #[cfg(feature = "services-mini-moka")]
4900 |         MiniMoka => "mini-moka",
4901 |         #[cfg(feature = "services-moka")]
4902 |         Moka => "moka",
4903 |         #[cfg(feature = "services-mongodb")]
4904 |         Mongodb => "mongodb",
4905 |         #[cfg(feature = "services-mysql")]
4906 |         Mysql => "mysql",
4907 |         #[cfg(feature = "services-obs")]
4908 |         Obs => "obs",
4909 |         #[cfg(feature = "services-onedrive")]
4910 |         Onedrive => "onedrive",
4911 |         #[cfg(feature = "services-oss")]
4912 |         Oss => "oss",
4913 |         #[cfg(feature = "services-persy")]
4914 |         Persy => "persy",
4915 |         #[cfg(feature = "services-postgresql")]
4916 |         Postgresql => "postgresql",
4917 |         #[cfg(feature = "services-redb")]
4918 |         Redb => "redb",
4919 |         #[cfg(feature = "services-redis")]
4920 |         Redis => "redis",
4921 |         #[cfg(feature = "services-s3")]
4922 |         S3 => "s3",
4923 |         #[cfg(feature = "services-seafile")]
4924 |         Seafile => "seafile",
4925 |         #[cfg(feature = "services-sftp")]
4926 |         Sftp => "sftp",
4927 |         #[cfg(feature = "services-sled")]
4928 |         Sled => "sled",
4929 |         #[cfg(feature = "services-sqlite")]
4930 |         Sqlite => "sqlite",
4931 |         #[cfg(feature = "services-swift")]
4932 |         Swift => "swift",
4933 |         #[cfg(feature = "services-upyun")]
4934 |         Upyun => "upyun",
4935 |         #[cfg(feature = "services-vercel-artifacts")]
4936 |         VercelArtifacts => "vercel-artifacts",
4937 |         #[cfg(feature = "services-webdav")]
4938 |         Webdav => "webdav",
4939 |         #[cfg(feature = "services-webhdfs")]
4940 |         Webhdfs => "webhdfs",
4941 |         #[cfg(feature = "services-yandex-disk")]
4942 |         YandexDisk => "yandex-disk",
4943 |     }
4944 | );
4945 | 
```
Page 73/74FirstPrevNextLast