Инструменты пользователя

Инструменты сайта


service:ansible

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
service:ansible [11.09.2025 20:36] – [Цикл с фильтрацией элементов] viacheslavservice:ansible [02.10.2025 06:46] (текущий) – [Windows] viacheslav
Строка 499: Строка 499:
  
 ==== Шаблоны Jinja2 ==== ==== Шаблоны Jinja2 ====
 +<WRAP round tip 60%>
 +Чтобы избавить себя от возни с лишними строками и отступами в формируемом файле, нужно добавить в шаблон .j2
 +<code python>
 +#jinja2: lstrip_blocks:True
 +</code>
 +
 +> First, I’ll give you an easy, by far more preferable, way of taming whitespace and then we’ll dig into the more involving methods.
 +> So here it comes:
 +> //Always render with trim_blocks and lstrip_blocks options enabled.//
 +> That’s it, the big secret is out. Save yourself trouble and tell Jinja2 to apply trimming and stripping to all of the blocks.
 +[[https://ttl255.com/jinja2-tutorial-part-3-whitespace-control/|Jinja2 Tutorial - Part 3 - Whitespace control]]
 +
 +</WRAP>
 +
 +
 Это движок для подстановки переменных или для динамического формирования конфигурационных файлов. Ссылка на переменную идёт в любом файле yaml в двойных фигурных скобках. Это движок для подстановки переменных или для динамического формирования конфигурационных файлов. Ссылка на переменную идёт в любом файле yaml в двойных фигурных скобках.
 <code yaml> <code yaml>
Строка 641: Строка 656:
 </code> </code>
  
-Шаблон с отсевом значения ''/'' и условием по счётчику цикла. Дефис перед процентом в конце строки препятствует печати лишней пустой строки.+Шаблон с отсевом значения ''/''условием по счётчику цикла и контролем запятых в значении. Дефис перед процентом в конце строки препятствует печати лишней пустой строки.
 <code python># data dirs <code python># data dirs
 {% for dir in data_dirs if dir != "/" -%} {% for dir in data_dirs if dir != "/" -%}
 {% if loop.first -%} {% if loop.first -%}
-data_dir = {{ dir }},+data_dir = {{ dir }}{{ ',' if not loop.last else '' }}
 {% else -%} {% else -%}
-{{ dir }},+           {{ dir }}{{ ',' if not loop.last else '' }}
 {% endif -%} {% endif -%}
 {% else -%} {% else -%}
Строка 663: Строка 678:
 |loop.last |Булево True если это последняя итерация | |loop.last |Булево True если это последняя итерация |
 |loop.first |Общее число элементов в данной последовательности | |loop.first |Общее число элементов в данной последовательности |
 +https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_loops.html#extended-loop-variables
  
 ==== Динамические переменные ==== ==== Динамические переменные ====
Строка 886: Строка 901:
  
 Inventory.\\ Inventory.\\
-''ansible_winrm_transport=ntlm'', если доменная учётка, без этой настройки ошибка ''%%"msg": "plaintext: the specified credentials were rejected by the server"%%''.\\  
-Если используется WinRM HTTPS (порт 5986), то бывает полезным добавить опцию ''ansible_winrm_server_cert_validation=ignore'' 
 <code ini> <code ini>
 [server1] [server1]
 server1.example.com ansible_connection=winrm ansible_port=5985 ansible_winrm_transport=ntlm server1.example.com ansible_connection=winrm ansible_port=5985 ansible_winrm_transport=ntlm
 </code> </code>
 +<WRAP round important 80%>
 +Если возникает ошибка ''%%"msg": "plaintext: the specified credentials were rejected by the server"%%'', то использовать параметр ''ansible_winrm_transport=ntlm''\\ 
 +Если используется WinRM HTTPS (порт 5986), то бывает полезным добавить опцию ''ansible_winrm_server_cert_validation=ignore''
 +</WRAP>
 +
 +Пример ad-hoc
 +<code bash>
 +ansible all -i '192.168.1.111,' -e "ansible_connection=winrm" -e "ansible_port=5985" -e "ansible_winrm_transport=ntlm" -e "ansible_password=123456" -u user -m win_shell -a "dir ~\desktop"
 +</code>
 +
  
 Пример задачи. Для Windows лучше оборачивать переменные с путями в одинарные кавычки, т. к. там используется обратный слэш. Пример задачи. Для Windows лучше оборачивать переменные с путями в одинарные кавычки, т. к. там используется обратный слэш.
service/ansible.1757622987.txt.gz · Последнее изменение: viacheslav

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki