Files
ansible-freeipa/plugins/modules
Thomas Woerner 19758959e4 ipadnszone: Fix documentation sections and agument spec
ansible-test with ansible-2.14 is adding a lot of new tests to ensure
that the documentation section and the agument spec is complete. Needed
changes:

DOCUMENTATION section

- `type: str` needs to be set for string parameters
- `type: list` needs to be set for list parameters
- `elements: str` needs to be given for list of string parameters
- `suboptions` instead of `options` needs to be used for dict parameters
- `aliases` tag needs to match `argument_spec`
- `type` tag needs to match `argument_spec`
- `required` tags need to be fixed according to the `argument_spec`
- `authors` needs to be given with the github user also: `Name (@user)`

RETURN section

- `type: dict` needs to be given for dicts
- `contains` needs to be used instead of `options` for dicts
- `type: str` needs to be used for string parameters

argument_spec

- `elements="str"` needs to be added to all list of string parameters
- `elements="dict"` needs to be added to all list of dict parameters
- `type=str` and `type=int` need to be replaced by `type="str"` and
  `type="int"`

The `copyright` date is extended with `-2022`.
2022-09-30 14:52:37 +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.