.. _@{ module }@:

{% if short_description %}
{% set title = module + ' - ' + short_description|convert_symbols_to_format %}
{% else %}
{% set title = module %}
{% endif %}
{% set title_len = title|length %}

@{ title }@
@{ '+' * title_len }@

.. contents::
   :local:
   :depth: 1

{# ------------------------------------------
 #
 # Please note: this looks like a core dump
 # but it isn't one.
 #
 --------------------------------------------#}

Synopsis
--------

{% if version_added is defined -%}
.. versionadded:: @{ version_added }@
{% endif %}

{% for desc in description -%}
@{ desc | convert_symbols_to_format }@
{% endfor %}

{% if options -%}
Options
-------

.. raw:: html

    <table border=1 cellpadding=4>
    <tr>
    <th class="head">parameter</th>
    <th class="head">required</th>
    <th class="head">default</th>
    <th class="head">choices</th>
    <th class="head">comments</th>
    </tr>
    {% for k in option_keys %}
    {% set v = options[k] %}
    <tr>
    <td>@{ k }@</td>
    <td>{% if v.get('required', False) %}yes{% else %}no{% endif %}</td>
    <td>{% if v['default'] %}@{ v['default'] }@{% endif %}</td>
    {% if v.get('type', 'not_bool') == 'bool' %}
    <td><ul><li>yes</li><li>no</li></ul></td>
    {% else %}
    <td><ul>{% for choice in v.get('choices',[]) -%}<li>@{ choice }@</li>{% endfor -%}</ul></td>
    {% endif %}
    <td>{% for desc in v.description -%}@{ desc | html_ify }@{% endfor -%}{% if v['version_added'] %} (added in Ansible @{v['version_added']}@){% endif %}</td>
    </tr>
    {% endfor %}
    </table>
{% endif %}

{% if requirements %}
{% for req in requirements %}

.. note:: Requires @{ req | convert_symbols_to_format }@

{% endfor %}
{% endif %}

{% if examples or plainexamples %}
Examples
--------

.. raw:: html

{% for example in examples %}
    {% if example['description'] %}<p>@{ example['description'] | html_ify }@</p>{% endif %}
    <p>
    <pre>
@{ example['code'] | escape | indent(4, True) }@
    </pre>
    </p>
{% endfor %}
    <br/>

{% if plainexamples %}

::

@{ plainexamples | indent(4, True) }@
{% endif %}
{% endif %}

{% if notes %}
{% for note in notes %}
.. note:: @{ note | convert_symbols_to_format }@
{% endfor %}
{% endif %}


{% if core %}

This is a Core Module
---------------------

This source of this module is hosted on GitHub in the `ansible-modules-core <http://github.com/ansible/ansible-modules-core>`_ repo.
  
If you believe you have found a bug in this module, and are already running the latest stable or development version of Ansible, first look in the `issue tracker at github.com/ansible/ansible-modules-core <http://github.com/ansible/ansible-modules-core>`_ to see if a bug has already been filed.  If not, we would be greatful if you would file one.

Should you have a question rather than a bug report, inquries are welcome on the `ansible-project google group <https://groups.google.com/forum/#!forum/ansible-project>`_ or on Ansible's "#ansible" channel, located on irc.freenode.net.   Development oriented topics should instead use the similar `ansible-devel google group <https://groups.google.com/forum/#!forum/ansible-project>`_.

Documentation updates for this module can also be edited directly by submitting a pull request to the module source code, just look for the "DOCUMENTATION" block in the source tree.

This is a "core" ansible module, which means it will recieve slightly higher priority for all requests than those in the "extras" repos.

{% else %}

This is an Extras Module
------------------------

This source of this module is hosted on GitHub in the `ansible-modules-extras <http://github.com/ansible/ansible-modules-extras>`_ repo.
  
If you believe you have found a bug in this module, and are already running the latest stable or development version of Ansible, first look in the `issue tracker at github.com/ansible/ansible-modules-extras <http://github.com/ansible/ansible-modules-extras>`_ to see if a bug has already been filed.  If not, we would be greatful if you would file one.

Should you have a question rather than a bug report, inquries are welcome on the `ansible-project google group <https://groups.google.com/forum/#!forum/ansible-project>` or on Ansible's "#ansible" channel, located on irc.freenode.net.   Development oriented topics should instead use the similar `ansible-devel google group <https://groups.google.com/forum/#!forum/ansible-project>`_.

Documentation updates for this module can also be edited directly by submitting a pull request to the module source code, just look for the "DOCUMENTATION" block in the source tree.

Note that this module is designated a "extras" module.  Non-core modules are still fully usuable, but may recieve slightly lower response rates for issues and pull requests.
Popular "extras" modules may be promoted to core modules over time.

{% endif %}

For help in developing on modules, should you be so inclined, please read :doc:`community`, :doc:`developing_test_pr` and :doc:`developing_modules`.