From 34c3f9741d7f25b2d14882c0682529edb77f9c94 Mon Sep 17 00:00:00 2001 From: George Rawlinson Date: Mon, 17 Aug 2020 06:22:33 +1200 Subject: [PATCH] improve logic around user input --- plugins/modules/packaging/os/pacman_key.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/plugins/modules/packaging/os/pacman_key.py b/plugins/modules/packaging/os/pacman_key.py index d7ecaa8f4a..d9faee7814 100644 --- a/plugins/modules/packaging/os/pacman_key.py +++ b/plugins/modules/packaging/os/pacman_key.py @@ -143,6 +143,15 @@ class PacmanKey(object): fingerprint = self.sanitise_fingerprint(fingerprint) key_present = self.key_in_keyring(keyid, keyring) + if ( + state == "present" + and data is None + and file is None + and url is None + and keyserver is None + ): + module.fail_json(msg="expected one of: data, file, url, keyserver. got none") + if module.check_mode: if state == "present": if (key_present and force_update) or not key_present: @@ -172,8 +181,6 @@ class PacmanKey(object): elif keyserver: self.recv_key(keyid, keyserver, keyring) module.exit_json(changed=True) - else: - module.fail_json(msg="expected one of: data, file, url, keyserver. got none") elif state == "absent": if key_present: self.remove_key(keyid)