pub enum StoragePlatform {
Linux,
Windows,
S3,
Adls,
Gcs,
Hdfs,
JuiceFs,
MaprFs,
CephFs,
SeaweedFs,
Agnostic,
}Expand description
Storage platform for raw file management.
Adding a variant forces exhaustive handling across all match arms in
StoragePath::render(), StorageOperations implementations, and CLI commands.
§Platform Categories
- Local filesystems:
Linux,Windows - Cloud object stores:
S3,Adls,Gcs - Distributed filesystems:
Hdfs,JuiceFs,MaprFs,CephFs,SeaweedFs - Abstract:
Agnostic(design-time only, cannot perform I/O)
Variants§
Linux
Local filesystem (POSIX path separators)
Windows
Local filesystem (Windows path separators, drive letters)
S3
Amazon Simple Storage Service
Adls
Azure Data Lake Storage Gen2
Gcs
Google Cloud Storage
Hdfs
Apache Hadoop Distributed File System
JuiceFs
JuiceFS — POSIX-compatible distributed filesystem
MaprFs
MapR Filesystem (HPE Ezmeral Data Fabric)
CephFs
Ceph Distributed Filesystem
SeaweedFs
SeaweedFS — distributed object/file store
Agnostic
Platform-independent abstract paths (forward slash, no scheme). Design-time only — cannot be used for actual I/O operations.
Implementations§
Source§impl StoragePlatform
impl StoragePlatform
Sourcepub fn supports_atomic_move(&self) -> bool
pub fn supports_atomic_move(&self) -> bool
Returns true if this platform supports atomic rename/move.
Sourcepub fn supports_native_notify(&self) -> bool
pub fn supports_native_notify(&self) -> bool
Returns true if this platform supports native file change notifications.
Sourcepub fn supports_versioning(&self) -> bool
pub fn supports_versioning(&self) -> bool
Returns true if this platform supports object versioning.
Sourcepub fn supports_lifecycle_rules(&self) -> bool
pub fn supports_lifecycle_rules(&self) -> bool
Returns true if this platform supports lifecycle/TTL rules.
Sourcepub fn path_separator(&self) -> &'static str
pub fn path_separator(&self) -> &'static str
Returns the path separator for this platform.
Sourcepub fn is_abstract(&self) -> bool
pub fn is_abstract(&self) -> bool
Returns true if this is a design-time-only variant that cannot perform I/O.
Sourcepub fn concrete_variants() -> &'static [StoragePlatform]
pub fn concrete_variants() -> &'static [StoragePlatform]
Returns all concrete (non-abstract) variants.
Sourcepub fn all_variants() -> &'static [StoragePlatform]
pub fn all_variants() -> &'static [StoragePlatform]
Returns all variants including Agnostic.