pub struct WaitCommand {
pub executor: CommandExecutor,
/* private fields */
}
Expand description
Docker wait command builder
Block until one or more containers stop, then print their exit codes.
§Example
use docker_wrapper::WaitCommand;
// Wait for a single container
let result = WaitCommand::new("my-container")
.run()
.await?;
println!("Exit code: {}", result.exit_codes()[0]);
// Wait for multiple containers
let result = WaitCommand::new_multiple(vec!["web", "db"])
.run()
.await?;
Fields§
§executor: CommandExecutor
Command executor
Implementations§
Source§impl WaitCommand
impl WaitCommand
Sourcepub fn new(container: impl Into<String>) -> Self
pub fn new(container: impl Into<String>) -> Self
Create a new wait command for a single container
§Example
use docker_wrapper::WaitCommand;
let cmd = WaitCommand::new("my-container");
Sourcepub fn new_multiple(containers: Vec<impl Into<String>>) -> Self
pub fn new_multiple(containers: Vec<impl Into<String>>) -> Self
Create a new wait command for multiple containers
§Example
use docker_wrapper::WaitCommand;
let cmd = WaitCommand::new_multiple(vec!["web", "db", "cache"]);
Sourcepub async fn run(&self) -> Result<WaitResult>
pub async fn run(&self) -> Result<WaitResult>
Execute the wait command
§Errors
Returns an error if:
- The Docker daemon is not running
- Any of the specified containers don’t exist
§Example
use docker_wrapper::WaitCommand;
let result = WaitCommand::new("my-container")
.run()
.await?;
if result.success() {
println!("Container exited with code: {}", result.exit_codes()[0]);
}
Trait Implementations§
Source§impl Clone for WaitCommand
impl Clone for WaitCommand
Source§fn clone(&self) -> WaitCommand
fn clone(&self) -> WaitCommand
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for WaitCommand
impl Debug for WaitCommand
Source§impl DockerCommand for WaitCommand
impl DockerCommand for WaitCommand
Source§type Output = CommandOutput
type Output = CommandOutput
The output type this command produces
Source§fn get_executor(&self) -> &CommandExecutor
fn get_executor(&self) -> &CommandExecutor
Get the command executor for extensibility
Source§fn get_executor_mut(&mut self) -> &mut CommandExecutor
fn get_executor_mut(&mut self) -> &mut CommandExecutor
Get mutable command executor for extensibility
Source§fn build_command_args(&self) -> Vec<String>
fn build_command_args(&self) -> Vec<String>
Build the complete command arguments including subcommands
Source§fn execute<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Self::Output>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn execute<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Self::Output>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Execute the command and return the typed output
Source§fn execute_command<'life0, 'async_trait>(
&'life0 self,
command_args: Vec<String>,
) -> Pin<Box<dyn Future<Output = Result<CommandOutput>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
fn execute_command<'life0, 'async_trait>(
&'life0 self,
command_args: Vec<String>,
) -> Pin<Box<dyn Future<Output = Result<CommandOutput>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
Helper method to execute the command with proper error handling
Source§fn arg<S: AsRef<OsStr>>(&mut self, arg: S) -> &mut Self
fn arg<S: AsRef<OsStr>>(&mut self, arg: S) -> &mut Self
Add a raw argument to the command (escape hatch)
Auto Trait Implementations§
impl Freeze for WaitCommand
impl RefUnwindSafe for WaitCommand
impl Send for WaitCommand
impl Sync for WaitCommand
impl Unpin for WaitCommand
impl UnwindSafe for WaitCommand
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