pub struct SnapshotService { /* private fields */ }Expand description
CSI Snapshot Service implementation.
Implementations§
Source§impl SnapshotService
impl SnapshotService
Sourcepub fn register_volume(&mut self, volume_id: u64, capacity_bytes: u64)
pub fn register_volume(&mut self, volume_id: u64, capacity_bytes: u64)
Register a known volume (for snapshot source validation).
Sourcepub fn unregister_volume(&mut self, volume_id: u64)
pub fn unregister_volume(&mut self, volume_id: u64)
Unregister a volume.
Sourcepub fn create_snapshot(
&mut self,
name: String,
source_volume_id: u64,
current_tick: u64,
) -> Result<u64, SnapshotError>
pub fn create_snapshot( &mut self, name: String, source_volume_id: u64, current_tick: u64, ) -> Result<u64, SnapshotError>
Create a COW snapshot of a volume.
Sourcepub fn delete_snapshot(&mut self, snapshot_id: u64) -> Result<(), SnapshotError>
pub fn delete_snapshot(&mut self, snapshot_id: u64) -> Result<(), SnapshotError>
Delete a snapshot.
Sourcepub fn list_snapshots(&self, source_filter: Option<u64>) -> Vec<&Snapshot>
pub fn list_snapshots(&self, source_filter: Option<u64>) -> Vec<&Snapshot>
List all snapshots, optionally filtered by source volume.
Sourcepub fn get_snapshot(&self, snapshot_id: u64) -> Option<&Snapshot>
pub fn get_snapshot(&self, snapshot_id: u64) -> Option<&Snapshot>
Get snapshot by ID.
Sourcepub fn get_snapshot_by_name(&self, name: &str) -> Option<&Snapshot>
pub fn get_snapshot_by_name(&self, name: &str) -> Option<&Snapshot>
Get snapshot by name.
Sourcepub fn snapshot_count(&self) -> usize
pub fn snapshot_count(&self) -> usize
Get the total number of snapshots.