class Chef::Knife::VagrantServerSuspend

Public Instance Methods

run() click to toggle source
# File lib/chef/knife/vagrant_server_suspend.rb, line 11
def run
  $stdout.sync = true

  @name_args.each do |instance|
    unless vagrant_instance_list.detect { |i| i[:name] == instance }
      ui.error("No instance named #{instance}")
      next            
    end

    state, provider = vagrant_instance_state(instance)

    unless state == 'running'
      ui.error("Instance #{instance} needs to be running for suspend. Current state is #{colored_vagrant_state(state)}")
      next
    end

    vagrant_exec(instance, 'suspend')
  end
end