Skip to content

Commit de14226

Browse files
committed
proxmox_zone: added zone_absent()
1 parent fa60bb4 commit de14226

File tree

1 file changed

+26
-4
lines changed

1 file changed

+26
-4
lines changed

plugins/modules/proxmox_zone.py

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,8 @@ def run(self):
121121

122122
elif state == "absent":
123123
self.zone_absent(
124-
124+
zone_name=zone_params.get('zone'),
125+
lock=zone_params.get('lock-token')
125126
)
126127
else:
127128
zones = self.get_zones(**zone_params)
@@ -241,11 +242,32 @@ def zone_update(self, **kwargs):
241242
except Exception as e:
242243
self.rollback_sdn_changes_and_release_lock(lock)
243244
self.module.fail_json(
244-
msg=f'Failed to apply sdn changes {e}. Rolling back all pending changes.'
245+
msg=f'Failed to update zone {e}'
246+
)
247+
248+
def zone_absent(self, zone_name, lock):
249+
available_zones = [x['zone'] for x in self.get_zones()]
250+
params = {'lock-token': lock}
251+
252+
try:
253+
if zone_name not in available_zones:
254+
self.release_lock(lock)
255+
self.module.exit_json(
256+
changed=False, msg=f"zone {zone_name} already doesn't exist."
257+
)
258+
else:
259+
zone = getattr(self.proxmox_api.cluster().sdn().zones(), zone_name)
260+
zone.delete(**params)
261+
self.apply_sdn_changes_and_release_lock(lock)
262+
self.module.exit_json(
263+
changed=True, msg=f'Successfully deleted zone {zone_name}'
264+
)
265+
except Exception as e:
266+
self.rollback_sdn_changes_and_release_lock(lock)
267+
self.module.fail_json(
268+
msg=f'Failed to delete zone {zone_name} {e}. Rolling back all pending changes.'
245269
)
246270

247-
def zone_absent(self):
248-
pass
249271

250272

251273
def main():

0 commit comments

Comments
 (0)