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

Loading…
Cancel
Save