pub struct BollardReadClient { /* private fields */ }Expand description
Local Bollard implementation of the neutral Docker read contracts.
Implementations§
Source§impl BollardReadClient
impl BollardReadClient
Sourcepub fn connect_local(host: &HostRecord) -> InfraResult<Self>
pub fn connect_local(host: &HostRecord) -> InfraResult<Self>
Connects to a local Docker socket and binds the client to one host revision.
Sourcepub async fn connect_remote(
connection: Arc<OpenSshConnection>,
host: &HostRecord,
remote_socket: &Path,
cancellation: &CancellationToken,
) -> InfraResult<Self>
pub async fn connect_remote( connection: Arc<OpenSshConnection>, host: &HostRecord, remote_socket: &Path, cancellation: &CancellationToken, ) -> InfraResult<Self>
Connects to a remote Docker Unix socket through a strict OpenSSH forward.
Sourcepub async fn close(self) -> InfraResult<()>
pub async fn close(self) -> InfraResult<()>
Explicitly closes an owned remote forward when present.
Trait Implementations§
Source§impl ContainerExecMutator for BollardReadClient
impl ContainerExecMutator for BollardReadClient
Source§fn exec_container<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
request: &'life2 ContainerExecRequest,
cancellation: &'life3 CancellationToken,
) -> Pin<Box<dyn Future<Output = MutationResult<ContainerExecReceipt>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn exec_container<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
request: &'life2 ContainerExecRequest,
cancellation: &'life3 CancellationToken,
) -> Pin<Box<dyn Future<Output = MutationResult<ContainerExecReceipt>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Executes one direct argv command without a shell or TTY.
Source§impl ContainerLifecycleMutator for BollardReadClient
impl ContainerLifecycleMutator for BollardReadClient
Source§fn mutate_container<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
request: &'life2 ContainerLifecycleRequest,
cancellation: &'life3 CancellationToken,
) -> Pin<Box<dyn Future<Output = MutationResult<ContainerMutationReceipt>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn mutate_container<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
request: &'life2 ContainerLifecycleRequest,
cancellation: &'life3 CancellationToken,
) -> Pin<Box<dyn Future<Output = MutationResult<ContainerMutationReceipt>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Sends one lifecycle mutation while preserving send uncertainty.
Source§impl ContainerReader for BollardReadClient
impl ContainerReader for BollardReadClient
Source§fn list_containers<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
options: &'life2 ContainerListOptions,
cancellation: &'life3 CancellationToken,
) -> Pin<Box<dyn Future<Output = InfraResult<Vec<ContainerSummary>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn list_containers<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
options: &'life2 ContainerListOptions,
cancellation: &'life3 CancellationToken,
) -> Pin<Box<dyn Future<Output = InfraResult<Vec<ContainerSummary>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Lists containers.
Source§fn inspect_container<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
container: &'life2 str,
cancellation: &'life3 CancellationToken,
) -> Pin<Box<dyn Future<Output = InfraResult<ContainerInspect>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn inspect_container<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
container: &'life2 str,
cancellation: &'life3 CancellationToken,
) -> Pin<Box<dyn Future<Output = InfraResult<ContainerInspect>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Inspects one container.
Source§fn top_container<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
container: &'life2 str,
cancellation: &'life3 CancellationToken,
) -> Pin<Box<dyn Future<Output = InfraResult<ContainerProcessTable>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn top_container<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
container: &'life2 str,
cancellation: &'life3 CancellationToken,
) -> Pin<Box<dyn Future<Output = InfraResult<ContainerProcessTable>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Returns one container process table.
Source§impl ContainerRecreateInspector for BollardReadClient
impl ContainerRecreateInspector for BollardReadClient
Source§fn recreate_fingerprint<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
container: &'life2 str,
cancellation: &'life3 CancellationToken,
) -> Pin<Box<dyn Future<Output = InfraResult<ContainerRecreateFingerprint>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn recreate_fingerprint<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
container: &'life2 str,
cancellation: &'life3 CancellationToken,
) -> Pin<Box<dyn Future<Output = InfraResult<ContainerRecreateFingerprint>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Captures replacement-relevant container configuration.
Source§impl ContainerRecreateMutator for BollardReadClient
impl ContainerRecreateMutator for BollardReadClient
Source§fn recreate_container<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
request: &'life2 ContainerRecreateRequest,
cancellation: &'life3 CancellationToken,
) -> Pin<Box<dyn Future<Output = MutationResult<ContainerRecreateReceipt>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn recreate_container<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
request: &'life2 ContainerRecreateRequest,
cancellation: &'life3 CancellationToken,
) -> Pin<Box<dyn Future<Output = MutationResult<ContainerRecreateReceipt>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Replaces a container from its captured configuration.
Source§impl DockerCleanupMutator for BollardReadClient
impl DockerCleanupMutator for BollardReadClient
Source§fn remove_image<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
request: &'life2 ImageRemovalRequest,
cancellation: &'life3 CancellationToken,
) -> Pin<Box<dyn Future<Output = MutationResult<ImageRemovalReceipt>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn remove_image<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
request: &'life2 ImageRemovalRequest,
cancellation: &'life3 CancellationToken,
) -> Pin<Box<dyn Future<Output = MutationResult<ImageRemovalReceipt>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Removes one image.
Source§fn prune<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
request: &'life2 DockerPruneRequest,
cancellation: &'life3 CancellationToken,
) -> Pin<Box<dyn Future<Output = MutationResult<DockerPruneReceipt>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn prune<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
request: &'life2 DockerPruneRequest,
cancellation: &'life3 CancellationToken,
) -> Pin<Box<dyn Future<Output = MutationResult<DockerPruneReceipt>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Prunes one target scope.
Source§impl DockerSystemReader for BollardReadClient
impl DockerSystemReader for BollardReadClient
Source§fn system_info<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
cancellation: &'life2 CancellationToken,
) -> Pin<Box<dyn Future<Output = InfraResult<DockerSystemInfo>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn system_info<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
cancellation: &'life2 CancellationToken,
) -> Pin<Box<dyn Future<Output = InfraResult<DockerSystemInfo>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Reads Docker daemon information.
Source§impl DockerTelemetryReader for BollardReadClient
impl DockerTelemetryReader for BollardReadClient
Source§fn disk_usage<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
cancellation: &'life2 CancellationToken,
) -> Pin<Box<dyn Future<Output = InfraResult<DockerDiskUsage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn disk_usage<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
cancellation: &'life2 CancellationToken,
) -> Pin<Box<dyn Future<Output = InfraResult<DockerDiskUsage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Reads daemon disk usage.
Source§fn container_logs<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
container: &'life2 str,
options: &'life3 ContainerLogOptions,
cancellation: &'life4 CancellationToken,
) -> Pin<Box<dyn Future<Output = InfraResult<ContainerLogs>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn container_logs<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
container: &'life2 str,
options: &'life3 ContainerLogOptions,
cancellation: &'life4 CancellationToken,
) -> Pin<Box<dyn Future<Output = InfraResult<ContainerLogs>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Reads bounded one-shot container logs.
Source§fn container_stats<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
container: &'life2 str,
cancellation: &'life3 CancellationToken,
) -> Pin<Box<dyn Future<Output = InfraResult<ContainerStatsSnapshot>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn container_stats<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
container: &'life2 str,
cancellation: &'life3 CancellationToken,
) -> Pin<Box<dyn Future<Output = InfraResult<ContainerStatsSnapshot>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Reads one container statistics frame.
Source§impl ImagePullMutator for BollardReadClient
impl ImagePullMutator for BollardReadClient
Source§fn pull_image<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
request: &'life2 ImagePullRequest,
progress: &'life3 dyn MutationProgressReporter,
cancellation: &'life4 CancellationToken,
) -> Pin<Box<dyn Future<Output = MutationResult<ImagePullReceipt>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn pull_image<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
request: &'life2 ImagePullRequest,
progress: &'life3 dyn MutationProgressReporter,
cancellation: &'life4 CancellationToken,
) -> Pin<Box<dyn Future<Output = MutationResult<ImagePullReceipt>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Pulls one image while emitting canonical progress and preserving send uncertainty.
Source§impl ImageReader for BollardReadClient
impl ImageReader for BollardReadClient
Source§fn list_images<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
options: &'life2 ImageListOptions,
cancellation: &'life3 CancellationToken,
) -> Pin<Box<dyn Future<Output = InfraResult<Vec<ImageSummary>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn list_images<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
options: &'life2 ImageListOptions,
cancellation: &'life3 CancellationToken,
) -> Pin<Box<dyn Future<Output = InfraResult<Vec<ImageSummary>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Lists images.
Source§impl NetworkReader for BollardReadClient
impl NetworkReader for BollardReadClient
Source§fn list_networks<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
cancellation: &'life2 CancellationToken,
) -> Pin<Box<dyn Future<Output = InfraResult<Vec<NetworkSummary>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn list_networks<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
cancellation: &'life2 CancellationToken,
) -> Pin<Box<dyn Future<Output = InfraResult<Vec<NetworkSummary>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Lists networks.
Source§impl VolumeReader for BollardReadClient
impl VolumeReader for BollardReadClient
Source§fn list_volumes<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
cancellation: &'life2 CancellationToken,
) -> Pin<Box<dyn Future<Output = InfraResult<Vec<VolumeSummary>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn list_volumes<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
host: &'life1 HostRecord,
cancellation: &'life2 CancellationToken,
) -> Pin<Box<dyn Future<Output = InfraResult<Vec<VolumeSummary>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Lists volumes.
Auto Trait Implementations§
impl Freeze for BollardReadClient
impl !RefUnwindSafe for BollardReadClient
impl Send for BollardReadClient
impl Sync for BollardReadClient
impl Unpin for BollardReadClient
impl UnsafeUnpin for BollardReadClient
impl !UnwindSafe for BollardReadClient
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more