Skip to content
  • Thomas Woerner's avatar
    ansible_freeipa_module: New execute_ipa_commands in IPAAnsibleModule · 55341a03
    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)
    55341a03
Loading