aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md0
-rw-r--r--TODO.md7
-rwxr-xr-xvbox39
3 files changed, 46 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/README.md
diff --git a/TODO.md b/TODO.md
new file mode 100644
index 0000000..d3493fd
--- /dev/null
+++ b/TODO.md
@@ -0,0 +1,7 @@
+TODO
+====
+
+* Support more VBoxManage commands.
+* Iteration over a set of VMs.
+* Support for upgrading VMs.
+* Vagrant integration.
diff --git a/vbox b/vbox
new file mode 100755
index 0000000..42dd8af
--- /dev/null
+++ b/vbox
@@ -0,0 +1,39 @@
+#!/bin/bash
+#
+# Simple wrapper around VBoxManage.
+#
+
+# Parameters
+BASENAME="`basename $0`"
+COMMAND="$1"
+VM="$2"
+
+# Usage
+function usage {
+ echo "usage: $BASENAME <command> [vm]"
+ exit 1
+}
+
+# Build options
+if [ ! -z "$VM" ]; then
+ if [ "$COMMAND" == "up" ]; then
+ OPTIONS=""
+ COMMAND="startvm"
+ elif [ "$COMMAND" == "down" ]; then
+ OPTIONS="savestate"
+ COMMAND="controlvm"
+ elif [ "$COMMAND" == "halt" ]; then
+ OPTIONS="poweroff"
+ COMMAND="controlvm"
+ else
+ usage
+ fi
+elif [ "$COMMAND" == "status" ]; then
+ OPTIONS="runningvms"
+ COMMAND="list"
+else
+ usage
+fi
+
+# Dispatch
+VBoxManage $COMMAND $VM $OPTIONS