pub struct ControllerService { /* private fields */ }Expand description
CSI ControllerService implementation.
Implementations§
Source§impl ControllerService
impl ControllerService
Sourcepub const DEFAULT_CAPACITY: u64 = 107_374_182_400u64
pub const DEFAULT_CAPACITY: u64 = 107_374_182_400u64
Default total capacity: 100 GB.
Sourcepub fn with_capacity(total_capacity: u64) -> Self
pub fn with_capacity(total_capacity: u64) -> Self
Create with custom capacity.
Sourcepub fn create_volume(
&mut self,
name: String,
capacity_bytes: u64,
access_type: AccessType,
fs_type: String,
access_mode: AccessMode,
current_tick: u64,
) -> Result<u64, ControllerError>
pub fn create_volume( &mut self, name: String, capacity_bytes: u64, access_type: AccessType, fs_type: String, access_mode: AccessMode, current_tick: u64, ) -> Result<u64, ControllerError>
Create a new volume.
Sourcepub fn delete_volume(&mut self, volume_id: u64) -> Result<(), ControllerError>
pub fn delete_volume(&mut self, volume_id: u64) -> Result<(), ControllerError>
Delete a volume.
Sourcepub fn get_capacity(&self) -> u64
pub fn get_capacity(&self) -> u64
Get remaining capacity.
Sourcepub fn controller_publish(
&mut self,
volume_id: u64,
node_id: String,
) -> Result<(), ControllerError>
pub fn controller_publish( &mut self, volume_id: u64, node_id: String, ) -> Result<(), ControllerError>
Publish a volume to a node (make it available for node operations).
Sourcepub fn controller_unpublish(
&mut self,
volume_id: u64,
) -> Result<(), ControllerError>
pub fn controller_unpublish( &mut self, volume_id: u64, ) -> Result<(), ControllerError>
Unpublish a volume from a node.
Sourcepub fn list_volumes(&self) -> Vec<&Volume>
pub fn list_volumes(&self) -> Vec<&Volume>
List all volumes.
Sourcepub fn get_volume(&self, volume_id: u64) -> Option<&Volume>
pub fn get_volume(&self, volume_id: u64) -> Option<&Volume>
Get volume by ID.
Sourcepub fn get_volume_by_name(&self, name: &str) -> Option<&Volume>
pub fn get_volume_by_name(&self, name: &str) -> Option<&Volume>
Get volume by name.
Sourcepub fn validate_capabilities(
&self,
volume_id: u64,
access_mode: AccessMode,
) -> Result<bool, ControllerError>
pub fn validate_capabilities( &self, volume_id: u64, access_mode: AccessMode, ) -> Result<bool, ControllerError>
Validate volume capabilities.
Sourcepub fn volume_count(&self) -> usize
pub fn volume_count(&self) -> usize
Get the total number of volumes.