Spec-Zone.ru › Ansible 2.6

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

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

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

Теги YAML и типы Python

Документация, представленная здесь, является расширением документации, которая может быть найдена в Документации PyYAML.

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

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

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'

См. также

Переменные
Все о переменных
Список рассылки пользователей
Есть вопрос? Заходите на форум!
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.5/user_guide/playbooks_advanced_syntax.html

Spec-Zone.ru

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