set_fact - Установка фактов хоста из задачи
Синопсис
- Этот модуль позволяет устанавливать новые переменные. Переменные устанавливаются для каждого хоста, так же как и факты, обнаруженные модулем setup.
- Эти переменные будут доступны последующим задачам во время выполнения ansible-playbook, но не будут сохранены между выполнениями, даже если вы используете кэш фактов.
- В соответствии со стандартными правилами приоритета переменных Ansible, многие другие типы переменных имеют более высокий приоритет, поэтому это значение может быть перезаписано. Дополнительную информацию см. в http://docs.ansible.com/ansible/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable.
- Этот модуль также поддерживается для целевых систем Windows.
Параметры
| параметр | обязательно | по умолчанию | выбор | комментарии |
|---|---|---|---|---|
| cacheable (добавлено в 2.4)
| нет | Этот логический параметр указывает, будет ли установленный факт добавлен в кэш фактов, если включен кэширование фактов. | ||
| key_value | да | Модуль set_fact принимает пары ключ=значение в качестве переменных для установки в области действия книги задач. Или, альтернативно, принимает сложные аргументы, используя инструкцию args:. |
Примеры
# 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
Примечания
Примечание
- Нотация
var=valueможет создавать только строки или булевы значения. Если вы хотите создать списки/массивы или словари/хеши, используйтеvar: [val1, val2] - Этот модуль также поддерживается для целевых систем Windows.
- Поскольку «cacheable» теперь является параметром модуля, «cacheable» больше не является допустимым именем факта с версии 2.4.
Статус
Этот модуль помечен как stableinterface, что означает, что авторы этого модуля гарантируют, что не будут внесены несовместимые изменения в интерфейс.
Информация о поддержке
Дополнительную информацию о поддержке этого модуля компанией Red Hat см. в этом knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>
Для получения помощи в разработке модулей, если вы заинтересованы, пожалуйста, прочтите Информация о сообществе и участие в разработке, Тестирование Ansible и Разработка модулей.
© 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/set_fact_module.html