Replace the old ansible.module_utils best practices with the new ones.

This commit is contained in:
Toshio Kuratomi 2016-12-19 11:11:55 -08:00
parent cfa8ce767b
commit c46ef98496

View file

@ -698,7 +698,8 @@ The following checklist items are important guidelines for people who want to c
* The return structure should be consistent, even if NA/None are used for keys normally returned under other options. * The return structure should be consistent, even if NA/None are used for keys normally returned under other options.
* Are module actions idempotent? If not document in the descriptions or the notes. * Are module actions idempotent? If not document in the descriptions or the notes.
* Import module snippets `from ansible.module_utils.basic import *` at the bottom, conserves line numbers for debugging. * Import ``ansible.module_utils`` code in the same place as you import other libraries. In older code, this was done at the bottom of the file but that's no longer needed.
* Do not use wildcards for importing other python modules (ex: ``from ansible.module_utils.basic import *``). This used to be required for code imported from ``ansible.module_utils`` but, from Ansible-2.1 onwards, it's just an outdated and bad practice.
* The module must have a `main` function that wraps the normal execution. * The module must have a `main` function that wraps the normal execution.
* Call your :func:`main` from a conditional so that it would be possible to * Call your :func:`main` from a conditional so that it would be possible to
import them into unittests in the future example:: import them into unittests in the future example::