Files
ansible-freeipa/plugins/modules
Thomas Woerner ff084fbd96 ipaidp: Fix validation and reset of parameters
The uri parameters auth_uri, dev_auth_uri, token_uri, userinfo_uri and
keys_uri have not been validated before. Also the base_url was not
normalized. The auth_uri, dev_auth_uri, token_uri and userinfo_uri need
to be set for new entries, but might be empty or empty string for reset
or updates.

The ipaidpclientsecret needs to be decoded from binary string in
find_idp result to not trigger no change ipd_mod calls.

The code for validate_uri and base_url normalization has been copied
from the ipaserver idp plugin.

ansible_freeipa_module:
urlparse from urllib.parse with a fallback to six.moves.urllib.parse is
imported and also exported. urlparse is needed for validate_uri in ipaidp
module.

Resolves: RHEL-17954, RHEL-17955, RHEL-17957 and RHEL-17958
2023-12-05 16:30:50 +01:00
..
2023-06-07 11:35:25 -03:00
2023-07-19 11:38:14 +02:00

Writing a new Ansible FreeIPA module

A ansible-freeipa module should have:

  • Code:

    • A module file placed in plugins/modules/<ipa_module_name>.py
  • Documentation:

    • README-<module_name>.md file in the root directory and linked from the main README.md
    • Example playbooks in playbooks/<module_name>/ directory
  • Tests:

    • Test cases (also playbooks) defined in tests/<module_name>/test_<something>.yml. It's ok to have multiple files in this directory.

Use the script utils/new_module to create the stub files for a new module.