theforeman.foreman.foreman inventory — источник инвентаризации Foreman
Примечание
Этот плагин инвентаризации входит в коллекцию theforeman.foreman (версия 5.11.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install theforeman.foreman. Для использования этого плагина инвентаризации необходимы дополнительные требования; подробности см. в разделе Требования.
Чтобы использовать его в плейбуке, укажите: theforeman.foreman.foreman.
Краткое описание
- Получение узлов инвентаризации из Foreman.
- Для получения сведений об узлах можно использовать Reports API (по умолчанию) или Hosts API.
- Reports API работает быстрее при большом количестве узлов.
- Для работы Reports API на сервере Foreman необходимо установить плагин
foreman_ansible. - Некоторые параметры работают только при использовании Reports API.
- Используется файл конфигурации YAML с окончанием ``foreman.(yml|yaml)``.
Требования
Следующие требования необходимы на локальном управляющем узле, который выполняет эту инвентаризацию.
- requests >= 1.1
Параметры
Параметр | Комментарии |
|---|---|
batch_size целое число | Количество узлов в пакете, получаемом из API Foreman за один вызов По умолчанию: |
cache логический | Включает или отключает кэширование исходных данных инвентаризации; для работы требуется настроенный плагин кэширования. Варианты:
Конфигурация:
|
cache_connection строка | Данные подключения к кэшу или путь; подробности см. в документации плагина кэширования. Конфигурация:
|
cache_plugin строка | Плагин кэширования, используемый для исходных данных инвентаризации. По умолчанию: Конфигурация:
|
cache_prefix строка | Префикс для файлов/таблиц плагина кэширования. По умолчанию: Конфигурация:
|
cache_timeout целое число | Срок хранения кэша в секундах. По умолчанию: Конфигурация:
|
compose словарь | Создание переменных из выражений Jinja2. По умолчанию: |
foreman строка | Конфигурация сервера Foreman, устарела. Чтобы включить Reports API, можно передать use_reports_api в этом словаре. Только для обеспечения обратной совместимости. |
group_prefix строка | Префикс для групп Foreman По умолчанию: |
groups словарь | Добавление узлов в группы на основе условий Jinja2. По умолчанию: |
host_filters строка | Можно использовать для ограничения списка возвращаемых узлов |
hostnames список / элементы=строка | Список шаблонов, упорядоченных по приоритету, для формирования inventory_hostname. Если шаблон возвращает пустую строку или значение None, он игнорируется. По умолчанию: |
keyed_groups список / элементы=словарь | Добавление узлов в группы на основе значений переменной. По умолчанию: |
|
default_value строка добавлено в ansible-core 2.12 |
Значение по умолчанию, если значение переменной узла равно Этот параметр нельзя использовать вместе с |
|
key строка |
Ключ входного словаря, используемый для создания групп. |
|
parent_group строка |
Родительская группа для группы, созданной по ключу. |
|
prefix строка |
Имя группы, созданной по ключу, будет начинаться с этого префикса. По умолчанию: |
|
separator строка |
Разделитель для формирования имени группы, созданной по ключу. По умолчанию: |
|
trailing_separator логический добавлено в ansible-core 2.12 |
Установите для этого параметра значение Этот параметр нельзя использовать вместе с Варианты:
|
leading_separator логический добавлено в ansible-core 2.11 | Используется вместе с По умолчанию имя группы, созданной по ключу, для которой не указан префикс или разделитель, начинается с символа подчёркивания. Это связано с тем, что префиксом по умолчанию является Установите для этого параметра значение Если имя группы формируется из соответствия, разделитель по-прежнему используется для объединения элементов. Чтобы вообще не использовать разделитель в имени группы, задайте для группы, созданной по ключу, пустую строку в качестве разделителя. Варианты:
|
legacy_hostvars логический | Переключатель: если включён, плагин формирует устаревшие hostvars, присутствующие в скрипте Foreman Помещает hostvars в словарь с ключами `foreman`, `foreman_facts` и `foreman_params` Варианты:
|
max_timeout целое число | Тайм-аут перед переходом к старому API узлов при опросе конечной точки report_data. По умолчанию: |
password строка / обязательный | Пароль пользователя, обращающегося к серверу Foreman. Конфигурация:
|
plugin строка / обязательный | Токен, подтверждающий, что это файл источника для плагина Варианты:
|
poll_interval целое число | Интервал между двумя вызовами конечной точки report_data при опросе. По умолчанию: |
report словарь | Конфигурация, относящаяся к Reports API, устарела. Можно передать параметры Reports API в этом словаре вместо основной конфигурации. Только для обеспечения обратной совместимости. |
strict логический | Если Поскольку в выражениях можно использовать факты, они могут быть доступны не всегда; по умолчанию такие ошибки игнорируются. Варианты:
|
url строка / обязательный | URL сервера Foreman. Конфигурация:
|
use_extra_vars логический добавлено в ansible-core 2.11 | Объединить дополнительные переменные с доступными переменными для формирования (наивысший приоритет). Варианты:
Конфигурация:
|
use_reports_api логический | Использовать Reports API. Варианты:
|
user строка / обязательный | Имя пользователя, обращающегося к серверу Foreman. Конфигурация:
|
validate_certs логический | Проверять ли TLS-сертификаты сервера Foreman. Варианты:
Конфигурация:
|
vars_prefix строка | Префикс для переменных узла; не применяется к фактам и параметрам По умолчанию: |
want_content_facet_attributes логический | Переключатель: если включён, инвентаризация получает сведения о представлении содержимого, с которым связан узел. Применяется только к инвентаризациям, использующим Reports API; в противном случае атрибут игнорируется. Варианты:
|
want_facts логический | Переключатель: если включён, плагин получает факты узлов с сервера Варианты:
|
want_host_group логический | Переключатель: если включён, инвентаризация получает host_groups и создаёт соответствующие группы. Применяется только к инвентаризациям, использующим Reports API; в противном случае атрибут игнорируется. Варианты:
|
want_hostcollections логический | Переключатель: если включён, плагин создаёт группы Ansible для коллекций узлов Варианты:
|
want_ipv4 логический | Переключатель: если включён, инвентаризация получает IPv4-адрес узла. Применяется только к инвентаризациям, использующим Reports API; в противном случае атрибут игнорируется. Варианты:
|
want_ipv6 логический | Переключатель: если включён, инвентаризация получает IPv6-адрес узла. Применяется только к инвентаризациям, использующим Reports API; в противном случае атрибут игнорируется. Варианты:
|
want_location логический | Переключатель: если включён, инвентаризация получает сведения о местоположении узла и создаёт соответствующие группы. Применяется только к инвентаризациям, использующим Reports API; в противном случае атрибут игнорируется. Варианты:
|
want_organization логический | Переключатель: если включён, инвентаризация получает сведения об организации узла и создаёт соответствующие группы. Применяется только к инвентаризациям, использующим Reports API; в противном случае атрибут игнорируется. Варианты:
|
want_params логический | Переключатель: если включён, инвентаризация получает сведения ‘all_parameters’ в качестве переменных узла Варианты:
|
want_smart_proxies boolean | Если включено, инвентаризация получит данные о смарт-прокси, к которому зарегистрирован узел. Применяется только к инвентаризациям, использующим Reports API; в противном случае этот атрибут игнорируется. Варианты:
|
want_subnet boolean | Если включено, инвентаризация получит данные о подсети. Применяется только к инвентаризациям, использующим Reports API; в противном случае этот атрибут игнорируется. Варианты:
|
want_subnet_v6 boolean | Если включено, инвентаризация получит данные о подсети IPv6. Применяется только к инвентаризациям, использующим Reports API; в противном случае этот атрибут игнорируется. Варианты:
|
Примечание
Параметры конфигурации, перечисленные выше для каждого типа записей (переменная Ansible, переменная среды и т. д.), упорядочены от низкого к высокому приоритету. Например, переменная, расположенная ниже в списке, переопределит переменную, расположенную выше. Типы записей также упорядочены по приоритету от низкого к высокому. Например, запись ansible.cfg (расположенная выше в списке) переопределяется переменной Ansible (расположенной ниже в списке).
Примечания
Примечание
- На этом этапе инвентаризация еще не завершена, поэтому автоматически заполненные группы
allиungroupedбудут содержать только данные, явно добавленные в них предыдущими источниками инвентаризации. - «Магические переменные» времени выполнения недоступны во время формирования инвентаризации. Например, переменные
groupsиhostvarsеще не существуют.
Примеры
# my.foreman.yml
plugin: theforeman.foreman.foreman
url: https://foreman.example.com
user: ansibleinventory
password: changeme
# Only fetch hosts in the Web Engineering organization
host_filters: 'organization="Web Engineering"'
# Use short names (not FQDN) for the hosts in the intentory
hostnames:
- name.split('.')[0]
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/theforeman/foreman/foreman_inventory.html