octodns.processor.acme

Classes

AcmeManagingProcessor(name, **kwargs)

AcmeMangingProcessor

class octodns.processor.acme.AcmeManagingProcessor(name, **kwargs)[source]

Bases: BaseProcessor

log = <Logger AcmeManagingProcessor (WARNING)>
__init__(name, **kwargs)[source]

Example configuration:

processors:
  acme:
    class: octodns.processor.acme.AcmeManagingProcessor

...

zones:
  something.com.:
  ...
  processors:
    - acme
  ...
process_source_zone(desired, sources, lenient=False)[source]

Process the desired zone after all sources have populated.

Called after all sources have completed populate. Provides an opportunity for the processor to modify the desired zone that targets will receive.

Parameters:
  • desired (octodns.zone.Zone) – The desired zone state after all sources have populated. This zone will be used as the target state for planning.

  • sources (list[octodns.provider.base.BaseProvider]) – List of source providers that populated the zone. May be empty for aliased zones.

  • lenient (bool) – When True, relaxed validation rules should be applied when modifying zone records.

Returns:

The modified desired zone, typically the same object passed in.

Return type:

octodns.zone.Zone

Important

  • Will see desired after any modifications done by Provider._process_desired_zone and processors configured to run before this one.

  • May modify desired directly.

  • Must return desired which will normally be the desired param.

  • Must not modify records directly; record.copy should be called, the results of which can be modified, and then Zone.add_record may be used with replace=True.

  • May call Zone.remove_record to remove records from desired.

  • Sources may be empty, as will be the case for aliased zones.

  • Implementations should combine self.lenient or lenient and pass the result to any record and zone calls that accept lenient as a parameter, e.g. zone.add_record(..., lenient=lenient).

process_target_zone(existing, target, lenient=False)[source]

Process the existing zone after the target has populated.

Called after a target has completed populate, before changes are computed between existing and desired. This provides an opportunity to modify the existing zone state.

Parameters:
  • existing (octodns.zone.Zone) – The current zone state from the target provider.

  • target (octodns.provider.base.BaseProvider) – The target provider that populated the existing zone.

  • lenient (bool) – When True, relaxed validation rules should be applied when modifying zone records.

Returns:

The modified existing zone, typically the same object passed in.

Return type:

octodns.zone.Zone

Important

  • Will see existing after any modifications done by processors configured to run before this one.

  • May modify existing directly.

  • Must return existing which will normally be the existing param.

  • Must not modify records directly; record.copy should be called, the results of which can be modified, and then Zone.add_record may be used with replace=True.

  • May call Zone.remove_record to remove records from existing.

  • Implementations should combine self.lenient or lenient and pass the result to any record and zone calls that accept lenient as a parameter, e.g. zone.add_record(..., lenient=lenient).

octodns.processor.acme.AcmeMangingProcessor

alias of AcmeManagingProcessor