docs: def _pillar(self, load):
          '''
          Return the pillar data for the minion
  
          :param dict load: Minion payload
  
          :rtype: dict
          :return: The pillar data for the minion
          '''
          if any(key not in load for key in ('id', 'grains')):
              return False
          if not salt.utils.verify.valid_id(self.opts, load['id']):
              return False
          load['grains']['id'] = load['id']
  
          pillar = salt.pillar.get_pillar(
              self.opts,
              load['grains'],
              load['id'],
              load.get('saltenv', load.get('env')),
              ext=load.get('ext'),
              pillar_override=load.get('pillar_override', {}),
              pillarenv=load.get('pillarenv'),
              extra_minion_data=load.get('extra_minion_data'))
          data = pillar.compile_pillar()
          self.fs_.update_opts()
          if self.opts.get('minion_data_cache', False):
              self.masterapi.cache.store('minions/{0}'.format(load['id']),
                                         'data',
                                         {'grains': load['grains'],
                                          'pillar': data})
              if self.opts.get('minion_data_cache_events') is True:
                  self.event.fire_event({'Minion data cache refresh': load['id']}, tagify(load['id'], 'refresh', 'minion'))
          return data