pub struct Exec { /* private fields */ }
Expand description
Implementations§
Source§impl Exec
impl Exec
Sourcepub async fn start<'exec>(
&'exec self,
opts: &'exec ExecStartOpts,
) -> Result<Option<Multiplexer<'exec>>>
pub async fn start<'exec>( &'exec self, opts: &'exec ExecStartOpts, ) -> Result<Option<Multiplexer<'exec>>>
Starts a previously set up exec instance. If detach
is true, this endpoint returns
immediately after starting the command. Otherwise, it sets up an interactive session
with the command.
To create an exec instance use Container::create_exec
.
Examples:
async {
use podman_api::Podman;
use futures_util::StreamExt;
let podman = Podman::unix("/run/user/1000/podman/podman.sock");
let container = podman.containers().get("451b27c6b9d3");
let exec = container
.create_exec(
&podman_api::opts::ExecCreateOpts::builder()
.command(["cat", "/some/path/in/container"])
.build(),
)
.await
.unwrap();
let opts = Default::default();
let mut stream = exec.start(&opts).await.unwrap().unwrap();
while let Some(chunk) = stream.next().await {
println!("{:?}", chunk.unwrap());
}
};
Sourcepub async fn inspect(&self) -> Result<Value>
pub async fn inspect(&self) -> Result<Value>
Returns low-level information about an exec instance.
Examples:
async {
use podman_api::Podman;
use futures_util::StreamExt;
let podman = Podman::unix("/run/user/1000/podman/podman.sock");
let container = podman.containers().get("451b27c6b9d3");
let exec = container
.create_exec(
&podman_api::opts::ExecCreateOpts::builder()
.command(["cat", "/some/path/in/container"])
.build(),
)
.await
.unwrap();
match exec.inspect().await {
Ok(info) => println!("{:?}", info),
Err(e) => eprintln!("{}", e)
}
};
Sourcepub async fn resize(&self, width: usize, heigth: usize) -> Result<()>
pub async fn resize(&self, width: usize, heigth: usize) -> Result<()>
Resize the TTY session used by an exec instance. This endpoint only works if tty was specified as part of creating and starting the exec instance.
Examples:
use futures_util::StreamExt;
async {
use podman_api::Podman;
let podman = Podman::unix("/run/user/1000/podman/podman.sock");
let container = podman.containers().get("451b27c6b9d3");
let exec = container
.create_exec(
&podman_api::opts::ExecCreateOpts::builder()
.command(["cat", "/some/path/in/container"])
.build(),
)
.await
.unwrap();
if let Err(e) = exec.resize(1280, 720).await {
eprintln!("{}", e);
}
};
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Exec
impl !RefUnwindSafe for Exec
impl Send for Exec
impl Sync for Exec
impl Unpin for Exec
impl !UnwindSafe for Exec
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