Browse Source

clamp: formatted

I ran both isort and black.
Let's hope that this makes the CI happy.
pull/1318/head
Tobias Mueller 2 months ago
parent
commit
6ebba04111
1 changed files with 14 additions and 11 deletions
  1. +14
    -11
      octodns/processor/clamp.py

+ 14
- 11
octodns/processor/clamp.py View File

@ -1,22 +1,23 @@
from logging import getLogger from logging import getLogger
from octodns.processor.base import BaseProcessor from octodns.processor.base import BaseProcessor
class TtlClampProcessor(BaseProcessor): class TtlClampProcessor(BaseProcessor):
""" """
Processor that clamps TTL values to a specified range. Processor that clamps TTL values to a specified range.
Configuration: Configuration:
min_ttl: Minimum TTL value (default: 300 seconds / 5 minutes) min_ttl: Minimum TTL value (default: 300 seconds / 5 minutes)
max_ttl: Maximum TTL value (default: 86400 seconds / 24 hours) max_ttl: Maximum TTL value (default: 86400 seconds / 24 hours)
Example config.yaml: Example config.yaml:
processors: processors:
clamp: clamp:
class: octodns.processor.clamp.TtlClampProcessor class: octodns.processor.clamp.TtlClampProcessor
min_ttl: 300 min_ttl: 300
max_ttl: 3600 max_ttl: 3600
zones: zones:
example.com.: example.com.:
sources: sources:
@ -26,38 +27,40 @@ class TtlClampProcessor(BaseProcessor):
targets: targets:
- route53 - route53
""" """
def __init__(self, id, min_ttl=300, max_ttl=86400): def __init__(self, id, min_ttl=300, max_ttl=86400):
super().__init__(id) super().__init__(id)
self.log = getLogger(f'{self.__class__.__module__}.{self.__class__.__name__}')
self.log = getLogger(
f'{self.__class__.__module__}.{self.__class__.__name__}'
)
self.min_ttl = min_ttl self.min_ttl = min_ttl
self.max_ttl = max_ttl self.max_ttl = max_ttl
self.log.info( self.log.info(
f'TtlClampProcessor initialized: min={min_ttl}s, max={max_ttl}s' f'TtlClampProcessor initialized: min={min_ttl}s, max={max_ttl}s'
) )
def process_source_zone(self, desired, sources): def process_source_zone(self, desired, sources):
""" """
Process records from source zone(s). Process records from source zone(s).
Args: Args:
desired: Zone object containing the desired records desired: Zone object containing the desired records
sources: List of source names sources: List of source names
Returns: Returns:
The modified zone The modified zone
""" """
self.log.debug(f'Processing source zone: {desired.name}') self.log.debug(f'Processing source zone: {desired.name}')
for record in desired.records: for record in desired.records:
original_ttl = record.ttl original_ttl = record.ttl
clamped_ttl = max(self.min_ttl, min(self.max_ttl, original_ttl)) clamped_ttl = max(self.min_ttl, min(self.max_ttl, original_ttl))
if clamped_ttl != original_ttl: if clamped_ttl != original_ttl:
self.log.info( self.log.info(
f'Clamping TTL for {record.fqdn} ({record._type}): ' f'Clamping TTL for {record.fqdn} ({record._type}): '
f'{original_ttl}s -> {clamped_ttl}s' f'{original_ttl}s -> {clamped_ttl}s'
) )
record.ttl = clamped_ttl record.ttl = clamped_ttl
return desired return desired

Loading…
Cancel
Save