theforeman.foreman.foreman инвентаризация – Источник инвентаризации Foreman
Примечание
Этот плагин инвентаризации входит в состав коллекции theforeman.foreman (версия 4.2.0).
У вас, возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install theforeman.foreman. Для использования этого плагина инвентаризации потребуются дополнительные требования. Подробнее см. Требования.
Чтобы использовать его в книге задач, укажите: theforeman.foreman.foreman.
Описание
- Получение хостов инвентаризации из Foreman.
- Может использовать API отчетов (по умолчанию) или API хостов для получения информации о хостах.
- API отчетов быстрее при большом количестве хостов.
- API отчетов требует, чтобы на сервере Foreman был установлен плагин
foreman_ansible. - Некоторые параметры работают только при использовании 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, устарела. Вы можете передать use_reports_api в этом словаре для включения API отчетов. Только для обратной совместимости. |
group_prefix строка | Префикс для групп Foreman По умолчанию: |
groups словарь | Добавление хостов в группу на основе условных выражений Jinja2. По умолчанию: |
host_filters строка | Можно использовать для ограничения списка возвращаемых хостов |
hostnames список / элементы=строка | Список шаблонов в порядке приоритета для составления inventory_hostname. Если шаблон возвращает пустую строку или значение None, он игнорируется. По умолчанию: |
keyed_groups список / элементы=словарь | Добавление хостов в группу на основе значений переменной. По умолчанию: |
|
default_value строка добавлен в ansible-core 2.12 |
Значение по умолчанию, если значение переменной хоста — пустая строка. Этот параметр взаимоисключающий с |
|
key строка |
Ключ из входного словаря, используемый для создания групп |
|
parent_group строка |
родительская группа для keyed group |
|
prefix строка |
Имя группы keyed будет начинаться с этого префикса По умолчанию: |
|
separator строка |
Разделитель, используемый для построения имени ключевой группы По умолчанию: |
|
trailing_separator логический тип добавлен в ansible-core 2.12 |
Установите это значение в Этот параметр несовместим с Варианты:
|
leading_separator логический тип добавлен в ansible-core 2.11 | Используется совместно с keyed_groups. По умолчанию, имя ключевой группы, для которой не задан префикс или разделитель, начинается с символа подчёркивания. Это связано с тем, что по умолчанию префикс пустая строка, а разделитель — «_». Установите этот параметр в значение False, чтобы опустить начальный символ подчёркивания (или другой разделитель), если префикс не указан. Если имя группы получено из отображения, разделитель всё равно используется для конкатенации элементов. Чтобы вообще не использовать разделитель в имени группы, установите разделитель для ключевой группы в пустую строку. Варианты:
|
legacy_hostvars логический тип | Переключатель. Если значение true, плагин будет создавать устаревшие hostvars, присутствующие в скрипте Foreman. Размещает hostvars в словаре с ключами «foreman», «foreman_facts» и «foreman_params» Варианты:
|
max_timeout целое число | Таймаут перед переходом к старому API хоста при использовании конечной точки report_data при опросе. По умолчанию: |
password строка / обязательный параметр | Пароль пользователя, осуществляющего доступ к серверу Foreman. Настройка:
|
plugin строка / обязательный параметр | Токен, гарантирующий, что это файл источника для плагина Варианты:
|
poll_interval целое число | Интервал опроса между двумя вызовами конечной точки report_data при опросе. По умолчанию: |
report словарь | Конфигурация, специфичная для API отчётов, устаревшая. Вы можете передать параметры, специфичные для API отчётов, как часть этого словаря вместо основной конфигурации. Только для обратной совместимости. |
strict логический тип | Если Поскольку в выражениях можно использовать факты, они могут не всегда быть доступными, и по умолчанию такие ошибки игнорируются. Варианты:
|
url строка / обязательный параметр | URL сервера Foreman. Настройка:
|
use_extra_vars логический тип добавлен в ansible-core 2.11 | Объединить дополнительные переменные в доступные переменные для композиции (высший приоритет). Варианты:
Настройка:
|
use_reports_api логический тип | Использовать API отчётов. Варианты:
|
user строка / обязательный параметр | Имя пользователя, осуществляющего доступ к серверу Foreman. Настройка:
|
validate_certs boolean | Проверять ли TLS-сертификаты сервера Foreman. Choices:
Configuration:
|
vars_prefix string | Префикс для применения к переменным хоста, не включает факты или параметры Default: |
want_content_facet_attributes boolean | Переключатель, если true, инвентаризация будет получать сведения о представлении контента, к которому привязан хост. Применяется только к инвентаризациям, использующим API отчетов - в противном случае атрибут игнорируется. Choices:
|
want_facts boolean | Переключатель, если True, плагин будет получать факты хоста с сервера Choices:
|
want_host_group boolean | Переключатель, если true, инвентаризация будет получать host_groups и создавать группировки для них. Применяется только к инвентаризациям, использующим API отчетов - в противном случае атрибут игнорируется. Choices:
|
want_hostcollections boolean | Переключатель, если true, плагин будет создавать группы Ansible для коллекций хостов Choices:
|
want_ipv4 boolean | Переключатель, если true, инвентаризация будет получать ipv4-адрес хоста. Применяется только к инвентаризациям, использующим API отчетов - в противном случае атрибут игнорируется. Choices:
|
want_ipv6 boolean | Переключатель, если true, инвентаризация будет получать ipv6-адрес хоста. Применяется только к инвентаризациям, использующим API отчетов - в противном случае атрибут игнорируется. Choices:
|
want_location boolean | Переключатель, если true, инвентаризация будет получать местоположение, к которому принадлежит хост, и создавать группировки для него. Применяется только к инвентаризациям, использующим API отчетов - в противном случае атрибут игнорируется. Choices:
|
want_organization boolean | Переключатель, если true, инвентаризация будет получать организацию, к которой принадлежит хост, и создавать группировки для неё. Применяется только к инвентаризациям, использующим API отчетов - в противном случае атрибут игнорируется. Choices:
|
want_params boolean | Переключатель, если true, инвентаризация будет получать информацию ‘all_parameters’ как переменные хоста Choices:
|
want_smart_proxies boolean | Переключатель, если true, инвентаризация будет получать смарт-прокси, к которому зарегистрирован хост. Применяется только к инвентаризациям, использующим API отчетов - в противном случае атрибут игнорируется. Choices:
|
want_subnet boolean | Переключатель, если true, инвентаризация будет получать подсеть. Применяется только к инвентаризациям, использующим API отчетов - в противном случае атрибут игнорируется. Choices:
|
want_subnet_v6 boolean | Переключатель, если true, инвентаризация будет получать ipv6-подсеть. Применяется только к инвентаризациям, использующим API отчетов - в противном случае атрибут игнорируется. Choices:
|
Примеры
# my.foreman.yml
plugin: theforeman.foreman.foreman
url: https://foreman.example.com
user: ansibleinventory
password: changeme
host_filters: 'organization="Web Engineering"'
# shortname.foreman.yml
plugin: theforeman.foreman.foreman
url: https://foreman.example.com
user: ansibleinventory
password: changeme
hostnames:
- name.split('.')[0]
Подсказка
Записи конфигурации для каждого типа записи имеют порядок приоритетов от низкого к высокому. Например, переменная, которая находится ниже в списке, переопределит переменную, расположенную выше.
Ссылки на коллекции
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/theforeman/foreman/foreman_inventory.html