Spec-Zone.ru › Ansible 2.4

Расширенный синтаксис

  • Теги YAML и типы Python
    • Небезопасные или сырые строки

Эта страница описывает расширенный синтаксис YAML, который позволяет вам иметь больший контроль над данными, размещенными в файлах YAML, используемых Ansible.

Теги YAML и типы Python

Здесь представлено дополнение к документации, которое можно найти в документации PyYAML

Небезопасные или сырые строки

Начиная с Ansible 2.0, существует внутренний тип данных для объявления значений переменных как «небезопасных». Это означает, что данные, содержащиеся в значении переменной, должны рассматриваться как небезопасные, предотвращая подстановку небезопасных символов и раскрытие информации.

Jinja2 содержит функциональность для экранирования или указания Jinja2 не шаблонизировать данные с помощью функций, таких как {% raw %} ... {% endraw %}, однако это использует более полную реализацию для обеспечения того, что значение никогда не будет шаблонизировано.

Используя теги YAML, вы также можете пометить значение как «небезопасное», используя тег !unsafe например:

---
my_unsafe_variable: !unsafe 'this variable has {{ characters that should not be treated as a jinja2 template'

В книге задач это может выглядеть так:

---
hosts: all
vars:
    my_unsafe_variable: !unsafe 'unsafe value'
tasks:
    ...

Для сложных переменных, таких как хеши или массивы, !unsafe следует использовать для отдельных элементов, например:

---
my_unsafe_array:
    - !unsafe 'unsafe element'
    - 'safe element'

my_unsafe_hash:
    unsafe_key: !unsafe 'unsafe value'

См. также

Переменные
Все о переменных
Пользовательский список рассылки
У вас есть вопрос? Заходите в группу Google!
irc.freenode.net
#ansible IRC чат-канал

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/playbooks_advanced_syntax.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API