Various module doc fixes (#37256)

This PR includes:
- A fix for multiple-choice defaults
- A fix for messed up dictionary samples
- Cleaner defaults when they don't appear part of choices
(cherry picked from commit 80ba7b7402)
pull/37699/head
Dag Wieers 7 years ago committed by Matt Davis
parent 20fcaeb854
commit 3b1df95798

@ -107,6 +107,7 @@ Parameters
{# default / choices #} {# default / choices #}
<td> <td>
<div class="cell-border"> <div class="cell-border">
{# Recalculate choices and boolean values #}
{% if value.default is defined %} {% if value.default is defined %}
{% if value.default == true %} {% if value.default == true %}
{% set _x = value.update({'default': 'yes'}) %} {% set _x = value.update({'default': 'yes'}) %}
@ -117,21 +118,21 @@ Parameters
{% if value.type == 'bool' %} {% if value.type == 'bool' %}
{% set _x = value.update({'choices': ['no', 'yes']}) %} {% set _x = value.update({'choices': ['no', 'yes']}) %}
{% endif %} {% endif %}
{# Show possible choices and highlight details #}
{% if value.choices %} {% if value.choices %}
<ul style="list-style-type: circle"><b>Choices:</b> <ul><b>Choices:</b>
{% if value.default not in value.choices %}
<li type="disc"><div style="color: blue"><b>@{ value.default }@</b>&nbsp;&larr;</div></li>
{% endif %}
{% for choice in value.choices %} {% for choice in value.choices %}
{% if value.default is defined and choice == value.default %} {% if (value.default is string and choice == value.default) or (value.default is iterable and choice in value.default) %}
<li type="disc"><div style="color: blue"><b>@{ value.default }@</b>&nbsp;&larr;</div></li> <li type="disc"><div style="color: blue"><b>@{ choice | escape }@</b>&nbsp;&larr;</div></li>
{% else %} {% else %}
<li>@{ choice }@</li> <li type="circle">@{ choice | escape }@</li>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
</ul> </ul>
{% elif value.default is defined %} {% endif %}
<div style="color: blue">@{ value.default | html_ify }@</div> {# Show default value, when multiple choice or no choices #}
{% if value.default is defined and value.default not in value.choices %}
<b>Default:</b><br/><div style="color: blue">@{ value.default | escape }@</div>
{% endif %} {% endif %}
</div> </div>
</td> </td>
@ -239,8 +240,7 @@ Facts returned by this module are added/updated in the ``hostvars`` host facts a
<td> <td>
<div class="outer-elbow-container"> <div class="outer-elbow-container">
{% for i in range(1, loop.depth) %} {% for i in range(1, loop.depth) %}
<div class="elbow-placeholder"> <div class="elbow-placeholder"></div>
</div>
{% endfor %} {% endfor %}
<div class="elbow-key"> <div class="elbow-key">
<b>@{ key }@</b> <b>@{ key }@</b>
@ -248,7 +248,7 @@ Facts returned by this module are added/updated in the ``hostvars`` host facts a
</div> </div>
</div> </div>
</td> </td>
<td><div class="cell-border">@{ value.returned }@</div></td> <td><div class="cell-border">@{ value.returned | html_ify }@</div></td>
<td> <td>
<div class="cell-border"> <div class="cell-border">
{% if value.description is string %} {% if value.description is string %}
@ -259,10 +259,10 @@ Facts returned by this module are added/updated in the ``hostvars`` host facts a
{% endfor %} {% endfor %}
{% endif %} {% endif %}
<br/> <br/>
{% if value.sample %} {% if value.sample is defined and value.sample %}
<div style="font-size: smaller"><b>Sample:</b></div> <div style="font-size: smaller"><b>Sample:</b></div>
{# <div style="font-size: smaller; color: blue; word-wrap: break-word; overflow-wrap: break-word; word-break: break-all;">@{ value.sample | html_ify }@</div> #} {# TODO: The sample should be escaped, using | escape or | htmlify, but both mess things up beyond repair with dicts #}
<div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">@{ value.sample | html_ify }@</div> <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">@{ value.sample | replace('\n', '\n ') | html_ify }@</div>
{% endif %} {% endif %}
</div> </div>
</td> </td>
@ -313,7 +313,7 @@ Common return values are documented :ref:`here <common_return_values>`, the foll
</div> </div>
</div> </div>
</td> </td>
<td><div class="cell-border">@{ value.returned }@</div></td> <td><div class="cell-border">@{ value.returned | html_ify }@</div></td>
<td> <td>
<div class="cell-border"> <div class="cell-border">
{% if value.description is string %} {% if value.description is string %}
@ -324,10 +324,10 @@ Common return values are documented :ref:`here <common_return_values>`, the foll
{% endfor %} {% endfor %}
{% endif %} {% endif %}
<br/> <br/>
{% if value.sample %} {% if value.sample is defined and value.sample %}
<div style="font-size: smaller"><b>Sample:</b></div> <div style="font-size: smaller"><b>Sample:</b></div>
{# <div style="font-size: smaller; color: blue; word-wrap: break-word; overflow-wrap: break-word; word-break: break-all;">@{ value.sample | html_ify }@</div> #} {# TODO: The sample should be escaped, using | escape or | htmlify, but both mess things up beyond repair with dicts #}
<div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">@{ value.sample | html_ify }@</div> <div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">@{ value.sample | replace('\n', '\n ') | html_ify }@</div>
{% endif %} {% endif %}
</div> </div>
</td> </td>

@ -49,11 +49,63 @@ EXAMPLES = '''
# Gather space usage about all imported ZFS pools # Gather space usage about all imported ZFS pools
- zpool_facts: properties='free,size' - zpool_facts: properties='free,size'
debug: msg='ZFS pool {{ item.name }} has {{ item.free }} free space out of {{ item.size }}.'
- debug: msg='ZFS pool {{ item.name }} has {{ item.free }} free space out of {{ item.size }}.'
with_items: '{{ ansible_zfs_pools }}' with_items: '{{ ansible_zfs_pools }}'
''' '''
RETURN = ''' RETURN = '''
ansible_facts:
description: Dictionary containing all the detailed information about the ZFS pool facts
returned: always
type: complex
contains:
ansible_zfs_pools:
description: ZFS pool facts
returned: always
type: string
sample:
{
"allocated": "3.46G",
"altroot": "-",
"autoexpand": "off",
"autoreplace": "off",
"bootfs": "rpool/ROOT/openindiana",
"cachefile": "-",
"capacity": "6%",
"comment": "-",
"dedupditto": "0",
"dedupratio": "1.00x",
"delegation": "on",
"expandsize": "-",
"failmode": "wait",
"feature@async_destroy": "enabled",
"feature@bookmarks": "enabled",
"feature@edonr": "enabled",
"feature@embedded_data": "active",
"feature@empty_bpobj": "active",
"feature@enabled_txg": "active",
"feature@extensible_dataset": "enabled",
"feature@filesystem_limits": "enabled",
"feature@hole_birth": "active",
"feature@large_blocks": "enabled",
"feature@lz4_compress": "active",
"feature@multi_vdev_crash_dump": "enabled",
"feature@sha512": "enabled",
"feature@skein": "enabled",
"feature@spacemap_histogram": "active",
"fragmentation": "3%",
"free": "46.3G",
"freeing": "0",
"guid": "15729052870819522408",
"health": "ONLINE",
"leaked": "0",
"listsnapshots": "off",
"name": "rpool",
"readonly": "off",
"size": "49.8G",
"version": "-"
}
name: name:
description: ZFS pool name description: ZFS pool name
returned: always returned: always
@ -64,52 +116,6 @@ parsable:
returned: if 'parsable' is set to True returned: if 'parsable' is set to True
type: boolean type: boolean
sample: True sample: True
zfs_pools:
description: ZFS pool facts
returned: always
type: string
sample:
{
"allocated": "3.46G",
"altroot": "-",
"autoexpand": "off",
"autoreplace": "off",
"bootfs": "rpool/ROOT/openindiana",
"cachefile": "-",
"capacity": "6%",
"comment": "-",
"dedupditto": "0",
"dedupratio": "1.00x",
"delegation": "on",
"expandsize": "-",
"failmode": "wait",
"feature@async_destroy": "enabled",
"feature@bookmarks": "enabled",
"feature@edonr": "enabled",
"feature@embedded_data": "active",
"feature@empty_bpobj": "active",
"feature@enabled_txg": "active",
"feature@extensible_dataset": "enabled",
"feature@filesystem_limits": "enabled",
"feature@hole_birth": "active",
"feature@large_blocks": "enabled",
"feature@lz4_compress": "active",
"feature@multi_vdev_crash_dump": "enabled",
"feature@sha512": "enabled",
"feature@skein": "enabled",
"feature@spacemap_histogram": "active",
"fragmentation": "3%",
"free": "46.3G",
"freeing": "0",
"guid": "15729052870819522408",
"health": "ONLINE",
"leaked": "0",
"listsnapshots": "off",
"name": "rpool",
"readonly": "off",
"size": "49.8G",
"version": "-"
}
''' '''
from collections import defaultdict from collections import defaultdict

@ -55,8 +55,8 @@ options:
C(ObjectInherit). C(ObjectInherit).
- For more information on the choices see MSDN InheritanceFlags enumeration - For more information on the choices see MSDN InheritanceFlags enumeration
at U(https://msdn.microsoft.com/en-us/library/system.security.accesscontrol.inheritanceflags.aspx). at U(https://msdn.microsoft.com/en-us/library/system.security.accesscontrol.inheritanceflags.aspx).
choices: [ ContainerInherit, None, ObjectInherit ] - Defaults to C(ContainerInherit, ObjectInherit) for Directories.
default: For Leaf File, 'None'; For Directory, 'ContainerInherit, ObjectInherit'; choices: [ ContainerInherit, ObjectInherit ]
propagation: propagation:
description: description:
- Propagation flag on the ACL rules. - Propagation flag on the ACL rules.

Loading…
Cancel
Save