summaryrefslogtreecommitdiffstats
path: root/examples/networkdisconnect.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/networkdisconnect.rs')
-rw-r--r--examples/networkdisconnect.rs25
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"),
}