def stop(options={})
unless @vm.exists?
return Response.new :code => 1, :message => 'VM does not exist'
end
running_response = @vm.running?
return running_response unless running_response.successful?
unless running_response.data
return Response.new :code => 1, :message => 'VM is not running'
end
conf_file_response = @vm.conf_file
return conf_file_response unless conf_file_response.successful?
command = "#{vmrun_cmd} stop "
command << "'#{conf_file_response.data}' "
command << 'hard ' unless options[:hard].blank?
command << '2>&1'
command_exec = Fission::Action::ShellExecutor.new command
Response.from_shell_executor command_exec.execute
end