From af8cce53ffe63782ae8349a5e8b6b45eacac461a Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Tue, 3 Jan 2017 10:36:11 -0800 Subject: [PATCH] Add requirement for module metadata --- docsite/rst/dev_guide/developing_modules.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docsite/rst/dev_guide/developing_modules.rst b/docsite/rst/dev_guide/developing_modules.rst index 83c92bacaa5..78f9ad5f881 100644 --- a/docsite/rst/dev_guide/developing_modules.rst +++ b/docsite/rst/dev_guide/developing_modules.rst @@ -638,6 +638,14 @@ The following checklist items are important guidelines for people who want to c * The shebang must always be ``#!/usr/bin/python``. This allows ``ansible_python_interpreter`` to work * Modules must be written to support Python 2.4. If this is not possible, required minimum python version and rationale should be explained in the requirements section in ``DOCUMENTATION``. This minimum requirement will be advanced to Python-2.6 in Ansible-2.4. * Modules must be written to use proper Python-3 syntax. At some point in the future we'll come up with rules for running on Python-3 but we're not there yet. See :doc:`developing_modules_python3` for help on how to do this. +* Modules must have a metadata section. For the vast majority of new modules, + the metadata should look exactly like this:: + + ANSIBLE_METADATA = {'status': ['preview'], + 'supported_by': 'community', + 'version': '1.0'} + + The complete module metadata specification is here: https://github.com/ansible/proposals/issues/30 * Documentation: Make sure it exists * Module documentation should briefly and accurately define what each module and option does, and how it works with others in the underlying system. Documentation should be written for broad audience--readable both by experts and non-experts. This documentation is not meant to teach a total novice, but it also should not be reserved for the Illuminati (hard balance). * If an argument takes both C(True)/C(False) and C(Yes)/C(No), the documentation should use C(True) and C(False).