func NewExoscaleProviderWithClient(endpoint, apiKey, apiSecret string, client EgoscaleClientI, dryRun bool, opts ...ExoscaleOption) *ExoscaleProvider {
	ep := &ExoscaleProvider{
		filter:         &zoneFilter{},
		OnApplyChanges: func(changes *plan.Changes) {},
		domain:         NewDomainFilter([]string{""}),
		client:         client,
		dryRun:         dryRun,
	}
	for _, opt := range opts {
		opt(ep)
	}
	return ep
}
func NewExoscaleProviderWithClient(endpoint, apiKey, apiSecret string, client EgoscaleClientI, dryRun bool, opts ...ExoscaleOption) *ExoscaleProvider {
	ep := &ExoscaleProvider{
		filter:         &zoneFilter{},
		OnApplyChanges: func(changes *plan.Changes) {},
		domain:         NewDomainFilter([]string{""}),
		client:         client,
		dryRun:         dryRun,
	}
	for _, opt := range opts {
		opt(ep)
	}
	return ep
}
func NewExoscaleProviderWithClient ( endpoint , apiKey , apiSecret string , client EgoscaleClientI , dryRun bool , opts ... ExoscaleOption ) * ExoscaleProvider { ep := & ExoscaleProvider { filter : & zoneFilter { } , OnApplyChanges : func ( changes * plan . Changes ) { } , domain : NewDomainFilter ( [ ] string { " " } ) , client : client , dryRun : dryRun , } for _ , opt := range opts { opt ( ep ) } return ep }
// NewExoscaleProviderWithClient returns ExoscaleProvider DNS provider interface implementation (Client provided)
NewExoscaleProviderWithClient returns ExoscaleProvider DNS provider interface implementation ( Client provided )