code: func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
  	if config == nil {
  		return nil, errors.New("oraclecloud: the configuration of the DNS provider is nil")
  	}
  
  	if config.CompartmentID == "" {
  		return nil, errors.New("oraclecloud: CompartmentID is missing")
  	}
  
  	if config.OCIConfigProvider == nil {
  		return nil, errors.New("oraclecloud: OCIConfigProvider is missing")
  	}
  
  	client, err := dns.NewDnsClientWithConfigurationProvider(config.OCIConfigProvider)
  	if err != nil {
  		return nil, fmt.Errorf("oraclecloud: %v", err)
  	}
  
  	if config.HTTPClient != nil {
  		client.HTTPClient = config.HTTPClient
  	}
  
  	return &DNSProvider{client: &client, config: config}, nil
  }
docs: // NewDNSProviderConfig return a DNSProvider instance configured for OracleCloud.