ansible.builtin.setup – Сбор фактов о удалённых хостах
Примечание
Этот модуль является частью ansible-base и включен во все установки Ansible. В большинстве случаев вы можете использовать короткое имя модуля setup, даже не указывая ключевое слово collections:. Несмотря на это, мы рекомендуем использовать FQCN для лёгкой ссылки на документацию модуля и для избежания конфликтов с другими коллекциями, которые могут иметь то же имя модуля.
Описание
- Этот модуль автоматически вызывается плейбуками для сбора полезных переменных об удалённых хостах, которые могут быть использованы в плейбуках. Его также можно выполнить напрямую с помощью
/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 версии ansible.builtin | Значение по умолчанию: "*" | Если указано, будут возвращены только факты, соответствующие этому шаблону (fnmatch) с подстановкой символов. |
| gather_subset строка добавлен в 2.1 версии 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 версии 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
# 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/ansible/builtin/setup_module.html