pub struct GenericCommand {
pub executor: CommandExecutor,
/* private fields */
}Expand description
Generic Docker command for executing any Docker CLI command.
This provides an escape hatch for running arbitrary Docker commands that may not have dedicated command types in this library, such as:
- Plugin commands (e.g.,
docker scan,docker scout) - Experimental features
- Future commands not yet implemented
- Custom or third-party extensions
§Example
use docker_wrapper::{DockerCommand, GenericCommand};
// Execute a plugin command
let result = GenericCommand::new("scout")
.arg("cves")
.arg("alpine:latest")
.execute()
.await?;
if result.success {
println!("Scan complete:\n{}", result.stdout);
}
// Execute with multiple arguments
let result = GenericCommand::new("trust")
.args(["inspect", "--pretty", "alpine:latest"])
.execute()
.await?;Fields§
§executor: CommandExecutorCommand executor
Implementations§
Source§impl GenericCommand
impl GenericCommand
Trait Implementations§
Source§impl Clone for GenericCommand
impl Clone for GenericCommand
Source§fn clone(&self) -> GenericCommand
fn clone(&self) -> GenericCommand
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 GenericCommand
impl Debug for GenericCommand
Source§impl DockerCommand for GenericCommand
impl DockerCommand for GenericCommand
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)
Source§fn args<I, S>(&mut self, args: I) -> &mut Self
fn args<I, S>(&mut self, args: I) -> &mut Self
Add multiple raw arguments to the command (escape hatch)
Source§fn option(&mut self, key: &str, value: &str) -> &mut Self
fn option(&mut self, key: &str, value: &str) -> &mut Self
Add a key-value option (e.g., –name value, –env key=value)
Source§fn with_timeout(&mut self, timeout: Duration) -> &mut Self
fn with_timeout(&mut self, timeout: Duration) -> &mut Self
Set a timeout for command execution Read more
Source§fn with_timeout_secs(&mut self, seconds: u64) -> &mut Self
fn with_timeout_secs(&mut self, seconds: u64) -> &mut Self
Set a timeout in seconds for command execution
Auto Trait Implementations§
impl Freeze for GenericCommand
impl RefUnwindSafe for GenericCommand
impl Send for GenericCommand
impl Sync for GenericCommand
impl Unpin for GenericCommand
impl UnwindSafe for GenericCommand
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