From dd0b093983e1cae433a8a07bce3f1f1698081560 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Thu, 22 Jan 2026 15:31:38 -0700 Subject: [PATCH] [pfsense_interface] Support diff mode --- changelogs/fragments/228_interface_diff.yml | 2 ++ plugins/module_utils/interface.py | 7 +++---- 2 files changed, 5 insertions(+), 4 deletions(-) create mode 100644 changelogs/fragments/228_interface_diff.yml diff --git a/changelogs/fragments/228_interface_diff.yml b/changelogs/fragments/228_interface_diff.yml new file mode 100644 index 00000000..3d0147ea --- /dev/null +++ b/changelogs/fragments/228_interface_diff.yml @@ -0,0 +1,2 @@ +minor_changes: + - pfsense_interface - support ``--diff`` (https://github.com/pfsensible/core/pull/228). diff --git a/plugins/module_utils/interface.py b/plugins/module_utils/interface.py index cf8e7f26..86a197a2 100644 --- a/plugins/module_utils/interface.py +++ b/plugins/module_utils/interface.py @@ -217,15 +217,13 @@ def _validate_params(self): def _copy_and_add_target(self): """ create the XML target_elt """ self.pfsense.copy_dict_to_element(self.obj, self.target_elt) + self.diff['after'] = self.obj self.setup_interface_cmds += "interface_configure('{0}', true);\n".format(self.target_elt.tag) self.result['ifname'] = self.target_elt.tag def _copy_and_update_target(self): """ update the XML target_elt """ - before = self.pfsense.element_to_dict(self.target_elt) - changed = self.pfsense.copy_dict_to_element(self.obj, self.target_elt) - if self._remove_deleted_params(): - changed = True + (before, changed) = super(PFSenseInterfaceModule, self)._copy_and_update_target() if changed: if self.params['enable']: @@ -326,6 +324,7 @@ def _get_params_to_remove(): def _pre_remove_target_elt(self): """ processing before removing elt """ + super(PFSenseInterfaceModule, self)._pre_remove_target_elt() self.obj['if'] = self.target_elt.find('if').text ifname = self.target_elt.tag