Inhaltsverzeichnis

Variablen

Wertigkeit

Ansible Doku

  1. role defaults
  2. inventory vars
  3. inventory group_vars
  4. inventory host_vars
  5. playbook group_vars
  6. playbook host_vars
  7. host facts
  8. play vars
  9. play vars_prompt
  10. play vars_files
  11. registered vars
  12. set_facts
  13. role and include vars
  14. block vars (only for tasks in block)
  15. task vars (only for the task)
  16. extra vars (always win precedence)

Variablennutzung

Ansible Filters

Variable in Variable

net
    - ip:  192.168.1
 

ipaddr: "{{ net.0.ip }}.112"

Defaultwert

{{ value | default('dummy') }}

List erweitern

I: appending to LIST variable

      - name: my appender
        set_fact:
          my_list_var: '{{my_list_myvar + new_items_list}}'

II: appending to LIST variable one by one

      - name: my appender
        set_fact:
          my_list_var: '{{my_list_var + [item]}}'
        with_items: '{{my_new_items|list}}'

III: appending more keys DICT variable in a "batch"

      - name: my appender
        set_fact:
          my_dict_var: '{{my_dict_var|combine(my_new_keys_in_a_dict)}}'

IV: appending keys DICT variable one by one from tuples

      - name: setup list of tuples (for 2.4.x and up
        set_fact:
          lot: >
            [('key1', 'value1',), ('key2', 'value2',), ..., ('keyN', 'valueN',)],
      - name: my appender
        set_fact:
          my_dict_var: '{{my_dict_var|combine({item[0]: item[1]})}}'
        with_items: '{{lot}}'

V: appending keys DICT variable one by one from list of dicts

  - name: add new key / value pairs to dict
    set_fact:
      my_dict_var: "{{ my_dict_var | combine({item.key: item.value}) }}"
    with_items:
    - { key: 'key01', value: 'value 01' }
    - { key: 'key02', value: 'value 03' }
    - { key: 'key03', value: 'value 04' }