func NewCloudFlareProvider(domainFilter DomainFilter, zoneIDFilter ZoneIDFilter, zonesPerPage int, proxiedByDefault bool, dryRun bool) (*CloudFlareProvider, error) {
	// initialize via API email and API key and returns new API object
	config, err := cloudflare.New(os.Getenv("CF_API_KEY"), os.Getenv("CF_API_EMAIL"))
	if err != nil {
		return nil, fmt.Errorf("failed to initialize cloudflare provider: %v", err)
	}
	provider := &CloudFlareProvider{
		//Client: config,
		Client:           zoneService{config},
		domainFilter:     domainFilter,
		zoneIDFilter:     zoneIDFilter,
		proxiedByDefault: proxiedByDefault,
		DryRun:           dryRun,
		PaginationOptions: cloudflare.PaginationOptions{
			PerPage: zonesPerPage,
			Page:    1,
		},
	}
	return provider, nil
}
func NewCloudFlareProvider(domainFilter DomainFilter, zoneIDFilter ZoneIDFilter, zonesPerPage int, proxiedByDefault bool, dryRun bool) (*CloudFlareProvider, error) {
	
	config, err := cloudflare.New(os.Getenv("CF_API_KEY"), os.Getenv("CF_API_EMAIL"))
	if err != nil {
		return nil, fmt.Errorf("failed to initialize cloudflare provider: %v", err)
	}
	provider := &CloudFlareProvider{
		
		Client:           zoneService{config},
		domainFilter:     domainFilter,
		zoneIDFilter:     zoneIDFilter,
		proxiedByDefault: proxiedByDefault,
		DryRun:           dryRun,
		PaginationOptions: cloudflare.PaginationOptions{
			PerPage: zonesPerPage,
			Page:    1,
		},
	}
	return provider, nil
}
func NewCloudFlareProvider ( domainFilter DomainFilter , zoneIDFilter ZoneIDFilter , zonesPerPage int , proxiedByDefault bool , dryRun bool ) ( * CloudFlareProvider , error ) { // initialize via API email and API key and returns new API object config , err := cloudflare . New ( os . Getenv ( " " ) , os . Getenv ( " " ) ) if err != nil { return nil , fmt . Errorf ( " " , err ) } provider := & CloudFlareProvider { //Client: config, Client : zoneService { config } , domainFilter : domainFilter , zoneIDFilter : zoneIDFilter , proxiedByDefault : proxiedByDefault , DryRun : dryRun , PaginationOptions : cloudflare . PaginationOptions { PerPage : zonesPerPage , Page : 1 , } , } return provider , nil }
// NewCloudFlareProvider initializes a new CloudFlare DNS based Provider.
NewCloudFlareProvider initializes a new CloudFlare DNS based Provider .