dnscontrol/providers/route53/auditrecords.go

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

32 lines
886 B
Go
Raw Permalink Normal View History

package route53
import (
2025-01-10 23:43:16 +08:00
"errors"
2023-05-21 01:21:45 +08:00
"github.com/StackExchange/dnscontrol/v4/models"
"github.com/StackExchange/dnscontrol/v4/pkg/rejectif"
)
// AuditRecords returns a list of errors corresponding to the records
// that aren't supported by this provider. If all records are
// supported, an empty list is returned.
func AuditRecords(records []*models.RecordConfig) []error {
a := rejectif.Auditor{}
a.Add("R53_ALIAS", rejectifTargetEqualsLabel) // Last verified 2023-03-01
return a.Audit(records)
}
// Normally this kind of function would be put in `pkg/rejectif` but
// since this is ROUTE53-specific, we'll include it here.
// rejectifTargetEqualsLabel rejects an ALIAS that would create a loop.
func rejectifTargetEqualsLabel(rc *models.RecordConfig) error {
if (rc.GetLabelFQDN() + ".") == rc.GetTargetField() {
2025-01-10 23:43:16 +08:00
return errors.New("alias target loop")
}
return nil
}