# File lib/fission/action/snapshot/deleter.rb, line 33
        def delete_snapshot(name)
          unless @vm.exists?
            return Response.new :code => 1, :message => 'VM does not exist'
          end

          if Fusion.running?
            running_response = @vm.running?
            return running_response unless running_response.successful?

            unless running_response.data
              message = 'A snapshot cannot be deleted when the GUI is running '
              message << 'and the VM is not running.'
              return Response.new :code => 1, :message => message
            end
          end

          conf_file_response = @vm.conf_file
          return conf_file_response unless conf_file_response.successful?

          snapshots_response = @vm.snapshots
          return snapshots_response unless snapshots_response.successful?

          unless snapshots_response.data.include? name
            message = "Unable to find a snapshot named '#{name}'."
            return Response.new :code => 1, :message => message
          end

          command = "#{vmrun_cmd} deleteSnapshot "
          command << "'#{conf_file_response.data}' \"#{name}\" 2>&1"

          command_exec = Fission::Action::ShellExecutor.new command
          Response.from_shell_executor command_exec.execute
        end