code: func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
  	if config == nil {
  		return nil, errors.New("ovh: the configuration of the DNS provider is nil")
  	}
  
  	if config.APIEndpoint == "" || config.ApplicationKey == "" || config.ApplicationSecret == "" || config.ConsumerKey == "" {
  		return nil, fmt.Errorf("ovh: credentials missing")
  	}
  
  	client, err := ovh.NewClient(
  		config.APIEndpoint,
  		config.ApplicationKey,
  		config.ApplicationSecret,
  		config.ConsumerKey,
  	)
  	if err != nil {
  		return nil, fmt.Errorf("ovh: %v", err)
  	}
  
  	client.Client = config.HTTPClient
  
  	return &DNSProvider{
  		config:    config,
  		client:    client,
  		recordIDs: make(map[string]int),
  	}, nil
  }
docs: // NewDNSProviderConfig return a DNSProvider instance configured for OVH.