octodns.zone.validator

Classes

ValidationReason(reason, records)

ZoneValidator(id[, sets])

Base class for zone-level validators.

ZoneValidatorRegistry()

class octodns.zone.validator.ZoneValidatorRegistry[source]

Bases: object

log = <Logger Zone (WARNING)>
__init__()[source]
register(validator)[source]
enable_sets(sets)[source]
enable(id)[source]
disable(validator_id)[source]
reset_active()[source]
registered()[source]
available_validators()[source]
process_zone(zone)[source]
class octodns.zone.validator.ValidationReason(reason, records)[source]

Bases: object

__init__(reason, records)[source]
property lenient
__repr__()[source]

Return repr(self).

class octodns.zone.validator.ZoneValidator(id, sets=None)[source]

Bases: object

Base class for zone-level validators.

Subclasses override validate to return a list of ValidationReason objects describing any validation failures. An empty list indicates the zone is valid. The zone validator receives the fully assembled desired Zone and may examine any records within it. Because zone validators see the whole zone at once, they are suited for cross-record checks (e.g. requiring at least two MX values at the apex) that per-record validators cannot perform.

Every zone validator instance has a non-empty id — a short, stable, kebab-case identifier (e.g. 'multi-value-mx'). Config-registered validators receive their config key as id automatically.

__init__(id, sets=None)[source]
Parameters:
  • id – Non-empty identifier for this validator instance.

  • sets – Iterable of set names, or None to always activate.

validate(zone)[source]

Validate a fully populated zone.

Parameters:

zone – The Zone to validate.

Returns:

list[ValidationReason] of reason objects; empty when valid.