From 06b1850bb1272cd7ae52db89c514e1264017763f Mon Sep 17 00:00:00 2001 From: skilyazhnev <43170236+skilyazhnev@users.noreply.github.com> Date: Thu, 18 Apr 2024 22:29:58 +0300 Subject: [PATCH 01/10] Extend boolean values section in playbooks_variables https://github.com/ansible/ansible-documentation/issues/1279 --- .../playbook_guide/playbooks_variables.rst | 28 +++++++++++++++++-- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/docs/docsite/rst/playbook_guide/playbooks_variables.rst b/docs/docsite/rst/playbook_guide/playbooks_variables.rst index 3a4e5fcace5..5b3fa0b6fe5 100644 --- a/docs/docsite/rst/playbook_guide/playbooks_variables.rst +++ b/docs/docsite/rst/playbook_guide/playbooks_variables.rst @@ -101,7 +101,29 @@ Boolean variables ================= Ansible accepts a broad range of values for boolean variables: ``true/false``, ``1/0``, ``yes/no``, ``True/False`` and so on. The matching of valid strings is case insensitive. -While documentation examples focus on ``true/false`` to be compatible with ``ansible-lint`` default settings, you can use any of the following: +While documentation examples focus on ``true/false`` to be compatible with ``ansible-lint`` default settings. You can use any of the following values: + +Native Boolean +-------------- + +Values natively recognized as boolean by Ansible + +.. table:: + :class: documentation-table + + =============================================================================================== ==================================================================== + Valid values Description + =============================================================================================== ==================================================================== + ``True`` , ``TRUE`` , ``yes`` , ``true`` , ``True`` , ``on`` Truthy values + + ``False`` , ``false`` , ``FALSE`` , ``no``, ``off`` Falsy values + + =============================================================================================== ==================================================================== + +Interpretable as Boolean +------------------------ + +We need to use the filter ``| bool`` to interpret these strings values as native booleans in logical expressions. Boolean expressions will also work with these values without filter, but interpret them in python style. .. table:: :class: documentation-table @@ -109,9 +131,9 @@ While documentation examples focus on ``true/false`` to be compatible with ``ans =============================================================================================== ==================================================================== Valid values Description =============================================================================================== ==================================================================== - ``True`` , ``'true'`` , ``'t'`` , ``'yes'`` , ``'y'`` , ``'on'`` , ``'1'`` , ``1`` , ``1.0`` Truthy values + ``'true'`` , ``'t'`` , ``'yes'`` , ``'y'`` , ``'on'`` , ``'1'`` , ``1`` , ``1.0`` Truthy values - ``False`` , ``'false'`` , ``'f'`` , ``'no'`` , ``'n'`` , ``'off'`` , ``'0'`` , ``0`` , ``0.0`` Falsy values + ``'false'`` , ``'f'`` , ``'no'`` , ``'n'`` , ``'off'`` , ``'0'`` , ``0`` , ``0.0`` Falsy values =============================================================================================== ==================================================================== From 6c41ec7c352d5187e550061f97cae93435979b83 Mon Sep 17 00:00:00 2001 From: skilyazhnev <43170236+skilyazhnev@users.noreply.github.com> Date: Sat, 20 Apr 2024 19:20:10 +0300 Subject: [PATCH 02/10] Remove 0.0\1.0 values --- .../rst/playbook_guide/playbooks_variables.rst | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/docsite/rst/playbook_guide/playbooks_variables.rst b/docs/docsite/rst/playbook_guide/playbooks_variables.rst index 5b3fa0b6fe5..4f4371ae0d5 100644 --- a/docs/docsite/rst/playbook_guide/playbooks_variables.rst +++ b/docs/docsite/rst/playbook_guide/playbooks_variables.rst @@ -123,19 +123,19 @@ Values natively recognized as boolean by Ansible Interpretable as Boolean ------------------------ -We need to use the filter ``| bool`` to interpret these strings values as native booleans in logical expressions. Boolean expressions will also work with these values without filter, but interpret them in python style. +We need to use the filter ``| bool`` to interpret these strings values as native booleans in logical expressions. Boolean expressions will also work with these values without filter, but interpret them in python style. .. table:: :class: documentation-table - =============================================================================================== ==================================================================== - Valid values Description - =============================================================================================== ==================================================================== - ``'true'`` , ``'t'`` , ``'yes'`` , ``'y'`` , ``'on'`` , ``'1'`` , ``1`` , ``1.0`` Truthy values + ================================================================================= ==================================================================== + Valid values Description + ================================================================================= ==================================================================== + ``'true'`` , ``'t'`` , ``'yes'`` , ``'y'`` , ``'on'`` , ``'1'`` , ``1`` Truthy values - ``'false'`` , ``'f'`` , ``'no'`` , ``'n'`` , ``'off'`` , ``'0'`` , ``0`` , ``0.0`` Falsy values + ``'false'`` , ``'f'`` , ``'no'`` , ``'n'`` , ``'off'`` , ``'0'`` , ``0`` Falsy values - =============================================================================================== ==================================================================== + ================================================================================= ==================================================================== .. _list_variables: From 95788767a6ec5ba41672d627d46c99747755d890 Mon Sep 17 00:00:00 2001 From: skilyazhnev <43170236+skilyazhnev@users.noreply.github.com> Date: Sat, 20 Apr 2024 19:42:43 +0300 Subject: [PATCH 03/10] Add --- docs/docsite/rst/playbook_guide/playbooks_variables.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docsite/rst/playbook_guide/playbooks_variables.rst b/docs/docsite/rst/playbook_guide/playbooks_variables.rst index 4f4371ae0d5..49fcf1573ed 100644 --- a/docs/docsite/rst/playbook_guide/playbooks_variables.rst +++ b/docs/docsite/rst/playbook_guide/playbooks_variables.rst @@ -114,9 +114,9 @@ Values natively recognized as boolean by Ansible =============================================================================================== ==================================================================== Valid values Description =============================================================================================== ==================================================================== - ``True`` , ``TRUE`` , ``yes`` , ``true`` , ``True`` , ``on`` Truthy values + ``yes`` , ``Yes`` , ``YES`` , ``true`` , ``True`` , ``TRUE`` , ``on`` , ``On`` , ``ON`` Truthy values - ``False`` , ``false`` , ``FALSE`` , ``no``, ``off`` Falsy values + ``no`` , ``No`` , ``NO`` , ``false`` , ``False`` , ``FALSE`` , ``off`` , ``Off`` , ``OFF`` Falsy values =============================================================================================== ==================================================================== From 1262ca57093056fc0af6c3d7e2026186faa9b268 Mon Sep 17 00:00:00 2001 From: skilyazhnev <43170236+skilyazhnev@users.noreply.github.com> Date: Tue, 21 May 2024 20:38:23 +0300 Subject: [PATCH 04/10] Grammar fix Co-authored-by: Don Naro --- docs/docsite/rst/playbook_guide/playbooks_variables.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docsite/rst/playbook_guide/playbooks_variables.rst b/docs/docsite/rst/playbook_guide/playbooks_variables.rst index 49fcf1573ed..eb5d9137189 100644 --- a/docs/docsite/rst/playbook_guide/playbooks_variables.rst +++ b/docs/docsite/rst/playbook_guide/playbooks_variables.rst @@ -101,7 +101,7 @@ Boolean variables ================= Ansible accepts a broad range of values for boolean variables: ``true/false``, ``1/0``, ``yes/no``, ``True/False`` and so on. The matching of valid strings is case insensitive. -While documentation examples focus on ``true/false`` to be compatible with ``ansible-lint`` default settings. You can use any of the following values: +Documentation examples focus on ``true/false`` to be compatible with ``ansible-lint`` default settings. However, you can use any of the following values: Native Boolean -------------- From 4e4d688f3bcee6128028d77f685dc2e360a11153 Mon Sep 17 00:00:00 2001 From: skilyazhnev <43170236+skilyazhnev@users.noreply.github.com> Date: Tue, 21 May 2024 20:39:06 +0300 Subject: [PATCH 05/10] Grammar\Style fix Co-authored-by: Don Naro --- docs/docsite/rst/playbook_guide/playbooks_variables.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docsite/rst/playbook_guide/playbooks_variables.rst b/docs/docsite/rst/playbook_guide/playbooks_variables.rst index eb5d9137189..aa1ed6777da 100644 --- a/docs/docsite/rst/playbook_guide/playbooks_variables.rst +++ b/docs/docsite/rst/playbook_guide/playbooks_variables.rst @@ -123,7 +123,7 @@ Values natively recognized as boolean by Ansible Interpretable as Boolean ------------------------ -We need to use the filter ``| bool`` to interpret these strings values as native booleans in logical expressions. Boolean expressions will also work with these values without filter, but interpret them in python style. +You need to use the ``| bool`` filter to interpret these strings values as native booleans in logical expressions. Boolean expressions also work with these values without a filter, but Ansible interprets them in Python style. .. table:: :class: documentation-table From 04f8f134872fb36dba10c464079b202cfe9e89b6 Mon Sep 17 00:00:00 2001 From: skilyazhnev <43170236+skilyazhnev@users.noreply.github.com> Date: Sat, 1 Jun 2024 22:33:28 +0300 Subject: [PATCH 06/10] Split Native boolean --- .../playbook_guide/playbooks_variables.rst | 33 ++++++++++++++----- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/docs/docsite/rst/playbook_guide/playbooks_variables.rst b/docs/docsite/rst/playbook_guide/playbooks_variables.rst index aa1ed6777da..451017bcc8e 100644 --- a/docs/docsite/rst/playbook_guide/playbooks_variables.rst +++ b/docs/docsite/rst/playbook_guide/playbooks_variables.rst @@ -106,24 +106,41 @@ Documentation examples focus on ``true/false`` to be compatible with ``ansible-l Native Boolean -------------- -Values natively recognized as boolean by Ansible +Ansible treats these values as native booleans: .. table:: :class: documentation-table - =============================================================================================== ==================================================================== - Valid values Description - =============================================================================================== ==================================================================== - ``yes`` , ``Yes`` , ``YES`` , ``true`` , ``True`` , ``TRUE`` , ``on`` , ``On`` , ``ON`` Truthy values + ================= ================= + Valid values Description + ================= ================= + ``true`` Truthy values - ``no`` , ``No`` , ``NO`` , ``false`` , ``False`` , ``FALSE`` , ``off`` , ``Off`` , ``OFF`` Falsy values + ``false`` Falsy values - =============================================================================================== ==================================================================== + ================= ================= + +Implicit boolean +---------------- + +Ansible recognizes these values as booleans: + +.. table:: + :class: documentation-table + + ================================================================================= ==================================================================== + Valid values Description + ================================================================================= ==================================================================== + ``yes`` , ``Yes`` , ``YES`` , ``True`` , ``TRUE`` , ``on`` , ``On`` , ``ON`` Truthy values + + ``no`` , ``No`` , ``NO`` , ``False`` , ``FALSE`` , ``off`` , ``Off`` , ``OFF`` Falsy values + + ================================================================================= ==================================================================== Interpretable as Boolean ------------------------ -You need to use the ``| bool`` filter to interpret these strings values as native booleans in logical expressions. Boolean expressions also work with these values without a filter, but Ansible interprets them in Python style. +You need to use the ``| bool`` filter to interpret these strings values as native booleans in logical expressions. Boolean expressions also work with these values without a filter, but Ansible interprets them in Python style. .. table:: :class: documentation-table From 7fc8f42352b2870a460d14377274e857be99dacd Mon Sep 17 00:00:00 2001 From: skilyazhnev <43170236+skilyazhnev@users.noreply.github.com> Date: Sat, 1 Jun 2024 23:01:56 +0300 Subject: [PATCH 07/10] Example of Interpretable as Boolean --- .../rst/playbook_guide/playbooks_variables.rst | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/docsite/rst/playbook_guide/playbooks_variables.rst b/docs/docsite/rst/playbook_guide/playbooks_variables.rst index 451017bcc8e..d995b353e21 100644 --- a/docs/docsite/rst/playbook_guide/playbooks_variables.rst +++ b/docs/docsite/rst/playbook_guide/playbooks_variables.rst @@ -154,6 +154,24 @@ You need to use the ``| bool`` filter to interpret these strings values as nativ ================================================================================= ==================================================================== +For example, using ``'false'`` value: + +.. code-block:: yaml + + - hosts: web_servers + vars: + condition_var: 'false' + tasks: + - name: This task will run + debug: + msg: "{{ condition_var }}" + when: condition_var + + - name: This task will be skipped + debug: + msg: "{{ condition_var }}" + when: condition_var | bool + .. _list_variables: List variables From cc8b337ee30729c7f8b2f6d0dbaf8fa89967edce Mon Sep 17 00:00:00 2001 From: skilyazhnev <43170236+skilyazhnev@users.noreply.github.com> Date: Tue, 4 Jun 2024 14:20:38 +0300 Subject: [PATCH 08/10] Update docs/docsite/rst/playbook_guide/playbooks_variables.rst Co-authored-by: Don Naro --- docs/docsite/rst/playbook_guide/playbooks_variables.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docsite/rst/playbook_guide/playbooks_variables.rst b/docs/docsite/rst/playbook_guide/playbooks_variables.rst index d995b353e21..7dc19978a14 100644 --- a/docs/docsite/rst/playbook_guide/playbooks_variables.rst +++ b/docs/docsite/rst/playbook_guide/playbooks_variables.rst @@ -154,7 +154,7 @@ You need to use the ``| bool`` filter to interpret these strings values as nativ ================================================================================= ==================================================================== -For example, using ``'false'`` value: +For example, using ``'false'`` as a condition to run tasks: .. code-block:: yaml From 6bf26d78436347e807476f987f5779e538e3df78 Mon Sep 17 00:00:00 2001 From: skilyazhnev <43170236+skilyazhnev@users.noreply.github.com> Date: Tue, 4 Jun 2024 14:20:44 +0300 Subject: [PATCH 09/10] Update docs/docsite/rst/playbook_guide/playbooks_variables.rst Co-authored-by: Don Naro --- docs/docsite/rst/playbook_guide/playbooks_variables.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docsite/rst/playbook_guide/playbooks_variables.rst b/docs/docsite/rst/playbook_guide/playbooks_variables.rst index 7dc19978a14..a2600000863 100644 --- a/docs/docsite/rst/playbook_guide/playbooks_variables.rst +++ b/docs/docsite/rst/playbook_guide/playbooks_variables.rst @@ -137,7 +137,7 @@ Ansible recognizes these values as booleans: ================================================================================= ==================================================================== -Interpretable as Boolean +Interpretable as boolean ------------------------ You need to use the ``| bool`` filter to interpret these strings values as native booleans in logical expressions. Boolean expressions also work with these values without a filter, but Ansible interprets them in Python style. From 0b03d2dbc79bba4c7a45bcebaa0f132c02a4323f Mon Sep 17 00:00:00 2001 From: skilyazhnev <43170236+skilyazhnev@users.noreply.github.com> Date: Tue, 4 Jun 2024 14:20:51 +0300 Subject: [PATCH 10/10] Update docs/docsite/rst/playbook_guide/playbooks_variables.rst Co-authored-by: Don Naro --- docs/docsite/rst/playbook_guide/playbooks_variables.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docsite/rst/playbook_guide/playbooks_variables.rst b/docs/docsite/rst/playbook_guide/playbooks_variables.rst index a2600000863..5433870424f 100644 --- a/docs/docsite/rst/playbook_guide/playbooks_variables.rst +++ b/docs/docsite/rst/playbook_guide/playbooks_variables.rst @@ -103,7 +103,7 @@ Boolean variables Ansible accepts a broad range of values for boolean variables: ``true/false``, ``1/0``, ``yes/no``, ``True/False`` and so on. The matching of valid strings is case insensitive. Documentation examples focus on ``true/false`` to be compatible with ``ansible-lint`` default settings. However, you can use any of the following values: -Native Boolean +Native boolean -------------- Ansible treats these values as native booleans: