Skip to content

Vars

Default Value

Passer true comme second paramètre renverra la valeur par défaut si la valeur est définie mais vide

YAML
"{{ some_variable | default(5) }}"
"{{ lookup('env', 'MY_USER') | default('admin', true) }}"

Optional Variable

YAML
"{{ item.mode | default(omit) }}"

Mandatory Variables

YAML
"{{ variable | mandatory }}"

Ternary : if,then,else

Si le test est à true, restart sinon continue

YAML
"{{ (status == 'needs_restart') | ternary('restart', 'continue') }}"

Ternary : if,then,else,null : (omit)

Si le test est à true, restart sinon continue et null (omit) si status est non initialisé

YAML
"{{ (status == 'needs_restart') | ternary('restart', 'continue'), omit }}"

Multiples tests

CheckVars
---

- name: Checkvars
  hosts: localhost
  gather_facts: false

  vars:
    # true, True, TRUE, "true", "True", "TRUE"
    a_true: true
    a_true_initial_caps: True
    a_true_caps: TRUE
    a_string_true: "true"
    a_string_true_initial_caps: "True"
    a_string_true_caps: "TRUE"
    # yes, Yes, YES, "yes", "Yes", "YES"
    a_yes: yes
    a_yes_initial_caps: Tes
    a_yes_caps: TES
    a_string_yes: "yes"
    a_string_yes_initial_caps: "Yes"
    a_string_yes_caps: "Yes"
    # 1, "1"
    a_1: 1
    a_string_1: "1"
    # false, False, FALSE, "false", "False", "FALSE"
    a_false: false
    a_false_initial_caps: False
    a_false_caps: FALSE
    a_string_false: "false"
    a_string_false_initial_caps: "False"
    a_string_false_caps: "FALSE"
    # no, No, NO, "no", "No", "NO"
    a_no: no
    a_no_initial_caps: No
    a_no_caps: NO
    a_string_no: "no"
    a_string_no_initial_caps: "No"
    a_string_no_caps: "NO"
    # 0, "0"
    a_0: 0
    a_string_0: "0"

  tasks:

    - debug:
        msg: |
          {
          {% for var in ["a_true","a_true_initial_caps","a_true_caps","a_string_true","a_string_true_initial_caps","a_string_true_caps","a_yes","a_yes_initial_caps","a_yes_caps","a_string_yes","a_string_yes_initial_caps","a_string_yes_caps","a_1","a_string_1","a_false","a_false_initial_caps","a_false_caps","a_string_false","a_string_false_initial_caps","a_string_false_caps","a_no","a_no_initial_caps","a_no_caps","a_string_no","a_string_no_initial_caps","a_string_no_caps","a_0","a_string_0"] %}
            "{{ var }}": {
              "type_debug": "{{ vars[var] | type_debug }}",
              "value": "{{ vars[var] }}",
              "is float": "{{ vars[var] is float }}",
              "is integer": "{{ vars[var] is integer }}",
              "is iterable": "{{ vars[var] is iterable }}",
              "is mapping": "{{ vars[var] is mapping }}",
              "is number": "{{ vars[var] is number }}",
              "is sequence": "{{ vars[var] is sequence }}",
              "is string": "{{ vars[var] is string }}",
              "is bool": "{{ vars[var] is boolean }}",
              "value cast as float": "{{ vars[var] | float }}",
              "value cast as integer": "{{ vars[var] | int }}",
              "value cast as string": "{{ vars[var] | string }}",
              "value cast as bool": "{{ vars[var] | bool }}",
              "is same when cast to float": "{{ vars[var] | float | string == vars[var] | string }}",
              "is same when cast to integer": "{{ vars[var] | int | string == vars[var] | string }}",
              "is same when cast to string": "{{ vars[var] | string == vars[var] | string }}",
              "is same when cast to bool": "{{ vars[var] | bool | string == vars[var] | string }}",
            },
          {% endfor %}
          }
