def METHOD_NAME(
    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 {} {} {} {}".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