Loops¶
Loop named¶
Nested Loop¶
YAML
---
- hosts: localhost
gather_facts: False
tasks:
- name: Loop nested
debug:
msg: "{{ item[0] }} :: {{ item[1] }}"
with_nested:
- [ 'alice', 'bob' ]
- [ 'clientdb', 'employeedb', 'providerdb' ]
...
Boucle for¶
YAML
---
- hosts: localhost
gather_facts: False
tasks:
- name: Transform la variable list[0] en integer
set_fact:
firstSeqList: "{{ list[0] | int }}
- name: init pair / inpaire : InitRange = 0 / 1
set_fact:
initRange: "{{ firstSeqList | int % 2 }}"
- name: boucle for de 2 en 2 : range([start, ]stop[, step])
debug:
msg:
- "{{ item }}"
loop: "{{ range( initRange | int , lastSeqList | int + 1, 2 ) | list }}"
...
Double loop Ansible¶
TASK [1 Create files] *******************************************
ok: [localhost] => (item=[{'key1': 'directory1'}, 'file11']) => {
"msg": "Create files : directory1/file11"
}
ok: [localhost] => (item=[{'key1': 'directory1'}, 'file12']) => {
"msg": "Create files : directory1/file12"
}
ok: [localhost] => (item=[{'key1': 'directory2'}, 'file21']) => {
"msg": "Create files : directory2/file21"
}
ok: [localhost] => (item=[{'key1': 'directory2'}, 'file22']) => {
"msg": "Create files : directory2/file22"
}
TASK [2 Create files] *************************************************************************
ok: [localhost] => (item=[{'key1': 'directory1', 'key2': ['file11', 'file12']}, 'file11']) => {
"msg": "Create files : directory1/file11"
}
ok: [localhost] => (item=[{'key1': 'directory1', 'key2': ['file11', 'file12']}, 'file12']) => {
"msg": "Create files : directory1/file12"
}
ok: [localhost] => (item=[{'key1': 'directory2', 'key2': ['file21', 'file22']}, 'file21']) => {
"msg": "Create files : directory2/file21"
}
ok: [localhost] => (item=[{'key1': 'directory2', 'key2': ['file21', 'file22']}, 'file22']) => {
"msg": "Create files : directory2/file22"
}