Skip to content

Commit

Permalink
fix for multi-item purge (fix #111)
Browse files Browse the repository at this point in the history
  • Loading branch information
ansibleguy committed Nov 22, 2024
1 parent 9cbbb70 commit b10f62b
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 11 deletions.
6 changes: 3 additions & 3 deletions plugins/module_utils/base/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,7 @@ def _change_enabled_state(self) -> dict:
'params': [getattr(self.i, self.i.EXIST_ATTR)[self.field_pk]],
})

def _is_enabled(self, invert: bool) -> bool:
def is_enabled(self, invert: bool = False) -> bool:
is_enabled = getattr(self.i, self.i.EXIST_ATTR)['enabled']

if invert:
Expand All @@ -373,7 +373,7 @@ def _is_enabled(self, invert: bool) -> bool:
return is_enabled

def enable(self, invert: bool = False) -> dict:
if self.i.exists and not self._is_enabled(invert=invert):
if self.i.exists and not self.is_enabled(invert=invert):
self.i.r['changed'] = True
if not invert:
self.i.r['diff']['before'] = {'enabled': False}
Expand All @@ -387,7 +387,7 @@ def enable(self, invert: bool = False) -> dict:
return self._change_enabled_state()

def disable(self, invert: bool = False) -> dict:
if self.i.exists and self._is_enabled(invert=invert):
if self.i.exists and self.is_enabled(invert=invert):
self.i.r['changed'] = True
if not invert:
self.i.r['diff']['before'] = {'enabled': True}
Expand Down
9 changes: 4 additions & 5 deletions plugins/module_utils/helper/purge.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@ def purge(
result['diff']['before'][item_to_purge[diff_param]] = item_to_purge
result['diff']['after'][item_to_purge[diff_param]] = None

else:
result['diff']['before'][item_to_purge[diff_param]] = {'enabled': True}
result['diff']['after'][item_to_purge[diff_param]] = {'enabled': False}

if not module.check_mode:
_obj = obj_func(item_to_purge)
_obj.exists = True
Expand All @@ -23,7 +19,10 @@ def purge(
_obj.delete()

else:
_obj.b.disable()
if _obj.b.is_enabled():
result['diff']['before'][item_to_purge[diff_param]] = {'enabled': True}
result['diff']['after'][item_to_purge[diff_param]] = {'enabled': False}
_obj.b.disable()


def check_purge_filter(module: AnsibleModule, item: dict) -> bool:
Expand Down
3 changes: 0 additions & 3 deletions tests/alias_purge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,6 @@
ANSIBLE_TEST_4_2:
action: 'disable'
register: opn11
failed_when: >
opn11.failed or
opn11.changed
when: not ansible_check_mode

- name: Simple purge
Expand Down

0 comments on commit b10f62b

Please sign in to comment.