docs: def alter_configs(self, config_resources):
          """Alter configuration parameters of one or more Kafka resources.
  
          Warning:
              This is currently broken for BROKER resources because those must be
              sent to that specific broker, versus this always picks the
              least-loaded node. See the comment in the source code for details.
              We would happily accept a PR fixing this.
  
          :param config_resources: A list of ConfigResource objects.
          :return: Appropriate version of AlterConfigsResponse class.
          """
          version = self._matching_api_version(AlterConfigsRequest)
          if version == 0:
              request = AlterConfigsRequest[version](
                  resources=[self._convert_alter_config_resource_request(config_resource) for config_resource in config_resources]
              )
          else:
              raise NotImplementedError(
                  "Support for AlterConfigs v{} has not yet been added to KafkaAdminClient."
                  .format(version))
          # TODO the Java client has the note:
          # // We must make a separate AlterConfigs request for every BROKER resource we want to alter
          # // and send the request to that specific broker. Other resources are grouped together into
          # // a single request that may be sent to any broker.
          #
          # So this is currently broken as it always sends to the least_loaded_node()
          return self._send_request_to_node(self._client.least_loaded_node(), request)