Struct podman_api::api::Network
source · 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),
}
};