vagrant-vboxmanage 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGELOG.md +13 -0
- data/DEVNOTES.md +18 -0
- data/Gemfile +6 -0
- data/README.md +58 -0
- data/Rakefile +2 -0
- data/SPECIAL_COMMANDS.md +170 -0
- data/Vagrantfile +28 -0
- data/lib/vagrant-vboxmanage.rb +2 -0
- data/lib/vagrant-vboxmanage/commands/root.rb +82 -0
- data/lib/vagrant-vboxmanage/plugin.rb +20 -0
- data/lib/vagrant-vboxmanage/version.rb +5 -0
- data/vagrant-vboxmanage.gemspec +20 -0
- metadata +83 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 280d1189e39b23d3de749116bee0608f1e6f6801
|
|
4
|
+
data.tar.gz: a7710f25c1ec28ada03ca58b410e6c6e1342d90f
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 76946d07a235e897e57f37da811872644fef57bf89dc015fdc1077e06f19e4174dafc97f6387f5712fd8a9eb974a946c213e14ab8328eea8aa337aa5b1254478
|
|
7
|
+
data.tar.gz: ba409ad56b3fe1189417f68a2929d13119467701178ca6dd02861da3f9929f5dd069829ce1ed324759a0aaf02ce825317467a29c9acefb4dbde340439d3942fc
|
data/CHANGELOG.md
ADDED
data/DEVNOTES.md
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Developer notes for vagrant-vboxmanage
|
|
2
|
+
|
|
3
|
+
See docs in https://github.com/dergachev/vagrant-vbox-snapshot/blob/master/DEVNOTES.md
|
|
4
|
+
|
|
5
|
+
## Resources
|
|
6
|
+
|
|
7
|
+
Testing is a big TODO:
|
|
8
|
+
|
|
9
|
+
* https://github.com/mitchellh/vagrant/blob/master/test/acceptance/ssh_test.rb
|
|
10
|
+
|
|
11
|
+
VBoxManage info:
|
|
12
|
+
|
|
13
|
+
* http://www.virtualbox.org/manual/ch08.html
|
|
14
|
+
|
|
15
|
+
Other Vagrant command examples:
|
|
16
|
+
|
|
17
|
+
* https://github.com/mitchellh/vagrant/blob/master/plugins/providers/virtualbox/driver/version_4_1.rb
|
|
18
|
+
* https://github.com/mitchellh/vagrant/blob/master/plugins/commands/ssh/command.rb
|
data/Gemfile
ADDED
data/README.md
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
vagrant-vboxmanage
|
|
2
|
+
==================================
|
|
3
|
+
Vagrant plugin that simplifies calling `VBoxManage cmd UUID`
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
The following commands are added by this plugin:
|
|
8
|
+
|
|
9
|
+
vagrant vboxmanage [vm-name] [--] <subcommand> [args]
|
|
10
|
+
|
|
11
|
+
Where:
|
|
12
|
+
|
|
13
|
+
* `<subcommand>` is the VBoxManage subcommand, eg `showvminfo`
|
|
14
|
+
* See http://www.virtualbox.org/manual/ch08.html
|
|
15
|
+
* `[vm-name]` is the VM name; must be specified if multiple VMs are defined in Vagrantfile
|
|
16
|
+
|
|
17
|
+
For all commands except those listed in `SPECIAL_COMMANDS.md`, the VM uuid will be inserted
|
|
18
|
+
immediately after the command name. For example:
|
|
19
|
+
|
|
20
|
+
# calls `VBoxManage showvminfo a0b76635-3c88-45ea-b26e-e9f442dc1f6e`
|
|
21
|
+
vagrant vboxmanage showvminfo --details
|
|
22
|
+
|
|
23
|
+
## Caveats
|
|
24
|
+
|
|
25
|
+
* Only minimally tested.
|
|
26
|
+
* TODO: support for UUID substitution for irregular commands like `guestproperty`.
|
|
27
|
+
* TODO: show VBoxManage-like usage help.
|
|
28
|
+
|
|
29
|
+
## Installation
|
|
30
|
+
|
|
31
|
+
Ensure you have Vagrant 1.1+ installed, then run:
|
|
32
|
+
|
|
33
|
+
vagrant plugin install vagrant-vboxmanage
|
|
34
|
+
|
|
35
|
+
## Development
|
|
36
|
+
|
|
37
|
+
To develop on this plugin, do the following:
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
# get the repo, and then make a feature branch (REPLACE WITH YOUR FORK)
|
|
41
|
+
git clone https://github.com/dergachev/vagrant-vboxmanage.git
|
|
42
|
+
cd vagrant-vboxmanage
|
|
43
|
+
git checkout -b MY-NEW-FEATURE
|
|
44
|
+
|
|
45
|
+
# installs the vagrant gem, which is a dev dependency
|
|
46
|
+
bundle install
|
|
47
|
+
|
|
48
|
+
# hack on the plugin
|
|
49
|
+
vim lib/vagrant-vboxmanage.rb # or any other file
|
|
50
|
+
|
|
51
|
+
# test out your changes, in the context provided by the development vagrant gem, and the local Vagrantfile.
|
|
52
|
+
bundle exec vagrant snapshot ...
|
|
53
|
+
|
|
54
|
+
# commit, push, and do a pull-request
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
See [DEVNOTES.md](https://github.com/dergachev/vagrant-vboxmanage/blob/master/DEVNOTES.md)
|
|
58
|
+
for the notes I compiled while developing this plugin.
|
data/Rakefile
ADDED
data/SPECIAL_COMMANDS.md
ADDED
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
list [--long|-l] vms|runningvms|ostypes|hostdvds|hostfloppies|
|
|
2
|
+
bridgedifs|hostonlyifs|dhcpservers|hostinfo|
|
|
3
|
+
hostcpuids|hddbackends|hdds|dvds|floppies|
|
|
4
|
+
usbhost|usbfilters|systemproperties|extpacks|
|
|
5
|
+
groups
|
|
6
|
+
|
|
7
|
+
registervm <filename>
|
|
8
|
+
|
|
9
|
+
createvm --name <name>
|
|
10
|
+
[--groups <group>, ...]
|
|
11
|
+
[--ostype <ostype>]
|
|
12
|
+
[--register]
|
|
13
|
+
[--basefolder <path>]
|
|
14
|
+
[--uuid <uuid>]
|
|
15
|
+
|
|
16
|
+
import <ovf/ova>
|
|
17
|
+
[--dry-run|-n]
|
|
18
|
+
[--options keepallmacs|keepnatmacs]
|
|
19
|
+
[more options]
|
|
20
|
+
(run with -n to have options displayed
|
|
21
|
+
for a particular OVF)
|
|
22
|
+
|
|
23
|
+
export <machines> --output|-o <name>.<ovf/ova>
|
|
24
|
+
[--legacy09|--ovf09|--ovf10|--ovf20]
|
|
25
|
+
[--manifest]
|
|
26
|
+
[--vsys <number of virtual system>]
|
|
27
|
+
[--product <product name>]
|
|
28
|
+
[--producturl <product url>]
|
|
29
|
+
[--vendor <vendor name>]
|
|
30
|
+
[--vendorurl <vendor url>]
|
|
31
|
+
[--version <version info>]
|
|
32
|
+
[--eula <license text>]
|
|
33
|
+
[--eulafile <filename>]
|
|
34
|
+
|
|
35
|
+
closemedium disk|dvd|floppy <uuid>|<filename>
|
|
36
|
+
[--delete]
|
|
37
|
+
|
|
38
|
+
createhd --filename <filename>
|
|
39
|
+
[--size <megabytes>|--sizebyte <bytes>]
|
|
40
|
+
[--diffparent <uuid>|<filename>
|
|
41
|
+
[--format VDI|VMDK|VHD] (default: VDI)
|
|
42
|
+
[--variant Standard,Fixed,Split2G,Stream,ESX]
|
|
43
|
+
clonehd <uuid>|<filename> <uuid>|<outputfile>
|
|
44
|
+
[--format VDI|VMDK|VHD|RAW|<other>]
|
|
45
|
+
[--variant Standard,Fixed,Split2G,Stream,ESX]
|
|
46
|
+
[--existing]
|
|
47
|
+
|
|
48
|
+
convertfromraw <filename> <outputfile>
|
|
49
|
+
[--format VDI|VMDK|VHD]
|
|
50
|
+
[--variant Standard,Fixed,Split2G,Stream,ESX]
|
|
51
|
+
[--uuid <uuid>]
|
|
52
|
+
convertfromraw stdin <outputfile> <bytes>
|
|
53
|
+
[--format VDI|VMDK|VHD]
|
|
54
|
+
[--variant Standard,Fixed,Split2G,Stream,ESX]
|
|
55
|
+
[--uuid <uuid>]
|
|
56
|
+
|
|
57
|
+
getextradata global|<uuid>|<name>
|
|
58
|
+
<key>|enumerate
|
|
59
|
+
|
|
60
|
+
setextradata global|<uuid>|<name>
|
|
61
|
+
<key>
|
|
62
|
+
[<value>] (no value deletes key)
|
|
63
|
+
|
|
64
|
+
setproperty machinefolder default|<folder> |
|
|
65
|
+
vrdeauthlibrary default|<library> |
|
|
66
|
+
websrvauthlibrary default|null|<library> |
|
|
67
|
+
vrdeextpack null|<library> |
|
|
68
|
+
autostartdbpath null|<folder> |
|
|
69
|
+
loghistorycount <value>
|
|
70
|
+
|
|
71
|
+
usbfilter add <index,0-N>
|
|
72
|
+
--target <uuid>|<name>|global
|
|
73
|
+
--name <string>
|
|
74
|
+
--action ignore|hold (global filters only)
|
|
75
|
+
[--active yes|no] (yes)
|
|
76
|
+
[--vendorid <XXXX>] (null)
|
|
77
|
+
[--productid <XXXX>] (null)
|
|
78
|
+
[--revision <IIFF>] (null)
|
|
79
|
+
[--manufacturer <string>] (null)
|
|
80
|
+
[--product <string>] (null)
|
|
81
|
+
[--remote yes|no] (null, VM filters only)
|
|
82
|
+
[--serialnumber <string>] (null)
|
|
83
|
+
[--maskedinterfaces <XXXXXXXX>]
|
|
84
|
+
|
|
85
|
+
usbfilter modify <index,0-N>
|
|
86
|
+
--target <uuid>|<name>|global
|
|
87
|
+
[--name <string>]
|
|
88
|
+
[--action ignore|hold] (global filters only)
|
|
89
|
+
[--active yes|no]
|
|
90
|
+
[--vendorid <XXXX>|""]
|
|
91
|
+
[--productid <XXXX>|""]
|
|
92
|
+
[--revision <IIFF>|""]
|
|
93
|
+
[--manufacturer <string>|""]
|
|
94
|
+
[--product <string>|""]
|
|
95
|
+
[--remote yes|no] (null, VM filters only)
|
|
96
|
+
[--serialnumber <string>|""]
|
|
97
|
+
[--maskedinterfaces <XXXXXXXX>]
|
|
98
|
+
|
|
99
|
+
usbfilter remove <index,0-N>
|
|
100
|
+
--target <uuid>|<name>|global
|
|
101
|
+
|
|
102
|
+
sharedfolder add <vmname>|<uuid>
|
|
103
|
+
--name <name> --hostpath <hostpath>
|
|
104
|
+
[--transient] [--readonly] [--automount]
|
|
105
|
+
|
|
106
|
+
sharedfolder remove <vmname>|<uuid>
|
|
107
|
+
--name <name> [--transient]
|
|
108
|
+
|
|
109
|
+
guestproperty get <vmname>|<uuid>
|
|
110
|
+
<property> [--verbose]
|
|
111
|
+
|
|
112
|
+
guestproperty set <vmname>|<uuid>
|
|
113
|
+
<property> [<value> [--flags <flags>]]
|
|
114
|
+
|
|
115
|
+
guestproperty enumerate <vmname>|<uuid>
|
|
116
|
+
[--patterns <patterns>]
|
|
117
|
+
|
|
118
|
+
guestproperty wait <vmname>|<uuid> <patterns>
|
|
119
|
+
[--timeout <msec>] [--fail-on-timeout]
|
|
120
|
+
|
|
121
|
+
metrics list [*|host|<vmname> [<metric_list>]]
|
|
122
|
+
(comma-separated)
|
|
123
|
+
|
|
124
|
+
metrics setup
|
|
125
|
+
[--period <seconds>] (default: 1)
|
|
126
|
+
[--samples <count>] (default: 1)
|
|
127
|
+
[--list]
|
|
128
|
+
[*|host|<vmname> [<metric_list>]]
|
|
129
|
+
|
|
130
|
+
metrics query [*|host|<vmname> [<metric_list>]]
|
|
131
|
+
|
|
132
|
+
metrics enable
|
|
133
|
+
[--list]
|
|
134
|
+
[*|host|<vmname> [<metric_list>]]
|
|
135
|
+
|
|
136
|
+
metrics disable
|
|
137
|
+
[--list]
|
|
138
|
+
[*|host|<vmname> [<metric_list>]]
|
|
139
|
+
|
|
140
|
+
metrics collect
|
|
141
|
+
[--period <seconds>] (default: 1)
|
|
142
|
+
[--samples <count>] (default: 1)
|
|
143
|
+
[--list]
|
|
144
|
+
[--detach]
|
|
145
|
+
[*|host|<vmname> [<metric_list>]]
|
|
146
|
+
|
|
147
|
+
hostonlyif ipconfig <name>
|
|
148
|
+
[--dhcp |
|
|
149
|
+
--ip<ipv4> [--netmask<ipv4> (def: 255.255.255.0)] |
|
|
150
|
+
--ipv6<ipv6> [--netmasklengthv6<length> (def: 64)]]
|
|
151
|
+
create |
|
|
152
|
+
remove <name>
|
|
153
|
+
|
|
154
|
+
dhcpserver add|modify --netname <network_name> |
|
|
155
|
+
--ifname <hostonly_if_name>
|
|
156
|
+
[--ip <ip_address>
|
|
157
|
+
--netmask <network_mask>
|
|
158
|
+
--lowerip <lower_ip>
|
|
159
|
+
--upperip <upper_ip>]
|
|
160
|
+
[--enable | --disable]
|
|
161
|
+
|
|
162
|
+
dhcpserver remove --netname <network_name> |
|
|
163
|
+
--ifname <hostonly_if_name>
|
|
164
|
+
|
|
165
|
+
extpack install [--replace] <tarball> |
|
|
166
|
+
uninstall [--force] <name> |
|
|
167
|
+
cleanup
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
|
data/Vagrantfile
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# -*- mode: ruby -*-
|
|
3
|
+
# vi: set ft=ruby :
|
|
4
|
+
|
|
5
|
+
require_relative 'lib/vagrant-vboxmanage.rb'
|
|
6
|
+
|
|
7
|
+
Vagrant.configure("2") do |config|
|
|
8
|
+
|
|
9
|
+
TEST_MULTI_VM = false
|
|
10
|
+
TEST_SHARED_FOLDERS = false
|
|
11
|
+
|
|
12
|
+
if TEST_MULTI_VM
|
|
13
|
+
config.vm.define :web do |web|
|
|
14
|
+
web.vm.box = "precise64"
|
|
15
|
+
end
|
|
16
|
+
config.vm.define :db do |web|
|
|
17
|
+
web.vm.box = "precise64"
|
|
18
|
+
end
|
|
19
|
+
else
|
|
20
|
+
config.vm.box = "precise64"
|
|
21
|
+
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
if TEST_SHARED_FOLDERS
|
|
25
|
+
config.vm.synced_folder "/tmp", "/tmp/host-tmp"
|
|
26
|
+
config.vm.synced_folder "/tmp", "/tmp/host-tmp2"
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
module VagrantPlugins
|
|
2
|
+
module VBoxManage
|
|
3
|
+
module Command
|
|
4
|
+
class Root < Vagrant.plugin(2, :command)
|
|
5
|
+
|
|
6
|
+
def execute
|
|
7
|
+
options = {}
|
|
8
|
+
|
|
9
|
+
opts = OptionParser.new do |opts|
|
|
10
|
+
opts.banner = "Usage: vagrant vboxmanage [vm-name] [--] <vboxmanage-cmd> [UUID] [cmd-args]..."
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
if split_index = @argv.index('--')
|
|
14
|
+
# of form `vagrant vboxmanage [vm-name] -- showvminfo ...`
|
|
15
|
+
options[:command] = @argv[split_index + 1]
|
|
16
|
+
options[:extra_args] = @argv.drop(split_index + 2)
|
|
17
|
+
@argv = @argv.take(split_index)
|
|
18
|
+
elsif command_index = @argv.index { |x| vboxmanage_commands_all.include?(x)}
|
|
19
|
+
# of form `vagrant vboxmanage [vm-name] showvminfo...`
|
|
20
|
+
options[:command] = @argv[command_index]
|
|
21
|
+
options[:extra_args] = @argv.drop(command_index + 1)
|
|
22
|
+
@argv = @argv.take(command_index)
|
|
23
|
+
else
|
|
24
|
+
@env.ui.error opts
|
|
25
|
+
@env.ui.error "No valid VBoxManage subcommand detected."
|
|
26
|
+
return 1
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
@logger.debug "Parsing options:" + options.merge({"argv" => @argv}).to_yaml
|
|
30
|
+
|
|
31
|
+
argv = parse_options(opts)
|
|
32
|
+
return if argv.length > 1
|
|
33
|
+
|
|
34
|
+
with_target_vms(argv, single_target: true) do |machine|
|
|
35
|
+
if machine.state.id == :not_created
|
|
36
|
+
machine.env.ui.error("Target machine is not created, unable to run VBoxManage.")
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
if vboxmanage_commands_standard.include?(options[:command])
|
|
40
|
+
@logger.debug("Performing UUID insertion for standard vboxmanage command: #{options[:command]}")
|
|
41
|
+
args = [options[:command], machine.id] + options[:extra_args]
|
|
42
|
+
else
|
|
43
|
+
@logger.debug("Skipping UUID insertion for special vboxmanage command: #{options[:command]}")
|
|
44
|
+
# TODO: handle substitution for commands like `usbfilter add 0 --target <uuid|name>`
|
|
45
|
+
# [VM_UUID] is an optiona literal token `VM_UUID`, which will be replaced by the UUID of the VM referenced by Vagrant
|
|
46
|
+
args = [options[:command]] + options[:extra_args]
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
@logger.debug("Executing: VBoxManage " + args.join(" "))
|
|
50
|
+
machine.provider.driver.execute(*args) do |type, data|
|
|
51
|
+
colors = { :stdout => :green, :stderr => :red }
|
|
52
|
+
machine.env.ui.info(data, :color => colors[type])
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def vboxmanage_commands_all
|
|
58
|
+
# derived as follows: `VBoxManage | sed '1,/Commands/d' | grep '^ [a-z]' | awk '{ print $1; }' | sort -u`
|
|
59
|
+
return %w{adoptstate bandwidthctl clonehd clonevm closemedium controlvm convertfromraw
|
|
60
|
+
createhd createvm debugvm dhcpserver discardstate export extpack
|
|
61
|
+
getextradata guestcontrol guestproperty hostonlyif import list
|
|
62
|
+
metrics modifyhd modifyvm registervm setextradata setproperty
|
|
63
|
+
sharedfolder showhdinfo showvminfo snapshot startvm storageattach
|
|
64
|
+
storagectl unregistervm usbfilter}
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# not of form `VBoxManage showvminfo uuid|name ...`
|
|
68
|
+
def vboxmanage_commands_special
|
|
69
|
+
# derived by manual inspection of `VBoxManage`; see SPECIAL_COMMANDS.md
|
|
70
|
+
return %w{list registervm createvm import export closemedium createhd clonehd
|
|
71
|
+
convertfromraw getextradata setextradata setproperty usbfilter
|
|
72
|
+
sharedfolder guestproperty metrics hostonlyif dhcpserver extpack}
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# of form `VBoxManage showvminfo uuid|name ...`
|
|
76
|
+
def vboxmanage_commands_standard
|
|
77
|
+
return vboxmanage_commands_all - vboxmanage_commands_special
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
begin
|
|
2
|
+
require "vagrant"
|
|
3
|
+
rescue LoadError
|
|
4
|
+
raise "The vagrant-vboxmanage plugin must be run within Vagrant."
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
module VagrantPlugins
|
|
8
|
+
module VBoxManage
|
|
9
|
+
class Plugin < Vagrant.plugin("2")
|
|
10
|
+
name "vagrant-vboxmanage"
|
|
11
|
+
description "Simplifies calling the `VBoxManage` command."
|
|
12
|
+
|
|
13
|
+
command "vboxmanage" do
|
|
14
|
+
require_relative 'commands/root.rb'
|
|
15
|
+
Command::Root
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
$:.unshift File.expand_path('../lib', __FILE__)
|
|
2
|
+
require 'vagrant-vboxmanage/version'
|
|
3
|
+
|
|
4
|
+
Gem::Specification.new do |spec|
|
|
5
|
+
spec.name = "vagrant-vboxmanage"
|
|
6
|
+
spec.version = VagrantPlugins::VBoxManage::VERSION
|
|
7
|
+
spec.authors = "Alex Dergachev"
|
|
8
|
+
spec.email = "alex@evolvingweb.ca"
|
|
9
|
+
spec.summary = 'Vagrant plugin that simplifies calling the `VBoxManage` command.'
|
|
10
|
+
spec.homepage = 'https://github.com/dergachev/vagrant-vboxmanage'
|
|
11
|
+
spec.license = "MIT"
|
|
12
|
+
|
|
13
|
+
spec.files = `git ls-files`.split($/)
|
|
14
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
|
15
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
16
|
+
spec.require_path = 'lib'
|
|
17
|
+
|
|
18
|
+
spec.add_development_dependency "bundler"
|
|
19
|
+
spec.add_development_dependency "rake"
|
|
20
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: vagrant-vboxmanage
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.1
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Alex Dergachev
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2013-09-24 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: bundler
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - '>='
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '0'
|
|
20
|
+
type: :development
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - '>='
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '0'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: rake
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - '>='
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '0'
|
|
34
|
+
type: :development
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - '>='
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '0'
|
|
41
|
+
description:
|
|
42
|
+
email: alex@evolvingweb.ca
|
|
43
|
+
executables: []
|
|
44
|
+
extensions: []
|
|
45
|
+
extra_rdoc_files: []
|
|
46
|
+
files:
|
|
47
|
+
- CHANGELOG.md
|
|
48
|
+
- DEVNOTES.md
|
|
49
|
+
- Gemfile
|
|
50
|
+
- README.md
|
|
51
|
+
- Rakefile
|
|
52
|
+
- SPECIAL_COMMANDS.md
|
|
53
|
+
- Vagrantfile
|
|
54
|
+
- lib/vagrant-vboxmanage.rb
|
|
55
|
+
- lib/vagrant-vboxmanage/commands/root.rb
|
|
56
|
+
- lib/vagrant-vboxmanage/plugin.rb
|
|
57
|
+
- lib/vagrant-vboxmanage/version.rb
|
|
58
|
+
- vagrant-vboxmanage.gemspec
|
|
59
|
+
homepage: https://github.com/dergachev/vagrant-vboxmanage
|
|
60
|
+
licenses:
|
|
61
|
+
- MIT
|
|
62
|
+
metadata: {}
|
|
63
|
+
post_install_message:
|
|
64
|
+
rdoc_options: []
|
|
65
|
+
require_paths:
|
|
66
|
+
- lib
|
|
67
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
68
|
+
requirements:
|
|
69
|
+
- - '>='
|
|
70
|
+
- !ruby/object:Gem::Version
|
|
71
|
+
version: '0'
|
|
72
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
73
|
+
requirements:
|
|
74
|
+
- - '>='
|
|
75
|
+
- !ruby/object:Gem::Version
|
|
76
|
+
version: '0'
|
|
77
|
+
requirements: []
|
|
78
|
+
rubyforge_project:
|
|
79
|
+
rubygems_version: 2.0.3
|
|
80
|
+
signing_key:
|
|
81
|
+
specification_version: 4
|
|
82
|
+
summary: Vagrant plugin that simplifies calling the `VBoxManage` command.
|
|
83
|
+
test_files: []
|