From 084f1e7c5757a4e287ec914ff5c66e62f6c00438 Mon Sep 17 00:00:00 2001 From: Ross McFarland Date: Sat, 31 Mar 2018 13:05:04 -0700 Subject: [PATCH] Consolidate Dyn monitor comparison logic --- octodns/provider/dyn.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/octodns/provider/dyn.py b/octodns/provider/dyn.py index e9c7bca..09329c0 100644 --- a/octodns/provider/dyn.py +++ b/octodns/provider/dyn.py @@ -142,6 +142,10 @@ class _CachingDynZone(DynZone): self.flush_cache() +def _monitor_matches(monitor, host, path): + return monitor.host != host or monitor.path != path + + class DynProvider(BaseProvider): ''' Dynect Managed DNS provider @@ -474,8 +478,8 @@ class DynProvider(BaseProvider): continue # Heh, when pulled from the API host & path live under options, but # when you create with the constructor they're top-level :-( - if monitor.host != record.healthcheck_host or \ - monitor.path != record.healthcheck_path: + if _monitor_matches(monitor, record.healthcheck_host, + record.healthcheck_path): self.log.info('_extra_changes: health-check mis-match for %s', label) extra.append(Update(record, record)) @@ -592,8 +596,8 @@ class DynProvider(BaseProvider): self.traffic_director_monitors[label] = \ self.traffic_director_monitors[fqdn] del self.traffic_director_monitors[fqdn] - if monitor.host != record.healthcheck_host or \ - monitor.path != record.healthcheck_path: + if _monitor_matches(monitor, record.healthcheck_host, + record.healthcheck_path): self.log.info('_traffic_director_monitor: updating monitor ' 'for %s', label) monitor.update(record.healthcheck_host,