code: func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
  	if config == nil {
  		return nil, errors.New("namedotcom: the configuration of the DNS provider is nil")
  	}
  
  	if config.Username == "" {
  		return nil, fmt.Errorf("namedotcom: username is required")
  	}
  
  	if config.APIToken == "" {
  		return nil, fmt.Errorf("namedotcom: API token is required")
  	}
  
  	if config.TTL < minTTL {
  		return nil, fmt.Errorf("namedotcom: invalid TTL, TTL (%d) must be greater than %d", config.TTL, minTTL)
  	}
  
  	client := namecom.New(config.Username, config.APIToken)
  	client.Client = config.HTTPClient
  
  	if config.Server != "" {
  		client.Server = config.Server
  	}
  
  	return &DNSProvider{client: client, config: config}, nil
  }
docs: // NewDNSProviderConfig return a DNSProvider instance configured for namedotcom.