From 5a67aa7714862955b493e4ea7fc37a5212e3027d Mon Sep 17 00:00:00 2001 From: Rafael Guterres Jeffman <rjeffman@redhat.com> Date: Thu, 30 Sep 2021 21:19:49 -0300 Subject: [PATCH] sudorule: Use IPAAnsibleModule method to validate arguments. Use the IPAAnsibleModule.params_fail_if_used method to validate arguments provided by user. --- plugins/modules/ipasudorule.py | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/plugins/modules/ipasudorule.py b/plugins/modules/ipasudorule.py index a149c75c..8d72d893 100644 --- a/plugins/modules/ipasudorule.py +++ b/plugins/modules/ipasudorule.py @@ -311,6 +311,7 @@ def main(): state = ansible_module.params_get("state") # Check parameters + invalid = [] if state == "present": if len(names) != 1: @@ -321,11 +322,6 @@ def main(): "cmdcategory", "runasusercategory", "runasgroupcategory", "order", "nomembers"] - for arg in invalid: - if arg in vars() and vars()[arg] is not None: - ansible_module.fail_json( - msg="Argument '%s' can not be used with action " - "'%s'" % (arg, action)) else: if hostcategory == 'all' and any([host, hostgroup]): ansible_module.fail_json( @@ -349,11 +345,6 @@ def main(): "runasuser", "runasgroup", "allow_sudocmd", "allow_sudocmdgroup", "deny_sudocmd", "deny_sudocmdgroup", "sudooption"]) - for arg in invalid: - if vars()[arg] is not None: - ansible_module.fail_json( - msg="Argument '%s' can not be used with state '%s'" % - (arg, state)) elif state in ["enabled", "disabled"]: if len(names) < 1: @@ -368,14 +359,11 @@ def main(): "user", "group", "allow_sudocmd", "allow_sudocmdgroup", "deny_sudocmd", "deny_sudocmdgroup", "runasuser", "runasgroup", "order", "sudooption"] - for arg in invalid: - if vars()[arg] is not None: - ansible_module.fail_json( - msg="Argument '%s' can not be used with state '%s'" % - (arg, state)) else: ansible_module.fail_json(msg="Invalid state '%s'" % state) + ansible_module.params_fail_used_invalid(invalid, state, action) + # Init changed = False -- GitLab