pub enum XvcStorage {
Local(XvcLocalStorage),
Generic(XvcGenericStorage),
Rsync(XvcRsyncStorage),
S3(XvcS3Storage),
R2(XvcR2Storage),
Gcs(XvcGcsStorage),
Minio(XvcMinioStorage),
Wasabi(XvcWasabiStorage),
DigitalOcean(XvcDigitalOceanStorage),
}Expand description
A storage that can be used to send and receive files with several different backends
Variants§
Local(XvcLocalStorage)
A local storage is a directory that is on the same machine as the repository.
Generic(XvcGenericStorage)
A generic storage creates the storage and sends, receives, deletes files with shell commands
Rsync(XvcRsyncStorage)
A rsync storage is a directory in an Rsync/SSH host
S3(XvcS3Storage)
An S3 storage is a bucket in AWS S3
R2(XvcR2Storage)
An R2 storage is a bucket in R2
Gcs(XvcGcsStorage)
A GCS storage is a bucket in Google Cloud Storage
Minio(XvcMinioStorage)
A Minio storage is a bucket in Minio
Wasabi(XvcWasabiStorage)
A Wasabi storage is a bucket in Wasabi
DigitalOcean(XvcDigitalOceanStorage)
A DigitalOcean storage is a bucket in DigitalOcean
Trait Implementations§
Source§impl Clone for XvcStorage
impl Clone for XvcStorage
Source§fn clone(&self) -> XvcStorage
fn clone(&self) -> XvcStorage
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for XvcStorage
impl Debug for XvcStorage
Source§impl<'de> Deserialize<'de> for XvcStorage
impl<'de> Deserialize<'de> for XvcStorage
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for XvcStorage
impl Display for XvcStorage
Source§impl Ord for XvcStorage
impl Ord for XvcStorage
Source§fn cmp(&self, other: &XvcStorage) -> Ordering
fn cmp(&self, other: &XvcStorage) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for XvcStorage
impl PartialEq for XvcStorage
Source§impl PartialOrd for XvcStorage
impl PartialOrd for XvcStorage
Source§impl Serialize for XvcStorage
impl Serialize for XvcStorage
Source§impl Storable for XvcStorage
impl Storable for XvcStorage
Source§fn type_description() -> String
fn type_description() -> String
A string representation for the type. Read more
Source§impl XvcStorageOperations for XvcStorage
impl XvcStorageOperations for XvcStorage
Source§fn init(
&mut self,
output: &XvcOutputSender,
xvc_root: &XvcRoot,
) -> Result<XvcStorageInitEvent>
fn init( &mut self, output: &XvcOutputSender, xvc_root: &XvcRoot, ) -> Result<XvcStorageInitEvent>
The init operation is creates a directory with the “short guid” of the Xvc repository and
adds a .xvc-guid file with the guid of the storage.
Source§fn list(
&self,
output: &XvcOutputSender,
xvc_root: &XvcRoot,
) -> Result<XvcStorageListEvent>
fn list( &self, output: &XvcOutputSender, xvc_root: &XvcRoot, ) -> Result<XvcStorageListEvent>
Used by xvc file list command to list the contents of a directory in the storage.
Source§fn send(
&self,
output: &XvcOutputSender,
xvc_root: &XvcRoot,
paths: &[XvcCachePath],
force: bool,
) -> Result<XvcStorageSendEvent>
fn send( &self, output: &XvcOutputSender, xvc_root: &XvcRoot, paths: &[XvcCachePath], force: bool, ) -> Result<XvcStorageSendEvent>
Used by xvc file send command to send files to the storage.
Source§fn receive(
&self,
output: &XvcOutputSender,
xvc_root: &XvcRoot,
paths: &[XvcCachePath],
force: bool,
) -> Result<(XvcStorageTempDir, XvcStorageReceiveEvent)>
fn receive( &self, output: &XvcOutputSender, xvc_root: &XvcRoot, paths: &[XvcCachePath], force: bool, ) -> Result<(XvcStorageTempDir, XvcStorageReceiveEvent)>
Used by xvc file bring command to bring files from the storage.
Source§fn delete(
&self,
output: &XvcOutputSender,
xvc_root: &XvcRoot,
paths: &[XvcCachePath],
) -> Result<XvcStorageDeleteEvent>
fn delete( &self, output: &XvcOutputSender, xvc_root: &XvcRoot, paths: &[XvcCachePath], ) -> Result<XvcStorageDeleteEvent>
Used by xvc file remove command to remove files from the storage.
Used to share files from S3 compatible storages with a signed URL.
impl Eq for XvcStorage
impl StructuralPartialEq for XvcStorage
Auto Trait Implementations§
impl Freeze for XvcStorage
impl RefUnwindSafe for XvcStorage
impl Send for XvcStorage
impl Sync for XvcStorage
impl Unpin for XvcStorage
impl UnwindSafe for XvcStorage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more