From 397f7bb7e2d9ff9e0f0915dc3a635a490cae3cec Mon Sep 17 00:00:00 2001 From: Roy Lenferink Date: Wed, 8 Mar 2023 16:39:21 +0100 Subject: [PATCH] Fix bug to be idempotent in case of multiple same type records For example, domains often have multiple MX or TXT records for the root part of the domain. To have the outcome of the module be idempotent also sort on content of the record. --- library/transip_dns.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/transip_dns.py b/library/transip_dns.py index e6a2827..cde1c6f 100755 --- a/library/transip_dns.py +++ b/library/transip_dns.py @@ -79,8 +79,8 @@ def main(): existing_records = fetch_dns_records(request_headers, domain) # Sort the records before comparing, order doesn't matter for DNS records - existing_records.sort(key=lambda x: (x['name'], x['type']), reverse=False) - records.sort(key=lambda x: (x['name'], x['type']), reverse=False) + existing_records.sort(key=lambda x: (x['name'], x['type'], x['content']), reverse=False) + records.sort(key=lambda x: (x['name'], x['type'], x['content']), reverse=False) # Only perform an update if the DNS entries differ if existing_records != records: