Class: VagrantPlugins::HyperV::Driver

Inherits:
Object
  • Object
show all
Defined in:
lib/vagrant-multiprovider-snap/providers/hyperv/driver/base.rb

Instance Method Summary collapse

Instance Method Details

#has_snapshot?(name = nil) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
27
28
29
30
# File 'lib/vagrant-multiprovider-snap/providers/hyperv/driver/base.rb', line 24

def has_snapshot?(name=nil)
		if name.nil?
		    snapshot_list.length > 0
		else
        snapshot_list.include?(name)
		end
end

#snapshot_delete(name) ⇒ Object



20
21
22
# File 'lib/vagrant-multiprovider-snap/providers/hyperv/driver/base.rb', line 20

def snapshot_delete(name)
    execute_snap("snapshot_delete.ps1", {VmID: vm_id, SnapName: name})
end

#snapshot_listObject



15
16
17
18
# File 'lib/vagrant-multiprovider-snap/providers/hyperv/driver/base.rb', line 15

def snapshot_list
    snaps = execute_snap("list_snapshots.ps1", { VmID: vm_id } )
		snaps.map { |s| s['Name'] }
end

#snapshot_rollback(name) ⇒ Object



11
12
13
# File 'lib/vagrant-multiprovider-snap/providers/hyperv/driver/base.rb', line 11

def snapshot_rollback(name)
    execute_snap("rollback_vm.ps1", { VmId: vm_id,  SnapName: (name || snapshot_list.last) } )
end

#snapshot_take(name) ⇒ Object



7
8
9
# File 'lib/vagrant-multiprovider-snap/providers/hyperv/driver/base.rb', line 7

def snapshot_take(name)
    execute_snap("snapshot_vm.ps1", { VmId: vm_id, SnapName: (name || "vagrant-snap-#{Time.now.to_i}") } )
end