pub trait VolumePolicyControllerProxyInterface: Send + Sync {
type GetPropertiesResponseFut: Future<Output = Result<Vec<Property>, Error>> + Send;
type AddPolicyResponseFut: Future<Output = Result<VolumePolicyControllerAddPolicyResult, Error>> + Send;
type RemovePolicyResponseFut: Future<Output = Result<VolumePolicyControllerRemovePolicyResult, Error>> + Send;
// Required methods
fn get_properties(&self) -> Self::GetPropertiesResponseFut;
fn add_policy(
&self,
target: &Target,
parameters: &PolicyParameters
) -> Self::AddPolicyResponseFut;
fn remove_policy(&self, policy_id: u32) -> Self::RemovePolicyResponseFut;
}