Skip to main content

HostSystemInspector

Trait HostSystemInspector 

Source
pub trait HostSystemInspector: Send + Sync {
    // Required methods
    fn services<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        host: &'life1 HostRecord,
        request: &'life2 ServiceListRequest,
        cancellation: &'life3 CancellationToken,
    ) -> Pin<Box<dyn Future<Output = InfraResult<Vec<ServiceStatus>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
    fn network<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        host: &'life1 HostRecord,
        deadline: Timestamp,
        cancellation: &'life2 CancellationToken,
    ) -> Pin<Box<dyn Future<Output = InfraResult<Vec<NetworkInterface>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn mounts<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        host: &'life1 HostRecord,
        deadline: Timestamp,
        cancellation: &'life2 CancellationToken,
    ) -> Pin<Box<dyn Future<Output = InfraResult<Vec<MountInfo>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn ports<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        host: &'life1 HostRecord,
        request: &'life2 PortListRequest,
        cancellation: &'life3 CancellationToken,
    ) -> Pin<Box<dyn Future<Output = InfraResult<Vec<PortInfo>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
    fn filesystem_usage<'life0, 'life1, 'life2, 'life3, 'async_trait>(
        &'life0 self,
        host: &'life1 HostRecord,
        path: Option<&'life2 str>,
        deadline: Timestamp,
        cancellation: &'life3 CancellationToken,
    ) -> Pin<Box<dyn Future<Output = InfraResult<FilesystemUsage>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait,
             'life3: 'async_trait;
    fn doctor<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        host: &'life1 HostRecord,
        deadline: Timestamp,
        cancellation: &'life2 CancellationToken,
    ) -> Pin<Box<dyn Future<Output = InfraResult<DoctorReport>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
}
Expand description

Remaining product-neutral host-system reads.

Required Methods§

Source

fn services<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, host: &'life1 HostRecord, request: &'life2 ServiceListRequest, cancellation: &'life3 CancellationToken, ) -> Pin<Box<dyn Future<Output = InfraResult<Vec<ServiceStatus>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Lists services.

Source

fn network<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, host: &'life1 HostRecord, deadline: Timestamp, cancellation: &'life2 CancellationToken, ) -> Pin<Box<dyn Future<Output = InfraResult<Vec<NetworkInterface>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Reads network interfaces.

Source

fn mounts<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, host: &'life1 HostRecord, deadline: Timestamp, cancellation: &'life2 CancellationToken, ) -> Pin<Box<dyn Future<Output = InfraResult<Vec<MountInfo>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Lists mounted filesystems.

Source

fn ports<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, host: &'life1 HostRecord, request: &'life2 PortListRequest, cancellation: &'life3 CancellationToken, ) -> Pin<Box<dyn Future<Output = InfraResult<Vec<PortInfo>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Lists listening ports.

Source

fn filesystem_usage<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, host: &'life1 HostRecord, path: Option<&'life2 str>, deadline: Timestamp, cancellation: &'life3 CancellationToken, ) -> Pin<Box<dyn Future<Output = InfraResult<FilesystemUsage>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Reads byte-precise filesystem usage.

Source

fn doctor<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, host: &'life1 HostRecord, deadline: Timestamp, cancellation: &'life2 CancellationToken, ) -> Pin<Box<dyn Future<Output = InfraResult<DoctorReport>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Runs deterministic read-only health checks.

Implementors§

Source§

impl<E> HostSystemInspector for CommandHostSystemInspector<E>
where E: CommandExecutor,