diff --git a/plugins/modules/ipadnszone.py b/plugins/modules/ipadnszone.py index 15cbec1d7d6c250d3d1f9e40bf0d8fb802a346ef..038cdd2b1d73e39c73e138904358d0d4e7e40ac4 100644 --- a/plugins/modules/ipadnszone.py +++ b/plugins/modules/ipadnszone.py @@ -492,7 +492,13 @@ class DNSZoneModule(FreeIPABaseModule): # See: # - https://pagure.io/freeipa/issue/8227 # - https://pagure.io/freeipa/issue/8489 - if set_serial: + # Only set SOA Serial if it is not set already. + if (set_serial and + (zone is None + or "idnssoaserial" not in zone + or zone["idnssoaserial"] is None + or zone["idnssoaserial"][0] != str(self.ipa_params.serial) + )): args = { "idnssoaserial": self.ipa_params.serial, }