code: def list_nodes_full(call=None):
      '''
      List the nodes, ask all 'vagrant' minions, return dict of grains (enhanced).
  
      CLI Example:
  
      .. code-block:: bash
  
          salt-call -F
      '''
      ret = _list_nodes(call)
  
      for key, grains in ret.items():  # clean up some hyperverbose grains -- everything is too much
          try:
              del grains['cpu_flags'], grains['disks'], grains['pythonpath'], grains['dns'], grains['gpus']
          except KeyError:
              pass  # ignore absence of things we are eliminating
          except TypeError:
              del ret[key]  # eliminate all reference to unexpected (None) values.
  
      reqs = _build_required_items(ret)
      for name in ret:
          ret[name].update(reqs[name])
      return ref list_nodes_full(call=None):
      '''
      List the nodes, ask all 'vagrant' minions, return dict of grains (enhanced).
  
      CLI Example:
  
      .. code-block:: bash
  
          salt-call -F
      '''
      ret = _list_nodes(call)
  
      for key, grains in ret.items():  # clean up some hyperverbose grains -- everything is too much
          try:
              del grains['cpu_flags'], grains['disks'], grains['pythonpath'], grains['dns'], grains['gpus']
          except KeyError:
              pass  # ignore absence of things we are eliminating
          except TypeError:
              del ret[key]  # eliminate all reference to unexpected (None) values.
  
      reqs = _build_required_items(ret)
      for name in ret:
          ret[name].update(reqs[name])
      return ret
docs: List the nodes, ask all 'vagrant' minions, return dict of grains (enhanced).
  
      CLI Example:
  
      .. code-block:: bash
  
          salt-call -F