code: func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
  	if config == nil {
  		return nil, errors.New("vscale: the configuration of the DNS provider is nil")
  	}
  
  	if config.Token == "" {
  		return nil, errors.New("vscale: credentials missing")
  	}
  
  	if config.TTL < minTTL {
  		return nil, fmt.Errorf("vscale: invalid TTL, TTL (%d) must be greater than %d", config.TTL, minTTL)
  	}
  
  	client := internal.NewClient(internal.ClientOpts{
  		BaseURL:    config.BaseURL,
  		Token:      config.Token,
  		HTTPClient: config.HTTPClient,
  	})
  
  	return &DNSProvider{config: config, client: client}, nil
  }
docs: // NewDNSProviderConfig return a DNSProvider instance configured for Vscale.