From 4cce4571c24322f9e4b37d8f26eb357d3438a054 Mon Sep 17 00:00:00 2001 From: shaerpour Date: Sun, 1 Feb 2026 16:06:42 +0330 Subject: [PATCH] chore: use `param_is_defined` func for user input validation --- plugins/modules/primary_ip.py | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/plugins/modules/primary_ip.py b/plugins/modules/primary_ip.py index e1e4d88..7052bdf 100644 --- a/plugins/modules/primary_ip.py +++ b/plugins/modules/primary_ip.py @@ -273,23 +273,24 @@ class AnsiblePrimaryIP(AnsibleHCloud): need_reload = True self._mark_as_changed() - if (value := self.module.params.get("server")) is not None: - server: BoundServer = self._client_get_by_name_or_id("servers", value) - server_id = server.id - if self.primary_ip.assignee_id and server_id == self.primary_ip.assignee_id: - return - if not self.module.check_mode: - action = self.primary_ip.assign(server_id, "server") - action.wait_until_finished() - self._mark_as_changed() - need_reload = True - else: - if self.primary_ip.assignee_id: + if self.module.param_is_defined("server"): + if (value := self.module.params.get("server")) is not None: + server: BoundServer = self._client_get_by_name_or_id("servers", value) + server_id = server.id + if self.primary_ip.assignee_id and server_id == self.primary_ip.assignee_id: + return if not self.module.check_mode: - action = self.primary_ip.unassign() + action = self.primary_ip.assign(server_id, "server") action.wait_until_finished() - self._mark_as_changed() - need_reload = True + self._mark_as_changed() + need_reload = True + else: + if self.primary_ip.assignee_id: + if not self.module.check_mode: + action = self.primary_ip.unassign() + action.wait_until_finished() + self._mark_as_changed() + need_reload = True params = {}