ansible.builtin.setup – Сбор фактов о удалённых хостах
Примечание
Этот модуль является частью ansible-base и включен во все установки Ansible. В большинстве случаев можно использовать короткое имя модуля setup даже без указания ключевого слова collections:. Несмотря на это, мы рекомендуем использовать FQCN для удобной ссылки на документацию по модулю и для предотвращения конфликтов с другими коллекциями, которые могут иметь то же самое имя модуля.
Описание
- Этот модуль автоматически вызывается playbook'ами для сбора полезных переменных о удалённых хостах, которые могут быть использованы в playbook'ах. Он также может быть выполнен напрямую
/usr/bin/ansibleдля проверки переменных, доступных на хосте. Ansible предоставляет много фактов о системе автоматически. - Этот модуль также поддерживается для Windows целей.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| fact_path путь добавлен в 1.3 ansible.builtin | Значение по умолчанию: "/etc/ansible/facts.d" | Путь, используемый для локальных фактов ansible ( *.fact) - файлы в этой папке будут выполняться (если исполняемые) и их результаты будут добавлены к фактам ansible_local. Если файл не исполняемый, он вместо этого читается. Формат файла/результатов может быть JSON или INI. Значение по умолчанию fact_path может быть указано в ansible.cfg при автоматическом вызове setup как части gather_facts. ПРИМЕЧАНИЕ - Для клиентов Windows результаты будут добавлены в переменную, названную в соответствии с локальным файлом (без расширения), а не ansible_local.Начиная с Ansible 2.1, хосты Windows могут использовать fact_path. Убедитесь, что этот путь существует на целевом хосте. Файлы в этом пути ДОЛЖНЫ быть скриптами PowerShell .ps1 которые выводят объект. Этот объект будет отформатирован Ansible как json, поэтому скрипт должен выводить сырой хеш-таблицу, массив или другой примитивный объект. |
| filter список / элементы=строка добавлен в 1.1 of ansible.builtin | Значение по умолчанию: [] | Если указано, возвращаются только факты, которые соответствуют одному из шаблонов в стиле оболочки (fnmatch). Пустой список по существу означает «нет фильтра». Начиная с Ansible 2.11, тип был изменён со строки на список, а значение по умолчанию стало пустым списком. Простая строка всё ещё принимается и работает как единственный шаблон. Поведение до Ansible 2.11 остаётся. |
| gather_subset список / элементы=строка добавлен в 2.1 of ansible.builtin | Значение по умолчанию: "all" | Если указано, ограничивает дополнительные собранные факты заданным подмножеством. Возможные значения: all, min, hardware, network, virtual, ohai, и facter. Можно указать список значений для задания большего подмножества. Значения также могут использоваться с предварительным ! для указания того, что конкретное подмножество не должно собираться. Например: !hardware,!network,!virtual,!ohai,!facter. Если !all указан, то собирается только минимальное подмножество. Чтобы избежать сбора даже минимального подмножества, укажите !all,!min. Чтобы собрать только определённые факты, используйте !all,!min, и укажите конкретные подмножества фактов. Используйте параметр filter, если вы не хотите отображать некоторые собранные факты. |
| gather_timeout целое число добавлен в 2.2 of ansible.builtin | Значение по умолчанию: 10 | Устанавливает время ожидания по умолчанию в секундах для сбора каждого факта. |
Примечания
Примечание
- В последующих выпусках будут добавлены дополнительные факты Ansible. Если установлены facter или ohai, переменные из этих программ также будут зафиксированы в файле JSON для использования в шаблонах. Эти переменные снабжены префиксами
facter_иohai_, чтобы легко определить их источник. Все переменные передаются вызывающей стороне. Использование фактов ansible и отказ от установки facter и ohai позволяет избежать зависимостей от Ruby на удалённых системах. (См. также community.general.facter и community.general.ohai.) - Параметр filter фильтрует только подключаемые ключи первого уровня ниже ansible_facts.
- Если целевой хост — Windows, у вас пока не будет возможности использовать
filter, поскольку это предоставляется более простым вариантом реализации модуля. - Этот модуль также поддерживается для Windows целей.
- Этот модуль должен выполняться с повышенными привилегиями на системах BSD для сбора фактов, таких как ansible_product_version.
- Поддерживает
check_mode.
Примеры
# Display facts from all hosts and store them indexed by I(hostname) at C(/tmp/facts).
# ansible all -m ansible.builtin.setup --tree /tmp/facts
# Display only facts regarding memory found by ansible on all hosts and output them.
# ansible all -m ansible.builtin.setup -a 'filter=ansible_*_mb'
# Display only facts returned by facter.
# ansible all -m ansible.builtin.setup -a 'filter=facter_*'
# Collect only facts returned by facter.
# ansible all -m ansible.builtin.setup -a 'gather_subset=!all,!any,facter'
- name: Collect only facts returned by facter
ansible.builtin.setup:
gather_subset:
- '!all'
- '!any'
- facter
- name: Collect only selected facts
ansible.builtin.setup:
filter:
- 'ansible_distribution'
- 'ansible_machine_id'
- 'ansible_*_mb'
# Display only facts about certain interfaces.
# ansible all -m ansible.builtin.setup -a 'filter=ansible_eth[0-2]'
# Restrict additional gathered facts to network and virtual (includes default minimum facts)
# ansible all -m ansible.builtin.setup -a 'gather_subset=network,virtual'
# Collect only network and virtual (excludes default minimum facts)
# ansible all -m ansible.builtin.setup -a 'gather_subset=!all,!any,network,virtual'
# Do not call puppet facter or ohai even if present.
# ansible all -m ansible.builtin.setup -a 'gather_subset=!facter,!ohai'
# Only collect the default minimum amount of facts:
# ansible all -m ansible.builtin.setup -a 'gather_subset=!all'
# Collect no facts, even the default minimum subset of facts:
# ansible all -m ansible.builtin.setup -a 'gather_subset=!all,!min'
# Display facts from Windows hosts with custom facts stored in C(C:\custom_facts).
# ansible windows -m ansible.builtin.setup -a "fact_path='c:\custom_facts'"
Авторы
- Команда Ansible Core
- Michael DeHaan
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ansible/builtin/setup_module.html