code: func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
  	if config == nil {
  		return nil, errors.New("aurora: the configuration of the DNS provider is nil")
  	}
  
  	if config.UserID == "" || config.Key == "" {
  		return nil, errors.New("aurora: some credentials information are missing")
  	}
  
  	if config.BaseURL == "" {
  		config.BaseURL = defaultBaseURL
  	}
  
  	tr, err := auroradns.NewTokenTransport(config.UserID, config.Key)
  	if err != nil {
  		return nil, fmt.Errorf("aurora: %v", err)
  	}
  
  	client, err := auroradns.NewClient(tr.Client(), auroradns.WithBaseURL(config.BaseURL))
  	if err != nil {
  		return nil, fmt.Errorf("aurora: %v", err)
  	}
  
  	return &DNSProvider{
  		config:    config,
  		client:    client,
  		recordIDs: make(map[string]string),
  	}, nil
  }
docs: // NewDNSProviderConfig return a DNSProvider instance configured for AuroraDNS.