docs: def enable_beacon(name, **kwargs):
      '''
      Enable a beacon on the minion.
  
      Args:
          name (str): Name of the beacon to enable.
  
      Returns:
          dict: Boolean and status message on success or failure of enable.
  
      CLI Example:
  
      .. code-block:: bash
  
          salt '*' beacons.enable_beacon ps
      '''
  
      ret = {'comment': [],
             'result': True}
  
      if not name:
          ret['comment'] = 'Beacon name is required.'
          ret['result'] = False
          return ret
  
      if 'test' in kwargs and kwargs['test']:
          ret['comment'] = 'Beacon {0} would be enabled.'.format(name)
      else:
          _beacons = list_(return_yaml=False, **kwargs)
          if name not in _beacons:
              ret['comment'] = 'Beacon {0} is not currently configured.' \
                               ''.format(name)
              ret['result'] = False
              return ret
  
          try:
              eventer = salt.utils.event.get_event('minion', opts=__opts__)
              res = __salt__['event.fire']({'func': 'enable_beacon',
                                            'name': name},
                                           'manage_beacons')
              if res:
                  event_ret = eventer.get_event(
                      tag='/salt/minion/minion_beacon_enabled_complete',
                      wait=kwargs.get('timeout', 30))
                  if event_ret and event_ret['complete']:
                      beacons = event_ret['beacons']
                      beacon_config_dict = _get_beacon_config_dict(beacons[name])
  
                      if 'enabled' in beacon_config_dict and beacon_config_dict['enabled']:
                          ret['result'] = True
                          ret['comment'] = 'Enabled beacon {0} on minion.' \
                                           ''.format(name)
                      else:
                          ret['result'] = False
                          ret['comment'] = 'Failed to enable beacon {0} on ' \
                                           'minion.'.format(name)
                  elif event_ret:
                      ret['result'] = False
                      ret['comment'] = event_ret['comment']
                  else:
                      ret['result'] = False
                      ret['comment'] = 'Did not receive the manage event ' \
                                       'before the timeout of {0}s' \
                                       ''.format(kwargs.get('timeout', 30))
                  return ret
          except KeyError:
              # Effectively a no-op, since we can't really return without an event
              # system
              ret['result'] = False
              ret['comment'] = 'Event module not available. Beacon enable job ' \
                               'failed.'
      return ret