docs: def list_nodes(kwargs=None, call=None):
      """
      This function returns a list of nodes available on this cloud provider, using the following fields:
  
      id (str)
      image (str)
      size (str)
      state (str)
      private_ips (list)
      public_ips (list)
  
      No other fields should be returned in this function, and all of these fields should be returned, even if empty.
      The private_ips and public_ips fields should always be of a list type, even if empty,
      and the other fields should always be of a str type.
      This function is normally called with the -Q option:
  
      .. code-block:: bash
  
          salt-cloud -Q
  
  
      @param kwargs:
      @type kwargs:
      @param call:
      @type call:
      @return:
      @rtype:
      """
      if call == 'action':
          raise SaltCloudSystemExit(
              'The list_nodes function must be called '
              'with -f or --function.'
          )
  
      attributes = [
          "id",
          "image",
          "size",
          "state",
          "private_ips",
          "public_ips",
      ]
      return __utils__['cloud.list_nodes_select'](
          list_nodes_full('function'), attributes, call,
      )