diff options
author | Marc Schreiber <schrieveslaach@online.de> | 2018-12-22 11:30:16 +0100 |
---|---|---|
committer | doug tangren <d.tangren@gmail.com> | 2018-12-22 19:30:16 +0900 |
commit | e27b98daccf405027a0e1d5f72fe1ec6fd8ec8c7 (patch) | |
tree | 0b51f02d7aafdb308f85bff032cb95b7a24007a6 /examples | |
parent | 6b5f0c0f9ddfac9c052210c5dbf3224020646127 (diff) |
feat: create, list, and delete volumes (#138)
Diffstat (limited to 'examples')
-rw-r--r-- | examples/volumecreate.rs | 32 | ||||
-rw-r--r-- | examples/volumedelete.rs | 23 | ||||
-rw-r--r-- | examples/volumes.rs | 21 |
3 files changed, 76 insertions, 0 deletions
diff --git a/examples/volumecreate.rs b/examples/volumecreate.rs new file mode 100644 index 0000000..d955abe --- /dev/null +++ b/examples/volumecreate.rs @@ -0,0 +1,32 @@ +extern crate shiplift; +extern crate tokio; + +use shiplift::builder::VolumeCreateOptions; +use shiplift::Docker; +use std::collections::HashMap; +use std::env; +use tokio::prelude::Future; + +fn main() { + let docker = Docker::new(); + let volumes = docker.volumes(); + + let volume_name = env::args() + .nth(1) + .expect("You need to specify an volume name"); + + let mut labels = HashMap::new(); + labels.insert("com.github.softprops", "shiplift"); + + let fut = volumes + .create( + &VolumeCreateOptions::builder() + .name(volume_name.as_ref()) + .labels(&labels) + .build(), + ) + .map(|info| println!("{:?}", info)) + .map_err(|e| eprintln!("Error: {}", e)); + + tokio::run(fut); +} diff --git a/examples/volumedelete.rs b/examples/volumedelete.rs new file mode 100644 index 0000000..8689589 --- /dev/null +++ b/examples/volumedelete.rs @@ -0,0 +1,23 @@ +extern crate shiplift; +extern crate tokio; + +use shiplift::Docker; +use std::env; +use tokio::prelude::Future; + +fn main() { + let docker = Docker::new(); + let volumes = docker.volumes(); + + let volume_name = env::args() + .nth(1) + .expect("You need to specify an volume name"); + + let fut = volumes + .get(&volume_name) + .delete() + .map(|info| println!("{:?}", info)) + .map_err(|e| eprintln!("Error: {}", e)); + + tokio::run(fut); +} diff --git a/examples/volumes.rs b/examples/volumes.rs new file mode 100644 index 0000000..59c7b65 --- /dev/null +++ b/examples/volumes.rs @@ -0,0 +1,21 @@ +extern crate shiplift; +extern crate tokio; + +use shiplift::Docker; +use tokio::prelude::Future; + +fn main() { + let docker = Docker::new(); + let volumes = docker.volumes(); + + let fut = volumes + .list() + .map(|volumes| { + for v in volumes { + println!("volume -> {:#?}", v) + } + }) + .map_err(|e| eprintln!("Error: {}", e));; + + tokio::run(fut); +} |