func (cl *Client) DescribeBrokerConfigs(
	ctx context.Context,
	brokers ...int32,
) (ResourceConfigs, error) {
	var names []string
	if len(brokers) == 0 {
		names = append(names, "")
	}
	for _, b := range brokers {
		names = append(names, strconv.Itoa(int(b)))
	}
	return cl.describeConfigs(ctx, kmsg.ConfigResourceTypeBroker, names)
}
DescribeBrokerConfigs returns configuration for the requested brokers. If no
brokers are requested, a single request is issued and any broker in the
cluster replies with the cluster-level dynamic config values.

This may return *ShardErrors.
package kadm
import (
	"context"
	"strconv"
	"github.com/twmb/franz-go/pkg/kerr"
	"github.com/twmb/franz-go/pkg/kmsg"
)
type ConfigSynonym struct {
	Key    string             
	Value  *string            
	Source kmsg.ConfigSource  
}
type Config struct {
	Key       string             
	Value     *string            
	Sensitive bool               
	Source    kmsg.ConfigSource  
	Synonyms []ConfigSynonym
}
func (c *Config) MaybeValue() string {
	if c.Value != nil {
		return *c.Value
	}
	return ""
}
type ResourceConfig struct {
	Name    string    
	Configs []Config  
	Err     error     
}
type ResourceConfigs []ResourceConfig
func (rs ResourceConfigs) On(name string, fn func(*ResourceConfig) error) (ResourceConfig, error) {
	for _, r := range rs {
		if r.Name == name {
			if fn == nil {
				return r, nil
			}
			return r, fn(&r)
		}
	}
	return ResourceConfig{}, errMissing(name)
}
func (cl *Client) DescribeTopicConfigs(
	ctx context.Context,
	topics ...string,
) (ResourceConfigs, error) {
	if len(topics) == 0 {
		return nil, nil
	}
	return cl.describeConfigs(ctx, kmsg.ConfigResourceTypeTopic, topics)
}