diff options
Diffstat (limited to 'examples/networkdisconnect.rs')
-rw-r--r-- | examples/networkdisconnect.rs | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/examples/networkdisconnect.rs b/examples/networkdisconnect.rs index 9588ecc..8d58b35 100644 --- a/examples/networkdisconnect.rs +++ b/examples/networkdisconnect.rs @@ -1,18 +1,27 @@ use shiplift::{ContainerConnectionOptions, Docker}; use std::env; -use tokio::prelude::Future; -fn main() { +async fn network_disconnect( + container_id: &str, + network_id: &str, +) { let docker = Docker::new(); let networks = docker.networks(); + + if let Err(e) = networks + .get(network_id) + .disconnect(&ContainerConnectionOptions::builder(container_id).build()) + .await + { + eprintln!("Error: {}", e) + } +} + +#[tokio::main] +async fn main() { match (env::args().nth(1), env::args().nth(2)) { (Some(container_id), Some(network_id)) => { - let fut = networks - .get(&network_id) - .disconnect(&ContainerConnectionOptions::builder(&container_id).build()) - .map(|v| println!("{:?}", v)) - .map_err(|e| eprintln!("Error: {}", e)); - tokio::run(fut); + network_disconnect(&container_id, &network_id).await; } _ => eprintln!("please provide a container_id and network_id"), } |