summaryrefslogtreecommitdiff
path: root/provider/dummy.go
blob: bec590718510d1fc4f236c97eeda39b06dcce730 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package provider

import (
	"log/slog"
	"net/netip"
)

// a stand-in for a real provider.
// once asked to ensure a record is set,
// it will tell you what was requested,
// and not take any action.
// very useful for debugging!
type dummy struct {
	log *slog.Logger
}

var _ Provider = (*dummy)(nil)

func newDummy(log *slog.Logger) (*dummy, error) {
	return &dummy{log: log.With(slog.String("provider", "dummy"))}, nil
}

func (d *dummy) Ensure(zone, name string, rtype RecordType, addr netip.Addr) (string, bool, error) {
	d.log.Info(
		"asked to ensure record, but nothing happened",
		slog.String("zone", zone),
		slog.String("name", name),
		slog.String("record", string(rtype)),
		slog.String("addr", addr.String()),
	)
	return "", true, nil
}