docs: def exec_action(module, action, module_parameter=None, action_parameter=None, state_only=False):
      '''
      Execute an arbitrary action on a module.
  
      module
          name of the module to be executed
  
      action
          name of the module's action to be run
  
      module_parameter
          additional params passed to the defined module
  
      action_parameter
          additional params passed to the defined action
  
      state_only
          don't return any output but only the success/failure of the operation
  
      CLI Example (updating the ``php`` implementation used for ``apache2``):
  
      .. code-block:: bash
  
          salt '*' eselect.exec_action php update action_parameter='apache2'
      '''
      out = __salt__['cmd.run'](
          'eselect --brief --colour=no {0} {1} {2} {3}'.format(
              module, module_parameter or '', action, action_parameter or ''),
          python_shell=False
      )
      out = out.strip().split('\n')
  
      if out[0].startswith('!!! Error'):
          return False
  
      if state_only:
          return True
  
      if not out:
          return False
  
      if len(out) == 1 and not out[0].strip():
          return False
  
      return out