Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
ansible:playbooks [2023/12/12 06:07] admin |
ansible:playbooks [2024/11/21 11:01] (текущий) admin |
||
---|---|---|---|
Строка 346: | Строка 346: | ||
+ | |||
+ | < | ||
+ | < | ||
+ | |||
+ | Проверка существования\\ | ||
+ | Встречал вариант " | ||
+ | Хотя "is not defined" | ||
+ | А вариант с "in vars" работает даже с экстра переменными\\ | ||
+ | <code yaml> | ||
+ | --- | ||
+ | - name: " | ||
+ | ansible.builtin.fail: | ||
+ | msg: "{{ item }} is not defined" | ||
+ | when: item not in vars | ||
+ | loop: | ||
+ | - my_var1 | ||
+ | - my_var2 | ||
+ | - my_var3 | ||
+ | </ | ||
+ | |||
+ | Развертывание словаря в шаблоне джинджи\\ | ||
+ | В инвентори например такой словарь, | ||
+ | <code yaml> | ||
+ | my_dict_dests: | ||
+ | - name: " | ||
+ | destDir: "/ | ||
+ | transferType: | ||
+ | host: " | ||
+ | user: " | ||
+ | pass: " | ||
+ | |||
+ | - name: " | ||
+ | destDir: "/ | ||
+ | </ | ||
+ | |||
+ | Перечисляем все имеющиеся параметры в файле шаблона j2\\ | ||
+ | т.к. фактически это список словарей, | ||
+ | <code yaml> | ||
+ | {% for dest in my_dict_dests%} | ||
+ | [[DestDir]] | ||
+ | {% for item in dest.items() %} | ||
+ | {{ item[0] }} = "{{ item[1] }}" | ||
+ | {% endfor %} | ||
+ | {% endfor %} | ||
+ | </ | ||
+ | |||
+ | |||
+ | <code yaml> | ||
+ | </ | ||
+ | |||
+ | </ | ||
< | < | ||
- | < | + | < |
+ | [[https:// | ||
+ | [[https:// | ||
+ | |||
+ | Python скрипт нужно поместить в папку " | ||
<code yaml> | <code yaml> | ||
+ | - debug: | ||
+ | msg: "{{ lookup(' | ||
+ | - debug: | ||
+ | msg: "{{ lookup(' | ||
</ | </ | ||
</ | </ | ||
Строка 359: | Строка 418: | ||
< | < | ||
- | < | + | < |
+ | [[https:// | ||
+ | |||
+ | <code yaml> | ||
+ | - name: "find files" | ||
+ | find: | ||
+ | path: "/ | ||
+ | file_type: file | ||
+ | patterns: " | ||
+ | recurse: true | ||
+ | register: list_files | ||
+ | |||
+ | - name: "show list" | ||
+ | debug: | ||
+ | msg: "file: {{ item }}" | ||
+ | loop: "{{ list_files.files | map(attribute=' | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
<code yaml> | <code yaml> | ||
</ | </ | ||
</ | </ |