10 Commits

Author SHA1 Message Date
Rafael Guterres Jeffman
2a169ceb46 templates: Add IPA API connection variables to README.
All modules should use the same description for IPA API connection
variables. This change add description for ipaapi_context and
ipaapi_ldap_cache variable to the module README templates.
2021-10-04 14:11:04 -03:00
Rafael Guterres Jeffman
aa8648425b templates: Use IPAAnsibleModule params_fail_used_invalid.
Modify new module templates to use IPAAnsibleModule method
`params_fail_used_invalid` to check for invalid parameter use for
a given state/action.
2021-10-04 14:06:43 -03:00
Rafael Guterres Jeffman
1c679c5a9a templates: Allow execution of plugins in an IPA client host.
Modify templates to create the basic tests for `ipaapi_context: client`.
2021-09-27 13:51:53 -03:00
Thomas Woerner
e897ecb27a utils/templates/ipamodule+member.py.in: Use execute_ipa_commands
execute_ipa_commands replces the check mode exit, the loop over the
generated commands and also in the member failure handling for modules
with member support.
2021-09-08 14:34:07 +02:00
Thomas Woerner
5c38d43ce3 utils/templates/ipamodul.py.ine: Use execute_ipa_commands
execute_ipa_commands replces the check mode exit, the loop over the
generated commands and also in the member failure handling for modules
with member support.
2021-09-08 14:34:07 +02:00
Rafael Guterres Jeffman
8b1a4fee08 Merge pull request #626 from t-woerner/new_IPAAnsibleModule
New IPAAnsibleModule class
2021-09-02 18:19:53 -03:00
Thomas Woerner
b4d39dfd8b ipamodule[+member].py.in: Use IPAAnsibleModule class, reduce calls
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.
2021-09-01 18:55:20 +02:00
Rafael Guterres Jeffman
e38c34974d templates: Use become: no in playbooks by default.
ansible-freeipa modules should work without superuser privileges in
most cases, and to reflect this, the module tests should avoid using
`become: yes`.

This PR change the test playbook templates to use `become: no` by
default, so only modules that require superuser privileges will need
to change this variable.
2021-09-01 12:45:25 -03:00
Eric Nothen
7bbb401b9b Enabled Ansible check_mode
Added code to the ipa* plugins to support Ansible's check_mode, by
means of a clean exit before the execution of the actual list of
commands that would otherwise create/update/delete IPA servers
and/or its resources.
2021-01-06 12:18:35 +01:00
Thomas Woerner
5fa81a437b New utils script to generate new modules using templates
The script will create the module in plugins/modules, the README, test and
playbook files.

Usage: new_module [options] <module name> <author name>
       <author email address>

Create new ansible-freeipa module using templates.

Options:
  -m          Create module with member support
  -f          Force creation
  -h          Print this help

Example:

    utils/new_module -m permission "My Name" myname@some.email
2020-08-21 18:09:32 +02:00