pub trait Controller:
Send
+ Sync
+ 'static {
Show 13 methods
// Required methods
fn create_volume<'life0, 'async_trait>(
&'life0 self,
request: Request<CreateVolumeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<CreateVolumeResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn delete_volume<'life0, 'async_trait>(
&'life0 self,
request: Request<DeleteVolumeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DeleteVolumeResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn controller_publish_volume<'life0, 'async_trait>(
&'life0 self,
request: Request<ControllerPublishVolumeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ControllerPublishVolumeResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn controller_unpublish_volume<'life0, 'async_trait>(
&'life0 self,
request: Request<ControllerUnpublishVolumeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ControllerUnpublishVolumeResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn validate_volume_capabilities<'life0, 'async_trait>(
&'life0 self,
request: Request<ValidateVolumeCapabilitiesRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ValidateVolumeCapabilitiesResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn list_volumes<'life0, 'async_trait>(
&'life0 self,
request: Request<ListVolumesRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ListVolumesResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_capacity<'life0, 'async_trait>(
&'life0 self,
request: Request<GetCapacityRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetCapacityResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn controller_get_capabilities<'life0, 'async_trait>(
&'life0 self,
request: Request<ControllerGetCapabilitiesRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ControllerGetCapabilitiesResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn create_snapshot<'life0, 'async_trait>(
&'life0 self,
request: Request<CreateSnapshotRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<CreateSnapshotResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn delete_snapshot<'life0, 'async_trait>(
&'life0 self,
request: Request<DeleteSnapshotRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<DeleteSnapshotResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn list_snapshots<'life0, 'async_trait>(
&'life0 self,
request: Request<ListSnapshotsRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ListSnapshotsResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn controller_expand_volume<'life0, 'async_trait>(
&'life0 self,
request: Request<ControllerExpandVolumeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ControllerExpandVolumeResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn controller_get_volume<'life0, 'async_trait>(
&'life0 self,
request: Request<ControllerGetVolumeRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<ControllerGetVolumeResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}Expand description
Generated trait containing gRPC methods that should be implemented for use with ControllerServer.