TASK [debug] **************
ok: [localhost] => {
    "msg": {
        "a_0": {
            "is bool": "False",
            "is float": "False",
            "is integer": "True",
            "is iterable": "False",
            "is mapping": "False",
            "is number": "True",
            "is same when cast to bool": "False",
            "is same when cast to float": "False",
            "is same when cast to integer": "True",
            "is same when cast to string": "True",
            "is sequence": "False",
            "is string": "False",
            "type_debug": "int",
            "value": "0",
            "value cast as bool": "False",
            "value cast as float": "0.0",
            "value cast as integer": "0",
            "value cast as string": "0"
        },
        "a_1": {
            "is bool": "False",
            "is float": "False",
            "is integer": "True",
            "is iterable": "False",
            "is mapping": "False",
            "is number": "True",
            "is same when cast to bool": "False",
            "is same when cast to float": "False",
            "is same when cast to integer": "True",
            "is same when cast to string": "True",
            "is sequence": "False",
            "is string": "False",
            "type_debug": "int",
            "value": "1",
            "value cast as bool": "True",
            "value cast as float": "1.0",
            "value cast as integer": "1",
            "value cast as string": "1"
        },
        "a_false": {
            "is bool": "True",
            "is float": "False",
            "is integer": "False",
            "is iterable": "False",
            "is mapping": "False",
            "is number": "True",
            "is same when cast to bool": "True",
            "is same when cast to float": "False",
            "is same when cast to integer": "False",
            "is same when cast to string": "True",
            "is sequence": "False",
            "is string": "False",
            "type_debug": "bool",
            "value": "False",
            "value cast as bool": "False",
            "value cast as float": "0.0",
            "value cast as integer": "0",
            "value cast as string": "False"
        },
        "a_false_caps": {
            "is bool": "True",
            "is float": "False",
            "is integer": "False",
            "is iterable": "False",
            "is mapping": "False",
            "is number": "True",
            "is same when cast to bool": "True",
            "is same when cast to float": "False",
            "is same when cast to integer": "False",
            "is same when cast to string": "True",
            "is sequence": "False",
            "is string": "False",
            "type_debug": "bool",
            "value": "False",
            "value cast as bool": "False",
            "value cast as float": "0.0",
            "value cast as integer": "0",
            "value cast as string": "False"
        },
        "a_false_initial_caps": {
            "is bool": "True",
            "is float": "False",
            "is integer": "False",
            "is iterable": "False",
            "is mapping": "False",
            "is number": "True",
            "is same when cast to bool": "True",
            "is same when cast to float": "False",
            "is same when cast to integer": "False",
            "is same when cast to string": "True",
            "is sequence": "False",
            "is string": "False",
            "type_debug": "bool",
            "value": "False",
            "value cast as bool": "False",
            "value cast as float": "0.0",
            "value cast as integer": "0",
            "value cast as string": "False"
        },
        "a_no": {
            "is bool": "True",
            "is float": "False",
            "is integer": "False",
            "is iterable": "False",
            "is mapping": "False",
            "is number": "True",
            "is same when cast to bool": "True",
            "is same when cast to float": "False",
            "is same when cast to integer": "False",
            "is same when cast to string": "True",
            "is sequence": "False",
            "is string": "False",
            "type_debug": "bool",
            "value": "False",
            "value cast as bool": "False",
            "value cast as float": "0.0",
            "value cast as integer": "0",
            "value cast as string": "False"
        },
        "a_no_caps": {
            "is bool": "True",
            "is float": "False",
            "is integer": "False",
            "is iterable": "False",
            "is mapping": "False",
            "is number": "True",
            "is same when cast to bool": "True",
            "is same when cast to float": "False",
            "is same when cast to integer": "False",
            "is same when cast to string": "True",
            "is sequence": "False",
            "is string": "False",
            "type_debug": "bool",
            "value": "False",
            "value cast as bool": "False",
            "value cast as float": "0.0",
            "value cast as integer": "0",
            "value cast as string": "False"
        },
        "a_no_initial_caps": {
            "is bool": "True",
            "is float": "False",
            "is integer": "False",
            "is iterable": "False",
            "is mapping": "False",
            "is number": "True",
            "is same when cast to bool": "True",
            "is same when cast to float": "False",
            "is same when cast to integer": "False",
            "is same when cast to string": "True",
            "is sequence": "False",
            "is string": "False",
            "type_debug": "bool",
            "value": "False",
            "value cast as bool": "False",
            "value cast as float": "0.0",
            "value cast as integer": "0",
            "value cast as string": "False"
        },
        "a_string_0": {
            "is bool": "False",
            "is float": "False",
            "is integer": "False",
            "is iterable": "True",
            "is mapping": "False",
            "is number": "False",
            "is same when cast to bool": "False",
            "is same when cast to float": "False",
            "is same when cast to integer": "True",
            "is same when cast to string": "True",
            "is sequence": "True",
            "is string": "True",
            "type_debug": "AnsibleUnicode",
            "value": "0",
            "value cast as bool": "False",
            "value cast as float": "0.0",
            "value cast as integer": "0",
            "value cast as string": "0"
        },
        "a_string_1": {
            "is bool": "False",
            "is float": "False",
            "is integer": "False",
            "is iterable": "True",
            "is mapping": "False",
            "is number": "False",
            "is same when cast to bool": "False",
            "is same when cast to float": "False",
            "is same when cast to integer": "True",
            "is same when cast to string": "True",
            "is sequence": "True",
            "is string": "True",
            "type_debug": "AnsibleUnicode",
            "value": "1",
            "value cast as bool": "True",
            "value cast as float": "1.0",
            "value cast as integer": "1",
            "value cast as string": "1"
        },
        "a_string_false": {
            "is bool": "False",
            "is float": "False",
            "is integer": "False",
            "is iterable": "True",
            "is mapping": "False",
            "is number": "False",
            "is same when cast to bool": "False",
            "is same when cast to float": "False",
            "is same when cast to integer": "False",
            "is same when cast to string": "True",
            "is sequence": "True",
            "is string": "True",
            "type_debug": "AnsibleUnicode",
            "value": "false",
            "value cast as bool": "False",
            "value cast as float": "0.0",
            "value cast as integer": "0",
            "value cast as string": "false"
        },
        "a_string_false_caps": {
            "is bool": "False",
            "is float": "False",
            "is integer": "False",
            "is iterable": "True",
            "is mapping": "False",
            "is number": "False",
            "is same when cast to bool": "False",
            "is same when cast to float": "False",
            "is same when cast to integer": "False",
            "is same when cast to string": "True",
            "is sequence": "True",
            "is string": "True",
            "type_debug": "AnsibleUnicode",
            "value": "FALSE",
            "value cast as bool": "False",
            "value cast as float": "0.0",
            "value cast as integer": "0",
            "value cast as string": "FALSE"
        },
        "a_string_false_initial_caps": {
            "is bool": "False",
            "is float": "False",
            "is integer": "False",
            "is iterable": "True",
            "is mapping": "False",
            "is number": "False",
            "is same when cast to bool": "True",
            "is same when cast to float": "False",
            "is same when cast to integer": "False",
            "is same when cast to string": "True",
            "is sequence": "True",
            "is string": "True",
            "type_debug": "AnsibleUnicode",
            "value": "False",
            "value cast as bool": "False",
            "value cast as float": "0.0",
            "value cast as integer": "0",
            "value cast as string": "False"
        },
        "a_string_no": {
            "is bool": "False",
            "is float": "False",
            "is integer": "False",
            "is iterable": "True",
            "is mapping": "False",
            "is number": "False",
            "is same when cast to bool": "False",
            "is same when cast to float": "False",
            "is same when cast to integer": "False",
            "is same when cast to string": "True",
            "is sequence": "True",
            "is string": "True",
            "type_debug": "AnsibleUnicode",
            "value": "no",
            "value cast as bool": "False",
            "value cast as float": "0.0",
            "value cast as integer": "0",
            "value cast as string": "no"
        },
        "a_string_no_caps": {
            "is bool": "False",
            "is float": "False",
            "is integer": "False",
            "is iterable": "True",
            "is mapping": "False",
            "is number": "False",
            "is same when cast to bool": "False",
            "is same when cast to float": "False",
            "is same when cast to integer": "False",
            "is same when cast to string": "True",
            "is sequence": "True",
            "is string": "True",
            "type_debug": "AnsibleUnicode",
            "value": "NO",
            "value cast as bool": "False",
            "value cast as float": "0.0",
            "value cast as integer": "0",
            "value cast as string": "NO"
        },
        "a_string_no_initial_caps": {
            "is bool": "False",
            "is float": "False",
            "is integer": "False",
            "is iterable": "True",
            "is mapping": "False",
            "is number": "False",
            "is same when cast to bool": "False",
            "is same when cast to float": "False",
            "is same when cast to integer": "False",
            "is same when cast to string": "True",
            "is sequence": "True",
            "is string": "True",
            "type_debug": "AnsibleUnicode",
            "value": "No",
            "value cast as bool": "False",
            "value cast as float": "0.0",
            "value cast as integer": "0",
            "value cast as string": "No"
        },
        "a_string_true": {
            "is bool": "False",
            "is float": "False",
            "is integer": "False",
            "is iterable": "True",
            "is mapping": "False",
            "is number": "False",
            "is same when cast to bool": "False",
            "is same when cast to float": "False",
            "is same when cast to integer": "False",
            "is same when cast to string": "True",
            "is sequence": "True",
            "is string": "True",
            "type_debug": "AnsibleUnicode",
            "value": "true",
            "value cast as bool": "True",
            "value cast as float": "0.0",
            "value cast as integer": "0",
            "value cast as string": "true"
        },
        "a_string_true_caps": {
            "is bool": "False",
            "is float": "False",
            "is integer": "False",
            "is iterable": "True",
            "is mapping": "False",
            "is number": "False",
            "is same when cast to bool": "False",
            "is same when cast to float": "False",
            "is same when cast to integer": "False",
            "is same when cast to string": "True",
            "is sequence": "True",
            "is string": "True",
            "type_debug": "AnsibleUnicode",
            "value": "TRUE",
            "value cast as bool": "True",
            "value cast as float": "0.0",
            "value cast as integer": "0",
            "value cast as string": "TRUE"
        },
        "a_string_true_initial_caps": {
            "is bool": "False",
            "is float": "False",
            "is integer": "False",
            "is iterable": "True",
            "is mapping": "False",
            "is number": "False",
            "is same when cast to bool": "True",
            "is same when cast to float": "False",
            "is same when cast to integer": "False",
            "is same when cast to string": "True",
            "is sequence": "True",
            "is string": "True",
            "type_debug": "AnsibleUnicode",
            "value": "True",
            "value cast as bool": "True",
            "value cast as float": "0.0",
            "value cast as integer": "0",
            "value cast as string": "True"
        },
        "a_string_yes": {
            "is bool": "False",
            "is float": "False",
            "is integer": "False",
            "is iterable": "True",
            "is mapping": "False",
            "is number": "False",
            "is same when cast to bool": "False",
            "is same when cast to float": "False",
            "is same when cast to integer": "False",
            "is same when cast to string": "True",
            "is sequence": "True",
            "is string": "True",
            "type_debug": "AnsibleUnicode",
            "value": "yes",
            "value cast as bool": "True",
            "value cast as float": "0.0",
            "value cast as integer": "0",
            "value cast as string": "yes"
        },
        "a_string_yes_caps": {
            "is bool": "False",
            "is float": "False",
            "is integer": "False",
            "is iterable": "True",
            "is mapping": "False",
            "is number": "False",
            "is same when cast to bool": "False",
            "is same when cast to float": "False",
            "is same when cast to integer": "False",
            "is same when cast to string": "True",
            "is sequence": "True",
            "is string": "True",
            "type_debug": "AnsibleUnicode",
            "value": "Yes",
            "value cast as bool": "True",
            "value cast as float": "0.0",
            "value cast as integer": "0",
            "value cast as string": "Yes"
        },
        "a_string_yes_initial_caps": {
            "is bool": "False",
            "is float": "False",
            "is integer": "False",
            "is iterable": "True",
            "is mapping": "False",
            "is number": "False",
            "is same when cast to bool": "False",
            "is same when cast to float": "False",
            "is same when cast to integer": "False",
            "is same when cast to string": "True",
            "is sequence": "True",
            "is string": "True",
            "type_debug": "AnsibleUnicode",
            "value": "Yes",
            "value cast as bool": "True",
            "value cast as float": "0.0",
            "value cast as integer": "0",
            "value cast as string": "Yes"
        },
        "a_true": {
            "is bool": "True",
            "is float": "False",
            "is integer": "False",
            "is iterable": "False",
            "is mapping": "False",
            "is number": "True",
            "is same when cast to bool": "True",
            "is same when cast to float": "False",
            "is same when cast to integer": "False",
            "is same when cast to string": "True",
            "is sequence": "False",
            "is string": "False",
            "type_debug": "bool",
            "value": "True",
            "value cast as bool": "True",
            "value cast as float": "1.0",
            "value cast as integer": "1",
            "value cast as string": "True"
        },
        "a_true_caps": {
            "is bool": "True",
            "is float": "False",
            "is integer": "False",
            "is iterable": "False",
            "is mapping": "False",
            "is number": "True",
            "is same when cast to bool": "True",
            "is same when cast to float": "False",
            "is same when cast to integer": "False",
            "is same when cast to string": "True",
            "is sequence": "False",
            "is string": "False",
            "type_debug": "bool",
            "value": "True",
            "value cast as bool": "True",
            "value cast as float": "1.0",
            "value cast as integer": "1",
            "value cast as string": "True"
        },
        "a_true_initial_caps": {
            "is bool": "True",
            "is float": "False",
            "is integer": "False",
            "is iterable": "False",
            "is mapping": "False",
            "is number": "True",
            "is same when cast to bool": "True",
            "is same when cast to float": "False",
            "is same when cast to integer": "False",
            "is same when cast to string": "True",
            "is sequence": "False",
            "is string": "False",
            "type_debug": "bool",
            "value": "True",
            "value cast as bool": "True",
            "value cast as float": "1.0",
            "value cast as integer": "1",
            "value cast as string": "True"
        },
        "a_yes": {
            "is bool": "True",
            "is float": "False",
            "is integer": "False",
            "is iterable": "False",
            "is mapping": "False",
            "is number": "True",
            "is same when cast to bool": "True",
            "is same when cast to float": "False",
            "is same when cast to integer": "False",
            "is same when cast to string": "True",
            "is sequence": "False",
            "is string": "False",
            "type_debug": "bool",
            "value": "True",
            "value cast as bool": "True",
            "value cast as float": "1.0",
            "value cast as integer": "1",
            "value cast as string": "True"
        },
        "a_yes_caps": {
            "is bool": "False",
            "is float": "False",
            "is integer": "False",
            "is iterable": "True",
            "is mapping": "False",
            "is number": "False",
            "is same when cast to bool": "False",
            "is same when cast to float": "False",
            "is same when cast to integer": "False",
            "is same when cast to string": "True",
            "is sequence": "True",
            "is string": "True",
            "type_debug": "AnsibleUnicode",
            "value": "TES",
            "value cast as bool": "False",
            "value cast as float": "0.0",
            "value cast as integer": "0",
            "value cast as string": "TES"
        },
        "a_yes_initial_caps": {
            "is bool": "False",
            "is float": "False",
            "is integer": "False",
            "is iterable": "True",
            "is mapping": "False",
            "is number": "False",
            "is same when cast to bool": "False",
            "is same when cast to float": "False",
            "is same when cast to integer": "False",
            "is same when cast to string": "True",
            "is sequence": "True",
            "is string": "True",
            "type_debug": "AnsibleUnicode",
            "value": "Tes",
            "value cast as bool": "False",
            "value cast as float": "0.0",
            "value cast as integer": "0",
            "value cast as string": "Tes"
        }
    }
}