code: func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
  	if config == nil {
  		return nil, errors.New("pdns: the configuration of the DNS provider is nil")
  	}
  
  	if config.APIKey == "" {
  		return nil, fmt.Errorf("pdns: API key missing")
  	}
  
  	if config.Host == nil || config.Host.Host == "" {
  		return nil, fmt.Errorf("pdns: API URL missing")
  	}
  
  	d := &DNSProvider{config: config}
  
  	apiVersion, err := d.getAPIVersion()
  	if err != nil {
  		log.Warnf("pdns: failed to get API version %v", err)
  	}
  	d.apiVersion = apiVersion
  
  	return d, nil
  }
docs: // NewDNSProviderConfig return a DNSProvider instance configured for pdns.