Skip to content
Snippets Groups Projects
Unverified Commit 1a48a0fb authored by Rafael Guterres Jeffman's avatar Rafael Guterres Jeffman Committed by GitHub
Browse files

Merge pull request #1122 from t-woerner/fix_ipa_command_invalid_param_choices_for_IPA_4_6

ansible_freeipa_module: Fix ipa_command_invalid_param_choices
parents 88d4a36e d58b492f
No related branches found
No related tags found
No related merge requests found
......@@ -1192,8 +1192,21 @@ class IPAAnsibleModule(AnsibleModule):
if not hasattr(api.Command[command].params[name], "cli_metavar"):
self.fail_json(msg="The parameter '%s' of the command '%s' does "
"not have choices." % (name, command))
_choices = ast.literal_eval(
api.Command[command].params[name].cli_metavar)
# For IPA 4.6 (RHEL-7):
# - krbprincipalauthind in host_add does not have choices defined
# - krbprincipalauthind in service_add does not have choices defined
#
# api.Command[command].params[name].cli_metavar returns "STR" and
# ast.literal_eval failes with a ValueError "malformed string".
#
# There is no way to verify that the given values are valid or not in
# this case. The check is done later on while applying the change
# with host_add, host_mod, service_add and service_mod.
try:
_choices = ast.literal_eval(
api.Command[command].params[name].cli_metavar)
except ValueError:
return None
return (set(value or []) - set([""])) - set(_choices)
@staticmethod
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment