Class: VagrantPlugins::VBoxSnapshot::Command::Take
- Inherits:
-
Object
- Object
- VagrantPlugins::VBoxSnapshot::Command::Take
- Includes:
- CheckRunnable, MultiVmArgs
- Defined in:
- lib/vagrant-vbox-snapshot/commands/take.rb
Instance Method Summary collapse
Methods included from CheckRunnable
Methods included from MultiVmArgs
#parse_vm_and_snapshot_options
Instance Method Details
#execute ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/vagrant-vbox-snapshot/commands/take.rb', line 11 def execute = {} opts = OptionParser.new do |opts| opts. = "Take snapshot" opts.separator "" opts.separator "Usage: vagrant snapshot take [vm-name] <SNAPSHOT_NAME>" end # Parse the options argv = (opts) return if !argv vm_name, snapshot_name = (argv, opts) return if !snapshot_name with_target_vms(vm_name, single_target: true) do |machine| check_runnable_on(machine) machine.env.ui.info("Taking snapshot #{snapshot_name}") machine.provider.driver.execute("snapshot", machine.id, "take", snapshot_name, "--pause") do |type, data| machine.env.ui.info(data, :color => type == :stderr ? :red : :white, :new_line => false) end end end |