code: func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
  	if config == nil {
  		return nil, errors.New("the configuration of the DNS provider is nil")
  	}
  
  	if config.APIKey == "" || config.APISecret == "" {
  		return nil, fmt.Errorf("exoscale: credentials missing")
  	}
  
  	if config.Endpoint == "" {
  		config.Endpoint = defaultBaseURL
  	}
  
  	client := egoscale.NewClient(config.Endpoint, config.APIKey, config.APISecret)
  	client.HTTPClient = config.HTTPClient
  
  	return &DNSProvider{client: client, config: config}, nil
  }
docs: // NewDNSProviderConfig return a DNSProvider instance configured for Exoscale.