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§
Sourcefn 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 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.
Sourcefn 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 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.
Sourcefn 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 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.
Sourcefn 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 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.
Sourcefn 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 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.
Sourcefn 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,
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.