      )
  
      def decorator(func):
          func.mapping = MethodMapper(func, methods)
  
          func.detail = detail
          func.url_path = url_path if url_path else func.__name__
 
</s> remove         func.name = name if name else pretty_name(func.__name__)
 </s> add  </s> remove         func.kwargs.update({
            'name': func.name,
            'description': func.__doc__ or None
        })
 </s> add         # Set descriptive arguments for viewsets
        if 'name' not in kwargs and 'suffix' not in kwargs:
            func.kwargs['name'] = pretty_name(func.__name__)
        func.kwargs['description'] = func.__doc__ or None </s> remove                 action_urls[action.name] = url
 </s> add                 view = self.__class__(**action.kwargs)
                action_urls[view.get_view_name()] = url
    # name and suffix are mutually exclusive
    if 'name' in kwargs and 'suffix' in kwargs:
        raise TypeError("`name` and `suffix` are mutually exclusive arguments.")

      )
  
    # name and suffix are mutually exclusive
    if 'name' in kwargs and 'suffix' in kwargs:
        raise TypeError("`name` and `suffix` are mutually exclusive arguments.")

      def decorator(func):
          func.mapping = MethodMapper(func, methods)
  
          func.detail = detail
          func.url_path = url_path if url_path else func.__name__
keep add keep keep keep keep keep
 Fix action support for ViewSet suffixes (#6081)

* Add suffix support for actions

Removes the newly introduced `action.name` in favor of leveraging the
View's `.get_view_name()` method, which supports both name and suffix.

* Fix view description func docstrings

* Test action decorator name & suffix kwargs

* Adjust 'extra action' docs 
rest_framework/decorators.py