docs: def list_upgrades(refresh=True, **kwargs):  # pylint: disable=W0613
      '''
      Lists all packages available for update.
  
      When run in global zone, it reports only upgradable packages for the global
      zone.
  
      When run in non-global zone, it can report more upgradable packages than
      ``pkg update -vn``, because ``pkg update`` hides packages that require
      newer version of ``pkg://solaris/entire`` (which means that they can be
      upgraded only from the global zone). If ``pkg://solaris/entire`` is found
      in the list of upgrades, then the global zone should be updated to get all
      possible updates. Use ``refresh=True`` to refresh the package database.
  
      refresh : True
          Runs a full package database refresh before listing. Set to ``False`` to
          disable running the refresh.
  
          .. versionchanged:: 2017.7.0
  
          In previous versions of Salt, ``refresh`` defaulted to ``False``. This was
          changed to default to ``True`` in the 2017.7.0 release to make the behavior
          more consistent with the other package modules, which all default to ``True``.
  
      CLI Example:
  
      .. code-block:: bash
  
          salt '*' pkg.list_upgrades
          salt '*' pkg.list_upgrades refresh=False
      '''
      if salt.utils.data.is_true(refresh):
          refresh_db(full=True)
      upgrades = {}
      # awk is in core-os package so we can use it without checking
      lines = __salt__['cmd.run_stdout']("/bin/pkg list -Huv").splitlines()
      for line in lines:
          upgrades[_ips_get_pkgname(line)] = _ips_get_pkgversion(line)
      return upgrades