diff --git a/docs/auto_arpa.md b/docs/auto_arpa.md index a43f0d0..bf128f4 100644 --- a/docs/auto_arpa.md +++ b/docs/auto_arpa.md @@ -14,6 +14,10 @@ Alternatively the value can be a dictionary with configuration options for the A --- manager: auto_arpa: + # Replace duplicate records rather than throw an error, default is False + # which throws an error + replace: False + # Explicitly set the TTL of auto-created records, default is 3600s, 1hr ttl: 1800 ``` diff --git a/octodns/processor/arpa.py b/octodns/processor/arpa.py index 491a353..56522ac 100644 --- a/octodns/processor/arpa.py +++ b/octodns/processor/arpa.py @@ -11,10 +11,12 @@ from .base import BaseProcessor class AutoArpa(BaseProcessor): - def __init__(self, name, ttl=3600): + def __init__(self, name, ttl=3600, replace=False): super().__init__(name) self.log = getLogger(f'AutoArpa[{name}]') + self.log.info('__init__: ttl=%d, replace=%s', ttl, replace) self.ttl = ttl + self.replace = replace self._records = defaultdict(set) def process_source_zone(self, desired, sources): @@ -56,7 +58,7 @@ class AutoArpa(BaseProcessor): name, {'ttl': self.ttl, 'type': 'PTR', 'values': fqdns}, ) - zone.add_record(record) + zone.add_record(record, replace=self.replace) self.log.info( 'populate: found %s records', len(zone.records) - before