From ca0aed54b0ab9431a8dc2653ccada66f967e7a3e Mon Sep 17 00:00:00 2001 From: Rafael Guterres Jeffman <rjeffman@redhat.com> Date: Thu, 11 Nov 2021 16:58:48 -0300 Subject: [PATCH] ansible_module_utils: Add method to get parameters as lowercase. Many module member attributes must be handled in a case insensitive manner. To ease handling these cases, a function and a method to get the module parameters converted to lowercase is provided. --- .../module_utils/ansible_freeipa_module.py | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/plugins/module_utils/ansible_freeipa_module.py b/plugins/module_utils/ansible_freeipa_module.py index c6307aea..14977533 100644 --- a/plugins/module_utils/ansible_freeipa_module.py +++ b/plugins/module_utils/ansible_freeipa_module.py @@ -397,6 +397,14 @@ else: def module_params_get(module, name): return _afm_convert(module.params.get(name)) + def module_params_get_lowercase(module, name): + value = _afm_convert(module.params.get(name)) + if isinstance(value, list): + value = [v.lower() for v in value] + if isinstance(value, (str, unicode)): + value = value.lower() + return value + def api_get_domain(): return api.env.domain @@ -699,6 +707,18 @@ else: """ return module_params_get(self, name) + def params_get_lowercase(self, name): + """ + Retrieve value set for module parameter as lowercase, if not None. + + Parameters + ---------- + name: string + The name of the parameter to retrieve. + + """ + return module_params_get_lowercase(self, name) + def params_fail_used_invalid(self, invalid_params, state, action=None): """ Fail module execution if one of the invalid parameters is not None. -- GitLab