pub struct Network { /* private fields */ }
Expand description
Interface for accessing and manipulating Podman Network.
Implementations§
Source§impl Network
impl Network
Sourcepub async fn delete(&self) -> Result<Vec<NetworkRmReport>>
pub async fn delete(&self) -> Result<Vec<NetworkRmReport>>
Delete this container. To delete this network forcefully use
Network::remove
.
Examples:
async {
use podman_api::Podman;
let podman = Podman::unix("/run/user/1000/podman/podman.sock");
match podman.networks().get("some-network").delete().await {
Ok(info) => println!("{:?}", info),
Err(e) => eprintln!("{}", e),
}
};
Sourcepub async fn remove(&self) -> Result<Vec<NetworkRmReport>>
pub async fn remove(&self) -> Result<Vec<NetworkRmReport>>
Force remove this network removing associated containers. To delete network normally use
Network::delete
.
Examples:
async {
use podman_api::Podman;
let podman = Podman::unix("/run/user/1000/podman/podman.sock");
match podman.networks().get("some-network").remove().await {
Ok(info) => println!("{:?}", info),
Err(e) => eprintln!("{}", e),
}
};
Sourcepub async fn exists(&self) -> Result<bool>
pub async fn exists(&self) -> Result<bool>
Quick way to determine if a network exists by name or id.
Examples:
async {
use podman_api::Podman;
let podman = Podman::unix("/run/user/1000/podman/podman.sock");
match podman.networks().get("some-network").exists().await {
Ok(exists) => if exists {
println!("network exists!");
} else {
println!("network doesn't exists!");
},
Err(e) => eprintln!("check failed: {}", e),
}
};
Sourcepub async fn inspect(&self) -> Result<Network>
pub async fn inspect(&self) -> Result<Network>
Display low level configuration for this CNI network.
Examples:
async {
use podman_api::Podman;
let podman = Podman::unix("/run/user/1000/podman/podman.sock");
match podman.networks().get("some-network").inspect().await {
Ok(info) => println!("{:?}", info),
Err(e) => eprintln!("{}", e),
}
};
Sourcepub async fn disconnect_container(
&self,
opts: &NetworkDisconnectOpts,
) -> Result<()>
pub async fn disconnect_container( &self, opts: &NetworkDisconnectOpts, ) -> Result<()>
Disconnect a container from this network.
Examples:
async {
use podman_api::Podman;
use podman_api::opts::NetworkDisconnectOpts;
let podman = Podman::unix("/run/user/1000/podman/podman.sock");
match podman
.networks()
.get("some-network")
.disconnect_container(
&NetworkDisconnectOpts::builder()
.container("containerid")
.force(true)
.build()
)
.await {
Ok(info) => println!("{:?}", info),
Err(e) => eprintln!("{}", e),
}
};
Sourcepub async fn connect_container(&self, opts: &NetworkConnectOpts) -> Result<()>
pub async fn connect_container(&self, opts: &NetworkConnectOpts) -> Result<()>
Connect a container to this network.
Examples:
async {
use podman_api::Podman;
use podman_api::opts::NetworkConnectOpts;
let podman = Podman::unix("/run/user/1000/podman/podman.sock");
match podman
.networks()
.get("some-network")
.connect_container(
&NetworkConnectOpts::builder()
.container("containerid")
.interface_name("eno128")
.build()
)
.await {
Ok(info) => println!("{:?}", info),
Err(e) => eprintln!("{}", e),
}
};
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Network
impl !RefUnwindSafe for Network
impl Send for Network
impl Sync for Network
impl Unpin for Network
impl !UnwindSafe for Network
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