func NewInMemoryProvider(opts ...InMemoryOption) *InMemoryProvider {
	im := &InMemoryProvider{
		filter:         &filter{},
		OnApplyChanges: func(changes *plan.Changes) {},
		OnRecords:      func() {},
		domain:         NewDomainFilter([]string{""}),
		client:         newInMemoryClient(),
	}

	for _, opt := range opts {
		opt(im)
	}

	return im
}
func NewInMemoryProvider(opts ...InMemoryOption) *InMemoryProvider {
	im := &InMemoryProvider{
		filter:         &filter{},
		OnApplyChanges: func(changes *plan.Changes) {},
		OnRecords:      func() {},
		domain:         NewDomainFilter([]string{""}),
		client:         newInMemoryClient(),
	}

	for _, opt := range opts {
		opt(im)
	}

	return im
}
func NewInMemoryProvider ( opts ... InMemoryOption ) * InMemoryProvider { im := & InMemoryProvider { filter : & filter { } , OnApplyChanges : func ( changes * plan . Changes ) { } , OnRecords : func ( ) { } , domain : NewDomainFilter ( [ ] string { " " } ) , client : newInMemoryClient ( ) , } for _ , opt := range opts { opt ( im ) } return im }
// NewInMemoryProvider returns InMemoryProvider DNS provider interface implementation
NewInMemoryProvider returns InMemoryProvider DNS provider interface implementation