1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/*!
A library for supporting various backends in rustic.
# Overview
This section gives a brief overview of the primary types in this crate:
`rustic_backend` is a support crate for `rustic_core` which provides a way to access a
repository using different backends.
The primary types in this crate are:
- `BackendOptions` - A struct for configuring options for a used backend.
- `SupportedBackend` - An enum for the supported backends.
The following backends are currently supported and can be enabled with features:
- `LocalBackend` - Backend for accessing a local filesystem.
- `OpenDALBackend` - Backend for accessing a `OpenDAL` filesystem.
- `RcloneBackend` - Backend for accessing a Rclone filesystem.
- `RestBackend` - Backend for accessing a REST API.
## Usage & Examples
Due to being a support crate for `rustic_core`, there are no examples here.
Please check the examples in the [`rustic_core`](https://crates.io/crates/rustic_core) crate.
## Crate features
This crate exposes a few features for controlling dependency usage:
- **cli** - Enables support for CLI features by enabling `merge` and `clap`
features. *This feature is disabled by default*.
- **clap** - Enables a dependency on the `clap` crate and enables parsing from
the commandline. *This feature is disabled by default*.
- **merge** - Enables support for merging multiple values into one, which
enables the `conflate` dependency. This is needed for parsing commandline
arguments and merging them into one (e.g. `config`). *This feature is disabled
by default*.
### Backend-related features
- **opendal** - Enables support for the `opendal` backend. *This feature is
enabled by default*.
- **rclone** - Enables support for the `rclone` backend. *This feature is
enabled by default*.
- **rest** - Enables support for the `rest` backend. *This feature is enabled by
default*.
*/
// formatting args are used for error messages
/// Local backend for Rustic.
/// Utility functions for the backend.
/// `OpenDAL` backend for Rustic.
/// `Rclone` backend for Rustic.
/// REST backend for Rustic.
pub use crateOpenDALBackend;
pub use crateRcloneBackend;
pub use crateRestBackend;
// rustic_backend Public API
pub use crate::;
// re-export for error handling
pub use ;