Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // ErrZoneAlreadyExists error returned when zone cannot be created when it already exists ErrZoneAlreadyExists = errors.New("specified zone already exists") // ErrZoneNotFound error returned when specified zone does not exists ErrZoneNotFound = errors.New("specified zone not found") // ErrRecordAlreadyExists when create request is sent but record already exists ErrRecordAlreadyExists = errors.New("record already exists") // ErrRecordNotFound when update/delete request is sent but record not found ErrRecordNotFound = errors.New("record not found") // ErrDuplicateRecordFound when record is repeated in create/update/delete ErrDuplicateRecordFound = errors.New("invalid batch request") )
Functions ¶
This section is empty.
Types ¶
type InMemoryOption ¶
type InMemoryOption func(*InMemoryProvider)
InMemoryOption allows to extend in-memory provider
func InMemoryInitZones ¶
func InMemoryInitZones(zones []string) InMemoryOption
InMemoryInitZones pre-seeds the InMemoryProvider with given zones
func InMemoryWithDomain ¶
func InMemoryWithDomain(domainFilter endpoint.DomainFilter) InMemoryOption
InMemoryWithDomain modifies the domain on which dns zones are filtered
func InMemoryWithLogging ¶
func InMemoryWithLogging() InMemoryOption
InMemoryWithLogging injects logging when ApplyChanges is called
type InMemoryProvider ¶
type InMemoryProvider struct { provider.BaseProvider OnApplyChanges func(ctx context.Context, changes *plan.Changes) OnRecords func() // contains filtered or unexported fields }
InMemoryProvider - dns provider only used for testing purposes initialized as dns provider with no records
func NewInMemoryProvider ¶
func NewInMemoryProvider(opts ...InMemoryOption) *InMemoryProvider
NewInMemoryProvider returns InMemoryProvider DNS provider interface implementation
func (*InMemoryProvider) ApplyChanges ¶
ApplyChanges simply modifies records in memory error checking occurs before any modifications are made, i.e. batch processing create record - record should not exist update/delete record - record should exist create/update/delete lists should not have overlapping records
func (*InMemoryProvider) CreateZone ¶
func (im *InMemoryProvider) CreateZone(newZone string) error
CreateZone adds new zone if not present
func (*InMemoryProvider) Zones ¶
func (im *InMemoryProvider) Zones() map[string]string
Zones returns filtered zones as specified by domain