.. _@{ 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 }@ {% if version_added is defined and version_added != '' -%} .. versionadded:: @{ version_added | default('') }@ {% endif %} .. contents:: :local: :depth: 2 {# ------------------------------------------ # # Please note: this looks like a core dump # but it isn't one. # --------------------------------------------#} {% if deprecated is defined -%} DEPRECATED ---------- {# use unknown here? skip the fields? #} :In: version: @{ deprecated['version'] | default('') | string | convert_symbols_to_format }@ :Why: @{ deprecated['why'] | default('') | convert_symbols_to_format }@ :Alternative: @{ deprecated['alternative'] | default('')| convert_symbols_to_format }@ {% endif %} Synopsis -------- {% if description %} {% if description is string -%} * @{ description | convert_symbols_to_format }@ {% else %} {% for desc in description -%} * @{ desc | convert_symbols_to_format }@ {% endfor %} {% endif %} {% endif %} {% if aliases is defined -%} Aliases: @{ ','.join(aliases) }@ {% endif %} {% if requirements %} {% set req = 'Requirements' %} {% if plugin_type == 'module' %} {% set req = req + ' (on host that executes module)' %} {% endif %} {% set req_len = req|length %} @{ req }@ @{ '-' * req_len }@ {% for req in requirements %} * @{ req | convert_symbols_to_format }@ {% endfor %} {% endif %} {% if options -%} Options ------- .. raw:: html {% if plugin_type != 'module' %} {% endif %} {% for k in option_keys -%} {% set v = options[k] -%} {% if not v['suboptions'] %} {% if v.get('type', 'not_bool') == 'bool' %} {% else %} {% endif %} {% if plugin_type != 'module' %} {% endif %} {% else %} {% if plugin_type != 'module' %} {% endif %} {% endif %} {% endfor %}
parameter required default choicesconfigurationcomments
@{ k }@
{% if v['version_added'] -%} (added in @{v['version_added']}@){% endif -%}
{% if v.get('required', False) -%}yes{% else %}no{% endif -%} {% if v['default'] -%}@{ v['default'] }@{% endif -%}
  • yes
  • no
{% if v['choices'] -%}
    {% for choice in v.get('choices',[]) -%}
  • @{ choice }@
  • {% endfor -%}
{% endif -%}
{% if 'ini' in v %}
ini entries: {% for ini in v.get('ini') %}

[@{ ini.section }@ ]
@{ ini.key}@ = @{ v['default']|default('VALUE') }@

{% endfor %}
{% endif %} {% if 'env' in v %} {% for env in v.get('env') %}
env:@{ env.name }@
{% endfor %} {% endif %} {% if 'vars' in v %} {% for myvar in v.get('vars') %}
var: @{ myvar.name }@
{% endfor %} {% endif %}
{% if v.description is string %}
@{ v.description | replace('\n', '\n ') | html_ify }@
{% else %} {% for desc in v.description %}

@{ desc | replace('\n', '\n ') | html_ify }@

{% endfor %} {% endif %} {% if 'aliases' in v and v.aliases %}
aliases: @{ v.aliases|join(', ') }@
{% endif %}
@{ k }@
{% if v['version_added'] -%} (added in @{v['version_added']}@){% endif -%}
{% if v.get('required', False) -%}yes{% else -%}no{% endif -%} {% if v.description is string %}
@{ v.description | replace('\n', '\n ') | html_ify }@
{% else %} {% for desc in v.description %}
@{ desc | replace('\n', '\n ') | html_ify }@
{% endfor %} {% endif %} {% if 'aliases' in v and v.aliases %}
aliases: @{ v.aliases|join(', ') }@
{% endif %}
{% for k2 in v['suboptions'] %} {% set v2 = v['suboptions'] [k2] %} {% if v2.get('type', 'not_bool') == 'bool' %} {% else %} {% endif %} {% endfor %}
Dictionary object @{ k }@
parameter required default choices comments
@{ k2 }@
{% if v2['version_added'] -%} (added in @{v2['version_added']}@){% endif -%}
{% if v2.get('required', False) -%}yes{% else -%}no{% endif -%} {% if v2['default'] -%}@{ v2['default'] }@{% endif -%}
  • yes
  • no
{% if v2['choices'] -%}
    {% for choice in v2.get('choices',[]) -%}
  • @{ choice }@
  • {% endfor -%}
{% endif -%}
{% if v2.description is string %}
@{ v2.description | replace('\n', '\n ') | html_ify }@
{% else %} {% for desc in v2.description %}
@{ desc | replace('\n', '\n ') | html_ify }@
{% endfor %} {% endif %} {% if 'aliases' in v and v2.aliases %}
aliases: @{ v2.aliases|join(', ') }@
{% endif %}

{% endif %} {% if examples or plainexamples -%} Examples -------- .. code-block:: yaml {% for example in examples %} {% if example['description'] %}@{ example['description'] | indent(4, True) }@{% endif %} @{ example['code'] | escape | indent(4, True) }@ {% endfor %} {% if plainexamples %}@{ plainexamples | indent(4, True) }@{% endif %} {% endif %} {% if returndocs -%} Return Values ------------- Common return values are documented :ref:`here `, the following are the fields unique to this {{plugin_type}}: .. raw:: html {% for entry in returndocs %} {% if returndocs[entry].type == 'complex' %} {% endif %} {% endfor %}
name description returned type sample
@{ entry }@ {% if returndocs[entry].description is string %}
@{ returndocs[entry].description | replace('\n', '\n ') | html_ify }@
{% else %} {% for desc in returndocs[entry].description %}
@{ desc | replace('\n', '\n ') | html_ify }@
{% endfor %} {% endif %}
@{ returndocs[entry].returned }@ @{ returndocs[entry].type }@ @{ returndocs[entry].sample | replace('\n', '\n ') | html_ify }@
contains: {% for sub in returndocs[entry].contains %} {% endfor %}
name description returned type sample
@{ sub }@ {% if returndocs[entry].contains[sub].description is string %}
@{ returndocs[entry].contains[sub].description | replace('\n', '\n ') | html_ify }@
{% else %} {% for desc in returndocs[entry].contains[sub].description %}
@{ desc | replace('\n', '\n ') | html_ify }@
{% endfor %} {% endif %}
@{ returndocs[entry].contains[sub].returned }@ @{ returndocs[entry].contains[sub].type }@ @{ returndocs[entry].contains[sub].sample }@


{% endif %} {% if notes -%} Notes ----- .. note:: {% for note in notes %} - @{ note | convert_symbols_to_format }@ {% endfor %} {% endif %} {% if author is defined -%} Author ~~~~~~ {% for author_name in author %} * @{ author_name }@ {% endfor %} {% endif %} {% if not deprecated %} {% set support = { 'core': 'The Ansible Core Team', 'network': 'The Ansible Network Team', 'certified': 'an Ansible Partner', 'community': 'The Ansible Community', 'curated': 'A Third Party'} %} {% 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'} %} {% if metadata %} {% if metadata.status %} Status ~~~~~~ {% for cur_state in metadata.status %} This module is flagged as **@{cur_state}@** which means that @{module_states[cur_state]}@. {% endfor %} {% endif %} {% if metadata.supported_by in ('core', 'network') %} Maintenance Info ~~~~~~~~~~~~~~~~ For more information about Red Hat's support of this @{ plugin_type }@, please refer to this `knowledge base article `_ {% endif %} {% endif %} {% endif %} If you want to help with development, please read :doc:`../../community`, :doc:`../../dev_guide/testing` and {% if plugin_type == 'module' %}:doc:`../../dev_guide/developing_modules`{% else %}:doc:`../../dev_guide/developing_plugins`{% endif %}.