community.general.icinga2 inventory – источник инвентаризации Icinga2
Примечание
Этот плагин инвентаризации входит в коллекцию community.general (версия 12.6.1).
Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general.
Чтобы использовать коллекцию в плейбуке, укажите: community.general.icinga2.
Добавлено в community.general 3.7.0
Краткое описание
- Получает узлы инвентаризации из API Icinga2.
- Использует файл конфигурации в качестве источника инвентаризации; его имя должно заканчиваться на
.icinga2.ymlили.icinga2.yaml.
Параметры
Параметр | Комментарии |
|---|---|
compose словарь добавлено в community.general 4.4.0 | Создаёт переменные на основе выражений Jinja2. По умолчанию: |
group_by_hostgroups логическое значение добавлено в community.general 8.4.0 | Использует группы узлов Icinga2 в качестве групп. Варианты:
|
groups словарь добавлено в community.general 4.4.0 | Добавляет узлы в группы на основе условий Jinja2. По умолчанию: |
host_filter строка | Допустимый фильтр узлов для API Icinga2. Оставьте поле пустым, чтобы отключить фильтрацию. |
inventory_attr строка добавлено в community.general 4.2.0 | Позволяет переопределить имя в инвентаризации на основе других атрибутов. Это позволяет изменить способ применения ограничений. Текущее значение по умолчанию, Варианты:
|
keyed_groups список / элементы=словарь добавлено в community.general 4.4.0 | Добавляет узлы в группы на основе значений переменной. По умолчанию: |
|
default_value строка добавлено в ansible-core 2.12 |
Значение по умолчанию, если значение переменной узла равно Этот параметр нельзя использовать одновременно с |
|
key строка |
Ключ входного словаря, используемый для создания групп. |
|
parent_group строка |
Родительская группа для группы с ключом. |
|
prefix строка |
Имя группы с ключом будет начинаться с этого префикса. По умолчанию: |
|
separator строка |
Разделитель, используемый для формирования имени группы с ключом. По умолчанию: |
|
trailing_separator логическое значение добавлено в ansible-core 2.12 |
Установите для этого параметра значение Этот параметр нельзя использовать одновременно с Варианты:
|
leading_separator логическое значение добавлено в ansible-core 2.11 | Используется вместе с По умолчанию имя группы с ключом, для которой не задан префикс или разделитель, начинается с символа подчёркивания. Это связано с тем, что префикс по умолчанию — Установите для этого параметра значение Если имя группы формируется на основе отображения, разделитель по-прежнему используется для объединения элементов. Чтобы не использовать разделитель в имени группы, задайте для группы с ключом пустую строку в качестве разделителя. Варианты:
|
password строка / обязательный | Пароль для запросов к API. |
plugin строка / обязательный | Имя плагина. Варианты:
|
strict логическое значение добавлено в community.general 4.4.0 | Если Поскольку в выражениях можно использовать факты, они могут быть доступны не всегда; по умолчанию такие ошибки игнорируются. Варианты:
|
url строка / обязательный | Корневой URL API Icinga2. |
use_extra_vars логическое значение добавлено в ansible-core 2.11 | Объединяет дополнительные переменные с доступными переменными для композиции (наивысший приоритет). Варианты:
Конфигурация:
|
user строка / обязательный | Имя пользователя для запросов к API. |
validate_certs логическое значение | Включает или отключает проверку SSL-сертификата. Варианты:
|
Примечание
Перечисленные выше записи конфигурации для каждого типа записи (переменная Ansible, переменная окружения и т. д.) расположены в порядке от низкого приоритета к высокому. Например, переменная, расположенная ниже в списке, переопределит переменную, расположенную выше. Типы записей также упорядочены по приоритету от низкого к высокому. Например, запись ansible.cfg (расположенная выше в списке) переопределяется переменной Ansible (расположенной ниже в списке).
Примечания
Примечание
- На этом этапе инвентаризация ещё не сформирована окончательно, поэтому автоматически заполняемые группы
allиungroupedбудут содержать только то, что в них явно добавили предыдущие источники инвентаризации. - Во время построения инвентаризации динамические «магические переменные» недоступны. Например,
groupsиhostvarsещё не существуют.
Примеры
# my.icinga2.yml
plugin: community.general.icinga2
url: http://localhost:5665
user: ansible
password: secure
host_filter: \"linux-servers\" in host.groups
validate_certs: false # only do this when connecting to localhost!
inventory_attr: name
groups:
# simple name matching
webservers: inventory_hostname.startswith('web')
# using icinga2 template
databaseservers: "'db-template' in (icinga2_attributes.templates|list)"
compose:
# set all icinga2 attributes to a host variable 'icinga2_attrs'
icinga2_attrs: icinga2_attributes
# set 'ansible_user' and 'ansible_port' from icinga2 host vars
ansible_user: icinga2_attributes.vars.ansible_user
ansible_port: icinga2_attributes.vars.ansible_port | default(22)
Ссылки на коллекцию
© 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/community/general/icinga2_inventory.html