Class: VagrantPlugins::OpenStack::Action::CommandTakeSnapshot

Inherits:
Object
  • Object
show all
Includes:
Vagrant::Action::Builtin
Defined in:
lib/vagrant-openstack-plugin/command/command_snapshot.rb

Instance Method Summary collapse

Instance Method Details

#executeObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/vagrant-openstack-plugin/command/command_snapshot.rb', line 13

def execute
  options = {:openstack_snapshot_name => 'snapshot'}
  opts = OptionParser.new do |opts|
    opts.banner = "Enters openstack"
    opts.separator ""
    opts.separator "Usage: vagrant openstack snapshot <vmname> -n <snapshotname>"


    opts.on( '-n', '--name NAME', 'snapshotname' ) do |name|
      options[:openstack_snapshot_name] = name
    end

  end

  # Parse the options
  argv = parse_options(opts)

  return if !argv


  with_target_vms(argv, :reverse => true) do |vm|
    if vm.provider.to_s == VagrantPlugins::OpenStack::Provider.new(nil).to_s
      vm.action(:take_snapshot,options)
    end
  end
end