summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorMarc Schreiber <schrieveslaach@online.de>2018-12-22 11:30:16 +0100
committerdoug tangren <d.tangren@gmail.com>2018-12-22 19:30:16 +0900
commite27b98daccf405027a0e1d5f72fe1ec6fd8ec8c7 (patch)
tree0b51f02d7aafdb308f85bff032cb95b7a24007a6 /examples
parent6b5f0c0f9ddfac9c052210c5dbf3224020646127 (diff)
feat: create, list, and delete volumes (#138)
Diffstat (limited to 'examples')
-rw-r--r--examples/volumecreate.rs32
-rw-r--r--examples/volumedelete.rs23
-rw-r--r--examples/volumes.rs21
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);
+}