diff --git a/plugins/doc_fragments/ipamodule_base_docs.py b/plugins/doc_fragments/ipamodule_base_docs.py index e60df97b47a2b15b0fd7653dae03f6ae8efdcb16..61e8e4b9746f0ef2318b898e56a7021503ec41b9 100644 --- a/plugins/doc_fragments/ipamodule_base_docs.py +++ b/plugins/doc_fragments/ipamodule_base_docs.py @@ -45,3 +45,13 @@ options: type: bool default: true """ + + DELETE_CONTINUE = r""" +options: + delete_continue: + description: | + Continuous mode. Don't stop on errors. Valid only if `state` is `absent`. + aliases: ["continue"] + type: bool + default: True +""" diff --git a/plugins/module_utils/ansible_freeipa_module.py b/plugins/module_utils/ansible_freeipa_module.py index aa40810a1c946ebeff7c52ca5bc303cc8449e872..3c25c7953c9bb72fbb54a9262c82297128326cf3 100644 --- a/plugins/module_utils/ansible_freeipa_module.py +++ b/plugins/module_utils/ansible_freeipa_module.py @@ -826,6 +826,12 @@ else: ipaapi_ldap_cache=dict(type="bool", default="True"), ) + ipa_module_options_spec = dict( + delete_continue=dict( + type="bool", default=True, aliases=["continue"] + ) + ) + def __init__(self, *args, **kwargs): # Extend argument_spec with ipa_module_base_spec if "argument_spec" in kwargs: @@ -833,6 +839,16 @@ else: _spec.update(self.ipa_module_base_spec) kwargs["argument_spec"] = _spec + if "ipa_module_options" in kwargs: + _update = { + k: self.ipa_module_options_spec[k] + for k in kwargs["ipa_module_options"] + } + _spec = kwargs.get("argument_spec", {}) + _spec.update(_update) + kwargs["argument_spec"] = _spec + del kwargs["ipa_module_options"] + # pylint: disable=super-with-arguments super(IPAAnsibleModule, self).__init__(*args, **kwargs)