vagrant-vbox-snapshot 0.0.6 → 0.0.7
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 +4 -4
- data/Vagrantfile +2 -1
- data/lib/vagrant-vbox-snapshot/commands/back.rb +6 -0
- data/lib/vagrant-vbox-snapshot/commands/check_runnable.rb +24 -0
- data/lib/vagrant-vbox-snapshot/commands/delete.rb +3 -0
- data/lib/vagrant-vbox-snapshot/commands/go.rb +3 -0
- data/lib/vagrant-vbox-snapshot/commands/list.rb +4 -0
- data/lib/vagrant-vbox-snapshot/commands/take.rb +3 -0
- data/lib/vagrant-vbox-snapshot/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 16213a5e9ee2cba54ec7d0a6cba605674b26b0cb
|
4
|
+
data.tar.gz: 142f34c2bb981ada29393907138e777c73ca9e3a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f8f04b167c1d1034c5faf19a4ee5e036d5998a1972c5cb8447a13a9c9caa9e0d4c7777d706e90efda61750f0c8c7a54dfce99f49e44fb7d76acd23b88ba4ad1c
|
7
|
+
data.tar.gz: 7a68aeec72c54647c4cb9c542582164641fe6b74648d0409dc2f8f22caf35dfc3121d6a7f64008fdc98f52cd3f6929cde74ee7cdd7dd222598ecae5a2d233e8e
|
data/Vagrantfile
CHANGED
@@ -6,7 +6,7 @@ require_relative 'lib/vagrant-vbox-snapshot.rb'
|
|
6
6
|
|
7
7
|
Vagrant.configure("2") do |config|
|
8
8
|
|
9
|
-
TEST_MULTI_VM =
|
9
|
+
TEST_MULTI_VM = true
|
10
10
|
TEST_SHARED_FOLDERS = false
|
11
11
|
|
12
12
|
if TEST_MULTI_VM
|
@@ -17,6 +17,7 @@ Vagrant.configure("2") do |config|
|
|
17
17
|
web.vm.box = "precise64"
|
18
18
|
end
|
19
19
|
else
|
20
|
+
raise "FALSE"
|
20
21
|
config.vm.box = "precise64"
|
21
22
|
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
|
22
23
|
end
|
@@ -1,7 +1,12 @@
|
|
1
|
+
require_relative 'multi_vm_args'
|
2
|
+
require_relative 'check_runnable'
|
3
|
+
|
1
4
|
module VagrantPlugins
|
2
5
|
module VBoxSnapshot
|
3
6
|
module Command
|
4
7
|
class Back < Vagrant.plugin(2, :command)
|
8
|
+
include CheckRunnable
|
9
|
+
|
5
10
|
def execute
|
6
11
|
options = {}
|
7
12
|
|
@@ -15,6 +20,7 @@ module VagrantPlugins
|
|
15
20
|
return if !argv
|
16
21
|
|
17
22
|
with_target_vms(argv, single_target: true) do |machine|
|
23
|
+
check_runnable_on(machine)
|
18
24
|
|
19
25
|
if machine.state.id != :poweroff
|
20
26
|
machine.provider.driver.execute("controlvm", machine.id, "poweroff")
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# Adapted from https://github.com/dotless-de/vagrant-vbguest/
|
2
|
+
|
3
|
+
require Vagrant.source_root.join("plugins/commands/up/start_mixins")
|
4
|
+
|
5
|
+
module VagrantPlugins
|
6
|
+
module VBoxSnapshot
|
7
|
+
module Command
|
8
|
+
|
9
|
+
module CheckRunnable
|
10
|
+
|
11
|
+
include VagrantPlugins::CommandUp::StartMixins
|
12
|
+
|
13
|
+
class NoVirtualBoxMachineError < Vagrant::Errors::VagrantError
|
14
|
+
error_message "The VBGuest plugin must be used with VirtualBox Machines only."
|
15
|
+
end
|
16
|
+
|
17
|
+
def check_runnable_on(vm)
|
18
|
+
raise NoVirtualBoxMachineError if vm.provider.class != VagrantPlugins::ProviderVirtualBox::Provider
|
19
|
+
raise Vagrant::Errors::VMNotCreatedError if vm.state.id == :not_created
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -2,12 +2,14 @@
|
|
2
2
|
# consider removing it; or replacing with this idea: http://superuser.com/questions/590968/quickest-way-to-merge-snapshots-in-virtualbox
|
3
3
|
|
4
4
|
require_relative 'multi_vm_args'
|
5
|
+
require_relative 'check_runnable'
|
5
6
|
|
6
7
|
module VagrantPlugins
|
7
8
|
module VBoxSnapshot
|
8
9
|
module Command
|
9
10
|
class Delete < Vagrant.plugin(2, :command)
|
10
11
|
include MultiVmArgs
|
12
|
+
include CheckRunnable
|
11
13
|
|
12
14
|
def execute
|
13
15
|
options = {}
|
@@ -25,6 +27,7 @@ module VagrantPlugins
|
|
25
27
|
return if !snapshot_name
|
26
28
|
|
27
29
|
with_target_vms(vm_name, single_target: true) do |machine|
|
30
|
+
check_runnable_on(machine)
|
28
31
|
machine.provider.driver.execute("snapshot", machine.id, "delete", snapshot_name) do |type, data|
|
29
32
|
machine.env.ui.info(data, :color => type == :stderr ? :red : :white)
|
30
33
|
end
|
@@ -1,10 +1,12 @@
|
|
1
1
|
require_relative 'multi_vm_args'
|
2
|
+
require_relative 'check_runnable'
|
2
3
|
|
3
4
|
module VagrantPlugins
|
4
5
|
module VBoxSnapshot
|
5
6
|
module Command
|
6
7
|
class Go < Vagrant.plugin(2, :command)
|
7
8
|
include MultiVmArgs
|
9
|
+
include CheckRunnable
|
8
10
|
|
9
11
|
def get_shared_folders(machine)
|
10
12
|
shared_folders = []
|
@@ -52,6 +54,7 @@ module VagrantPlugins
|
|
52
54
|
return if !snapshot_name
|
53
55
|
|
54
56
|
with_target_vms(vm_name, single_target: true) do |machine|
|
57
|
+
check_runnable_on(machine)
|
55
58
|
vm_id = machine.id
|
56
59
|
|
57
60
|
before_restore(machine)
|
@@ -1,7 +1,10 @@
|
|
1
|
+
require_relative 'check_runnable'
|
2
|
+
|
1
3
|
module VagrantPlugins
|
2
4
|
module VBoxSnapshot
|
3
5
|
module Command
|
4
6
|
class List < Vagrant.plugin(2, :command)
|
7
|
+
include CheckRunnable
|
5
8
|
def execute
|
6
9
|
options = {}
|
7
10
|
|
@@ -15,6 +18,7 @@ module VagrantPlugins
|
|
15
18
|
return if !argv
|
16
19
|
|
17
20
|
with_target_vms(argv, single_target: true) do |machine|
|
21
|
+
check_runnable_on(machine)
|
18
22
|
puts "Listing snapshots for '#{machine.name}':"
|
19
23
|
|
20
24
|
begin
|
@@ -1,10 +1,12 @@
|
|
1
1
|
require_relative 'multi_vm_args'
|
2
|
+
require_relative 'check_runnable'
|
2
3
|
|
3
4
|
module VagrantPlugins
|
4
5
|
module VBoxSnapshot
|
5
6
|
module Command
|
6
7
|
class Take < Vagrant.plugin(2, :command)
|
7
8
|
include MultiVmArgs
|
9
|
+
include CheckRunnable
|
8
10
|
|
9
11
|
def execute
|
10
12
|
options = {}
|
@@ -22,6 +24,7 @@ module VagrantPlugins
|
|
22
24
|
return if !snapshot_name
|
23
25
|
|
24
26
|
with_target_vms(vm_name, single_target: true) do |machine|
|
27
|
+
check_runnable_on(machine)
|
25
28
|
machine.env.ui.info("Taking snapshot #{snapshot_name}")
|
26
29
|
machine.provider.driver.execute("snapshot", machine.id, "take", snapshot_name, "--pause") do |type, data|
|
27
30
|
machine.env.ui.info(data, :color => type == :stderr ? :red : :white, :new_line => false)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-vbox-snapshot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Dergachev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-10-
|
11
|
+
date: 2014-10-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -54,6 +54,7 @@ files:
|
|
54
54
|
- Vagrantfile
|
55
55
|
- lib/vagrant-vbox-snapshot.rb
|
56
56
|
- lib/vagrant-vbox-snapshot/commands/back.rb
|
57
|
+
- lib/vagrant-vbox-snapshot/commands/check_runnable.rb
|
57
58
|
- lib/vagrant-vbox-snapshot/commands/delete.rb
|
58
59
|
- lib/vagrant-vbox-snapshot/commands/go.rb
|
59
60
|
- lib/vagrant-vbox-snapshot/commands/list.rb
|