pub trait ProviderNode {
Show 22 methods
// Required methods
fn name(&self) -> &str;
fn args(&self) -> Vec<&str>;
fn base_dir(&self) -> &PathBuf;
fn config_dir(&self) -> &PathBuf;
fn data_dir(&self) -> &PathBuf;
fn relay_data_dir(&self) -> &PathBuf;
fn scripts_dir(&self) -> &PathBuf;
fn log_path(&self) -> &PathBuf;
fn log_cmd(&self) -> String;
fn path_in_node(&self, file: &Path) -> PathBuf;
fn logs<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<String, ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn dump_logs<'life0, 'async_trait>(
&'life0 self,
local_dest: PathBuf,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn run_command<'life0, 'async_trait>(
&'life0 self,
options: RunCommandOptions,
) -> Pin<Box<dyn Future<Output = Result<ExecutionResult, ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn run_script<'life0, 'async_trait>(
&'life0 self,
options: RunScriptOptions,
) -> Pin<Box<dyn Future<Output = Result<ExecutionResult, ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn send_file<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
local_file_path: &'life1 Path,
remote_file_path: &'life2 Path,
mode: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait;
fn receive_file<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
remote_file_path: &'life1 Path,
local_file_path: &'life2 Path,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn pause<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn resume<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn restart<'life0, 'async_trait>(
&'life0 self,
after: Option<Duration>,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn destroy<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), ProviderError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
// Provided methods
fn ip<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<IpAddr, ProviderError>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn create_port_forward<'life0, 'async_trait>(
&'life0 self,
_local_port: u16,
_remote_port: u16,
) -> Pin<Box<dyn Future<Output = Result<Option<u16>, ProviderError>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
}