# File lib/deltacloud/helpers/application_helper.rb, line 119
  def instance_action(name)
    original_instance = driver.instance(credentials, :id => params[:id])

    # If original instance doesn't include called action
    # return with 405 error (Method is not Allowed)
    unless driver.instance_actions_for(original_instance.state).include?(name.to_sym)
      return report_error(405)
    end

    @instance = driver.send("#{name}_instance""#{name}_instance", credentials, params["id"])

    if name == :destroy or @instance.class!=Instance
      respond_to do |format|
        format.xml { return 204 }
        format.json { return 204 }
        format.html { return redirect(instances_url) }
      end
    end

    respond_to do |format|
      format.xml { haml "instances/show""instances/show" }
      format.html { haml "instances/show""instances/show" }
      format.json {convert_to_json(:instance, @instance) }
    end
  end