# File lib/deltacloud/helpers/application_helper.rb, line 104
  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, 'not_allowed')
    end

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

    return redirect(instances_url) if name.eql?(:destroy) or @instance.class!=Instance

    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