set_fact – Установка фактов хоста из задания
Описание
- Этот модуль позволяет устанавливать новые переменные. Переменные устанавливаются для каждого хоста, точно так же, как факты, обнаруженные модулем настройки.
- Эти переменные будут доступны последующим заданиям во время выполнения ansible-playbook, но не будут сохраняться между выполнениями, даже если вы используете кэш фактов.
- Согласно стандартным правилам приоритета переменных Ansible, многие другие типы переменных имеют более высокий приоритет, поэтому это значение может быть переопределено. Подробнее см. Руководство по приоритету переменных.
- Этот модуль также поддерживается для целевых систем Windows.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| cacheable boolean добавлено в 2.4 |
| Этот boolean указывает, будет ли установленный факт также добавлен в кэш фактов, если кэширование фактов включено. |
| key_value - / обязательно | Модуль set_fact принимает пары ключ=значение в качестве переменных для установки в области действия книги задач. Или же, он принимает сложные аргументы, используя выражение args:. |
Примечания
Примечание
- Обозначение
var=valueможет создавать только строки или булевы значения. Если вы хотите создать списки/массивы или словари/хэши, используйтеvar: [val1, val2]. - Этот модуль также поддерживается для целевых систем Windows.
- Так как ‘cacheable’ теперь является параметром модуля, ‘cacheable’ больше не является допустимым именем факта начиная с версии 2.4.
Примеры
# Example setting host facts using key=value pairs, note that this always creates strings or booleans
- set_fact: one_fact="something" other_fact="{{ local_var }}"
# Example setting host facts using complex arguments
- set_fact:
one_fact: something
other_fact: "{{ local_var * 2 }}"
another_fact: "{{ some_registered_var.results | map(attribute='ansible_facts.some_fact') | list }}"
# Example setting facts so that they will be persisted in the fact cache
- set_fact:
one_fact: something
other_fact: "{{ local_var * 2 }}"
cacheable: true
# As of 1.8, Ansible will convert boolean strings ('true', 'false', 'yes', 'no')
# to proper boolean values when using the key=value syntax, however it is still
# recommended that booleans be set using the complex argument style:
- set_fact:
one_fact: true
other_fact: false
Статус
- Данный модуль гарантированно не будет содержать изменений интерфейса, несовместимых со старыми версиями. [stableinterface]
- Этот модуль поддерживается Командой разработчиков Ansible. [core]
Поддержка Red Hat
Дополнительную информацию о поддержке данного модуля Red Hat можно найти в статье базы знаний Red Hat Red Hat Knowledge Base article.
Авторы
- Dag Wieers (@dagwieers)
Подсказка
Если вы обнаружите какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/set_fact_module.html