Struct podman_api::api::Exec
source · [−]pub struct Exec<'podman> { /* private fields */ }
Expand description
Interface for accessing and manipulating Podman Exec.
Implementations
sourceimpl<'podman> Exec<'podman>
impl<'podman> Exec<'podman>
sourcepub fn start(
&'podman self,
opts: &'podman ExecStartOpts
) -> impl Stream<Item = Result<TtyChunk>> + 'podman
pub fn start(
&'podman self,
opts: &'podman ExecStartOpts
) -> impl Stream<Item = Result<TtyChunk>> + 'podman
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);
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<'podman> !RefUnwindSafe for Exec<'podman>
impl<'podman> Send for Exec<'podman>
impl<'podman> Sync for Exec<'podman>
impl<'podman> Unpin for Exec<'podman>
impl<'podman> !UnwindSafe for Exec<'podman>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more