- Sep 03, 2021
-
-
Thomas Woerner authored
ipadnszone: add check mode support
-
Thomas Woerner authored
dnszone: remove variable `serial`.
-
Rafael Guterres Jeffman authored
New IPAAnsibleModule class
-
- Sep 02, 2021
-
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
Moved ipamodule_base_spec into IPAAnsibleModule. This simplifies to add addtitional base vars to derived classes without the need to dusplicae the code to extend argument_spec. Removed execute_api_command. This is not used anymore. Removed get_ipamodule_base_vars. This is not used anymore. Removed self.ipaadmin_* and self.ccache_* from IPAAnsibleModule.__init__ These are not used and therefore can be removed.
-
Thomas Woerner authored
execute_ipa_commands executes IPA API commands from the given command list. With the handle_result and handle_result_user_args it is possible to have a handling of the result return by the ipa commands for example to return passwords. Parameters commands: list of string tuple The list of commands in the form (name, command and args) For commands that do not require a 'name', None needs be used. handle_result: function The user function to handle results of the single commands handle_result_user_args: dict (user args mapping) The user args to pass to handle_result function Example (ipauser module) def handle_result(result, command, name, args, exit_args): if "random" in args and command in ["user_add", "user_mod"] \ and "randompassword" in result["result"]: exit_args.setdefault(name, {})["randompassword"] = \ result["result"]["randompassword"] exit_args = {} changed = module.execute_ipa_commands(commands, handle_result, exit_args=exit_args) if len(names) == 1: ansible_module.exit_json(changed=changed, user=exit_args[names[0]]) else: ansible_module.exit_json(changed=changed, user=exit_args)
-
Rafael Guterres Jeffman authored
Use IPAAnsibleModule methods and ipamodule_base_docs ducument fragment.
-
Rafael Guterres Jeffman authored
Use IPAAnsibleModule methods and ipamodule_base_docs ducument fragment.
-
Rafael Guterres Jeffman authored
By making IPAAnsibleModule the base class of FreeIPABaseModule, instead of AnsibleModule, some methods on FreeIPABaseModule can be removed and suport for commom parameters in modules using the older class can use the same commom parameters (ipaadmin_principal and ipaadmin_password) as the other parameters. This will also allow easier deprecation of FreeIPABaseModule, which is hard to maintain. To be able to use IPAAnsibleModule as the base class, it was moved within the file, to position before FreeIPABaseModule declaration. This patch also modifies IPAAnsibleModule by: * removing usage of `self` in methods not requiring it, turning the methods into @statimethod; * adding comments to all the methods in IPAAnsibleModule, which makes it easier to understand what the individual methods do, and what their parameters represent.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
iparole: Add 'new_name' as an alias to 'rename'.
-
Thomas Woerner authored
templates: Use `become: no` in tests by default.
-
- Sep 01, 2021
-
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
ipaadmin_variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module.
-
Thomas Woerner authored
Use IPAAnsibleModule and ipamodule_base_docs in the templates of utils/new_module. ipaadmin_password lines in the examples have been added, ipaadmin_ variables are handled by IPAAnsibleModule, ansible_module.params_get is used to get the parameters and ansible_module.ipa_connect is used to simplify the module. ipamodule+member.py.in is additionally using gen_add_list and gen_intersection_list to reduce the command calls to the changes only.
-
Thomas Woerner authored
This class is an extended version of the Ansible Module that provides IPA specific methods to simplify module generation. Simple example: from ansible.module_utils.ansible_freeipa_module import \ IPAAnsibleModule def main(): ansible_module = IPAAnsibleModule( argument_spec=dict( name=dict(type="str", aliases=["cn"], default=None), state=dict(type="str", default="present", choices=["present", "absent"]), ), ) # Get parameters name = ansible_module.params_get("name") state = ansible_module.params_get("state") # Connect to IPA API with ansible_module.ipa_connect(): # Execute command if state == "present": ansible_module.ipa_command(["command_add", name, {}]) else: ansible_module.ipa_command(["command_del", name, {}]) # Done ansible_module.exit_json(changed=True) if __name__ == "__main__": main()
-