Spec-Zone.ru › Ansible 2.10

ansible.builtin.set_fact – Установка фактов хоста из задачи

Примечание

Этот модуль является частью ansible-base и включён во все установки Ansible. В большинстве случаев вы можете использовать короткое имя модуля set_fact даже без указания ключевого слова collections:. Несмотря на это, мы рекомендуем использовать FQCN для лёгкой ссылки на документацию модуля и для избежания конфликтов с другими коллекциями, которые могут иметь то же имя модуля.

Введено в версии 1.2: of ansible.builtin

  • Описание
  • Параметры
  • Примечания
  • См. также
  • Примеры

Описание

  • Этот модуль позволяет устанавливать новые переменные.
  • Переменные устанавливаются для каждого хоста, так же как и факты, обнаруживаемые модулем setup.
  • Эти переменные будут доступны последующим задачам во время выполнения ansible-playbook.
  • Установите cacheable на yes, чтобы сохранить переменные между выполнениями с помощью кэша фактов. Переменные, созданные с помощью set_fact, имеют разный приоритет в зависимости от того, кэшируются они или нет.
  • В соответствии со стандартными правилами приоритета переменных Ansible, многие другие типы переменных имеют более высокий приоритет, поэтому это значение может быть перезаписано.
  • Этот модуль также поддерживается для целевых систем Windows.

Примечание

Этот модуль имеет соответствующий плагин действий.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
cacheable
boolean
добавлен в 2.4 ansible.builtin
    Варианты:
  • нет ←
  • да
Этот булевый параметр преобразует переменную в фактический «факт», который также будет добавлен в кэш фактов, если кэширование фактов включено.
Обычно этот модуль создаёт «переменные уровня хоста» с очень высоким приоритетом; этот параметр изменяет природу и приоритет (на 7 уровней) создаваемой переменной. https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable
Это фактически создаёт 2 копии переменной: обычную переменную хоста «set_fact» с высоким приоритетом и переменную «ansible_fact» с более низким приоритетом, доступную для сохранения через плагин кэша фактов. Это создаёт потенциально запутанное взаимодействие с meta: clear_facts, так как он удалит «ansible_fact», но не переменную хоста.
key_value
строка / обязательно
Модуль set_fact принимает пары «ключ=значение» в качестве переменных для установки в области выполнения playbook. Или же, он принимает сложные аргументы с использованием инструкции args:.

Примечания

Примечание

  • Нотация var=value может создавать только строки или булевы значения. Если вы хотите создать списки/массивы или словари/хеши, используйте var: [val1, val2].
  • Поскольку «cacheable» теперь является параметром модуля, «cacheable» больше не является допустимым именем факта, начиная с Ansible 2.4.
  • Этот модуль также поддерживается для целевых систем Windows.

См. также

См. также

ansible.builtin.include_vars

Официальная документация модуля ansible.builtin.include_vars.

Приоритет переменных: Где следует поместить переменную?

Дополнительная информация о приоритете переменных и о том, какой тип переменной имеет преимущество перед другими.

Примеры

- name: Setting host facts using key=value pairs, note that this always creates strings or booleans
  set_fact: one_fact="something" other_fact="{{ local_var }}"

- name: 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 }}"

- name: Setting facts so that they will be persisted in the fact cache
  set_fact:
    one_fact: something
    other_fact: "{{ local_var * 2 }}"
    cacheable: yes

# As of Ansible 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:
- name:  Setting booleans using complex argument style
  set_fact:
    one_fact: yes
    other_fact: no

Авторы

  • 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.10/collections/ansible/builtin/set_fact_module.html

Spec-Zone.ru

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