code: func Targets(ctx context.Context, log *logrus.Entry) ([]srvcache.Server, error) {
  	mu.Lock()
  	defer mu.Unlock()
  
  	if resolver == nil {
  		return []srvcache.Server{}, fmt.Errorf("no Provisioning Target Resolver registered")
  	}
  
  	s := resolver.Targets(ctx, log)
  
  	if len(s) == 0 {
  		return []srvcache.Server{}, fmt.Errorf("provisioning target plugin %s returned no servers", Name())
  	}
  
  	servers, err := srvcache.StringHostsToServers(s, "nats")
  	if err != nil {
  		return []srvcache.Server{}, fmt.Errorf("could not determine provisioning servers using %s provisionig target plugin: %s", Name(), err)
  	}
  
  	if len(servers) == 0 {
  		return []srvcache.Server{}, fmt.Errorf("provisioning broker urls from the %s plugin were not in the valid format, 0 server:port combinations were foundin %v", Name(), s)
  	}
  
  	return servers, nil
  }
docs: // Targets is a list of brokers to connect to