2012-09-26 20:41:44 +02:00
.. _@{ module }@:
2013-12-26 00:06:55 +01:00
{% 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 }@
2015-07-17 16:00:02 +02:00
{% if version_added is defined -%}
.. versionadded:: @{ version_added }@
{% endif %}
2013-12-25 20:05:43 +01:00
.. contents::
:local:
2017-01-10 18:26:34 +01:00
:depth: 2
2012-09-26 20:41:44 +02:00
{# ------------------------------------------
#
# Please note: this looks like a core dump
# but it isn't one.
#
--------------------------------------------#}
2014-10-30 18:29:54 +01:00
{% if deprecated is defined -%}
DEPRECATED
----------
2017-01-05 23:38:08 +01:00
@{ deprecated | convert_symbols_to_format }@
2014-10-30 18:29:54 +01:00
{% endif %}
2013-12-25 20:05:43 +01:00
Synopsis
--------
2012-09-26 20:41:44 +02:00
{% for desc in description -%}
2016-11-01 20:59:47 +01:00
* @{ desc | convert_symbols_to_format }@
2012-09-26 20:41:44 +02:00
{% endfor %}
2015-07-17 16:00:02 +02:00
{% if aliases is defined -%}
Aliases: @{ ','.join(aliases) }@
{% endif %}
2015-06-04 04:19:26 +02:00
{% if requirements %}
2016-02-18 14:09:42 +01:00
Requirements (on host that executes module)
-------------------------------------------
2015-06-04 04:19:26 +02:00
{% for req in requirements %}
* @{ req | convert_symbols_to_format }@
{% endfor %}
{% endif %}
2012-09-30 13:20:24 +02:00
{% if options -%}
2013-12-25 20:05:43 +01:00
Options
-------
2012-09-28 03:06:31 +02:00
.. raw:: html
2013-12-25 20:06:15 +01:00
<table border=1 cellpadding=4>
2017-08-18 21:38:55 +02:00
2012-09-28 03:06:31 +02:00
<tr>
2012-09-28 09:59:43 +02:00
<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>
2012-09-28 03:06:31 +02:00
</tr>
2017-08-18 21:38:55 +02:00
{% for k in option_keys -%}
{% set v = options[k] -%}
{% if not v['suboptions'] %}
<tr>
<td>@{ k }@<br/><div style="font-size: small;">{% if v['version_added'] -%} (added in @{v['version_added']}@){% endif -%}</div></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' %}
2013-06-01 18:33:11 +02:00
<td><ul><li>yes</li><li>no</li></ul></td>
2017-08-18 21:38:55 +02:00
{% else %}
<td>{% if v['choices'] -%}<ul>{% for choice in v.get('choices',[]) -%}<li>@{ choice }@</li>{% endfor -%}</ul>{% endif -%}</td>
{% endif %}
<td>
{% if v.description is string %}
<div>@{ v.description | replace('\n', '\n ') | html_ify }@</div>
{% else %}
{% for desc in v.description %}
<div>@{ desc | replace('\n', '\n ') | html_ify }@</div>
{% endfor %}
{% endif %}
{% if 'aliases' in v and v.aliases %}
</br><div style="font-size: small;">aliases: @{ v.aliases|join(', ') }@</div>
{% endif %}
{% else %}
<tr>
<td rowspan="2">@{ k }@<br/><div style="font-size: small;">{% if v['version_added'] -%} (added in @{v['version_added']}@){% endif -%}</div></td>
<td>{% if v.get('required', False) -%}yes{% else -%}no{% endif -%}</td>
<td></td>
<td></td>
<td>
{% for desc in v.description %}
<div>@{ desc | replace('\n', '\n ') | html_ify }@</div>
{% endfor %}
{% if 'aliases' in v and v.aliases %}
</br><div style="font-size: small;">aliases: @{ v.aliases|join(', ') }@</div>
{% endif %}
2017-03-13 20:49:27 +01:00
</tr>
2017-08-18 21:38:55 +02:00
2017-03-13 20:49:27 +01:00
<tr>
<td colspan="5">
2017-08-18 21:38:55 +02:00
<table border=1 cellpadding=4>
<caption><b>Dictionary object @{ k }@</b></caption>
<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 k2 in v['suboptions'] %}
{% set v2 = v['suboptions'] [k2] %}
<tr>
<td>@{ k2 }@<br/><div style="font-size: small;">{% if v2['version_added'] -%} (added in @{v2['version_added']}@){% endif -%}</div></td>
<td>{% if v2.get('required', False) -%}yes{% else -%}no{% endif -%}</td>
<td>{% if v2['default'] -%}@{ v2['default'] }@{% endif -%}</td>
{% if v2.get('type', 'not_bool') == 'bool' %}
2017-03-13 20:49:27 +01:00
<td><ul><li>yes</li><li>no</li></ul></td>
2017-08-18 21:38:55 +02:00
{% else %}
<td>{% if v2['choices'] -%}<ul>{% for choice in v2.get('choices',[]) -%}<li>@{ choice }@</li>{% endfor -%}</ul>{% endif -%}</td>
{% endif %}
<td>
{% if v2.description is string %}
<div>@{ v2.description | replace('\n', '\n ') | html_ify }@</div>
{% else %}
{% for desc in v2.description %}
<div>@{ desc | replace('\n', '\n ') | html_ify }@</div>
{% endfor %}
{% endif %}
{% if 'aliases' in v and v2.aliases %}
</br><div style="font-size: small;">aliases: @{ v2.aliases|join(', ') }@</div>
{% endif %}
</td>
</tr>
{% endfor %}
</table>
2017-03-13 20:49:27 +01:00
</td>
</tr>
2017-08-18 21:38:55 +02:00
{% endif %}
</td>
</tr>
{% endfor %}
2012-09-28 03:06:31 +02:00
</table>
2015-07-17 16:00:02 +02:00
</br>
2015-06-04 04:19:26 +02:00
2012-09-26 20:41:44 +02:00
{% endif %}
2013-05-11 16:31:47 +02:00
2015-06-04 04:19:26 +02:00
{% if examples or plainexamples -%}
2013-12-25 20:05:43 +01:00
Examples
--------
2015-07-17 16:00:02 +02:00
::
2012-09-28 03:30:32 +02:00
{% for example in examples %}
2015-07-17 16:00:02 +02:00
{% if example['description'] %}@{ example['description'] | indent(4, True) }@{% endif %}
2012-12-11 17:33:26 +01:00
@{ example['code'] | escape | indent(4, True) }@
2012-09-28 03:30:32 +02:00
{% endfor %}
2015-07-17 16:00:02 +02:00
{% if plainexamples %}@{ plainexamples | indent(4, True) }@{% endif %}
2013-12-25 20:05:43 +01:00
{% endif %}
2013-05-11 16:31:47 +02:00
2015-03-13 16:43:02 +01:00
2015-06-04 04:19:26 +02:00
{% if returndocs -%}
2015-03-13 16:43:02 +01:00
Return Values
-------------
2015-03-20 21:54:22 +01:00
Common return values are documented here :doc:`common_return_values`, the following are the fields unique to this module:
2015-03-13 16:43:02 +01:00
.. raw:: html
2015-03-13 17:17:15 +01:00
2015-03-20 21:54:22 +01:00
<table border=1 cellpadding=4>
2017-08-18 21:38:55 +02:00
2015-03-20 21:54:22 +01:00
<tr>
<th class="head">name</th>
2015-05-15 07:05:38 +02:00
<th class="head">description</th>
2015-03-20 21:54:22 +01:00
<th class="head">returned</th>
<th class="head">type</th>
<th class="head">sample</th>
</tr>
2017-08-18 21:38:55 +02:00
{% for entry in returndocs %}
2015-03-13 16:43:02 +01:00
2015-03-20 21:54:22 +01:00
<tr>
2017-08-18 21:38:55 +02:00
<td>@{ entry }@</td>
<td>
{% if returndocs[entry].description is string %}
<div>@{ returndocs[entry].description | replace('\n', '\n ') | html_ify }@</div>
{% else %}
{% for desc in returndocs[entry].description %}
<div>@{ desc | replace('\n', '\n ') | html_ify }@</div>
{% endfor %}
{% endif %}
</td>
<td align=center>@{ returndocs[entry].returned }@</td>
<td align=center>@{ returndocs[entry].type }@</td>
<td align=center>@{ returndocs[entry].sample | replace('\n', '\n ') | html_ify }@</td>
2015-03-20 21:54:22 +01:00
</tr>
2017-08-18 21:38:55 +02:00
{% if returndocs[entry].type == 'complex' %}
<tr>
<td>contains:</td>
2015-03-20 21:54:22 +01:00
<td colspan=4>
<table border=1 cellpadding=2>
2017-08-18 21:38:55 +02:00
2015-03-20 21:54:22 +01:00
<tr>
<th class="head">name</th>
2015-05-15 07:05:38 +02:00
<th class="head">description</th>
2015-03-20 21:54:22 +01:00
<th class="head">returned</th>
<th class="head">type</th>
<th class="head">sample</th>
</tr>
2017-08-18 21:38:55 +02:00
{% for sub in returndocs[entry].contains %}
2015-03-20 21:54:22 +01:00
<tr>
2017-08-18 21:38:55 +02:00
<td>@{ sub }@</td>
<td>
{% if returndocs[entry].contains[sub].description is string %}
<div>@{ returndocs[entry].contains[sub].description | replace('\n', '\n ') | html_ify }@</div>
{% else %}
{% for desc in returndocs[entry].contains[sub].description %}
<div>@{ desc | replace('\n', '\n ') | html_ify }@</div>
{% endfor %}
{% endif %}
</td>
<td align=center>@{ returndocs[entry].contains[sub].returned }@</td>
<td align=center>@{ returndocs[entry].contains[sub].type }@</td>
<td align=center>@{ returndocs[entry].contains[sub].sample }@</td>
2015-03-20 21:54:22 +01:00
</tr>
2017-08-18 21:38:55 +02:00
{% endfor %}
2015-03-20 21:54:22 +01:00
</table>
2017-08-18 21:38:55 +02:00
</td>
</tr>
{% endif %}
{% endfor %}
2015-03-20 21:54:22 +01:00
</table>
2017-08-18 21:38:55 +02:00
</br>
</br>
2015-03-13 16:43:02 +01:00
{% endif %}
2015-06-04 04:19:26 +02:00
{% if notes -%}
Notes
-----
2017-02-24 21:15:01 +01:00
.. note::
2013-12-25 20:06:15 +01:00
{% for note in notes %}
2017-02-24 21:15:01 +01:00
- @{ note | convert_symbols_to_format }@
2013-12-25 20:06:15 +01:00
{% endfor %}
2012-09-30 13:20:24 +02:00
{% endif %}
2012-09-28 03:30:32 +02:00
2014-10-31 19:18:18 +01:00
{% if not deprecated %}
2017-08-05 20:28:21 +02:00
{% set support = { 'core': 'The Ansible Core Team', 'network': 'The Ansible Network Team', 'certified': 'an Ansible Partner', 'community': 'The Ansible Community', 'curated': 'A Third Party'} %}
2017-01-19 21:01:55 +01:00
{% set module_states = { 'preview': 'it is not guaranteed to have a backwards compatible interface', 'stableinterface': 'the maintainers for this module guarantee that no backward incompatible interface changes will be made'} %}
2016-12-07 23:50:17 +01:00
2016-12-22 18:26:28 +01:00
{% if metadata %}
{% if metadata.status %}
2014-09-27 00:23:57 +02:00
2016-12-22 18:26:28 +01:00
Status
~~~~~~
2014-09-27 00:23:57 +02:00
2016-12-22 18:26:28 +01:00
{% for cur_state in metadata.status %}
This module is flagged as **@{cur_state}@** which means that @{module_states[cur_state]}@.
{% endfor %}
{% endif %}
2014-09-27 00:23:57 +02:00
2016-12-22 18:26:28 +01:00
{% if metadata.supported_by %}
2014-09-27 00:23:57 +02:00
2017-08-05 20:28:21 +02:00
Support Level
~~~~~~~~~~~~~
2014-09-27 00:23:57 +02:00
2017-08-05 20:28:21 +02:00
This module is maintained by @{ support[metadata.supported_by] }@
2014-09-26 23:52:50 +02:00
2017-01-10 21:58:22 +01:00
For more information on what this means please read :doc:`modules_support`
2014-09-26 23:52:50 +02:00
2016-12-22 18:26:28 +01:00
{% endif %}
{% endif %}
{% endif %}
2014-09-26 23:52:50 +02:00
2017-04-28 10:08:26 +02:00
For help in developing on modules, should you be so inclined, please read :doc:`community`, :doc:`dev_guide/testing` and :doc:`dev_guide/developing_modules`.
2014-09-26 23:52:50 +02:00