Spec-Zone.ru › Ansible

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 в качестве групп.

Варианты:

  • false
  • true ← (по умолчанию)

groups

словарь

добавлено в community.general 4.4.0

Добавляет узлы в группы на основе условий Jinja2.

По умолчанию: {}

host_filter

строка

Допустимый фильтр узлов для API Icinga2. Оставьте поле пустым, чтобы отключить фильтрацию.

inventory_attr

строка

добавлено в community.general 4.2.0

Позволяет переопределить имя в инвентаризации на основе других атрибутов.

Это позволяет изменить способ применения ограничений.

Текущее значение по умолчанию, address, иногда не является уникальным или отсутствует. Рекомендуем вместо него использовать name.

Варианты:

  • "name"
  • "display_name"
  • "address" ← (по умолчанию)

keyed_groups

список / элементы=словарь

добавлено в community.general 4.4.0

Добавляет узлы в группы на основе значений переменной.

По умолчанию: []

default_value

строка

добавлено в ansible-core 2.12

Значение по умолчанию, если значение переменной узла равно None или является пустой строкой.

Этот параметр нельзя использовать одновременно с keyed_groups[].trailing_separator.

key

строка

Ключ входного словаря, используемый для создания групп.

parent_group

строка

Родительская группа для группы с ключом.

prefix

строка

Имя группы с ключом будет начинаться с этого префикса.

По умолчанию: ""

separator

строка

Разделитель, используемый для формирования имени группы с ключом.

По умолчанию: "_"

trailing_separator

логическое значение

добавлено в ansible-core 2.12

Установите для этого параметра значение false, чтобы опустить keyed_groups[].separator после переменной узла, если её значение равно None или является пустой строкой.

Этот параметр нельзя использовать одновременно с keyed_groups[].default_value.

Варианты:

  • false
  • true ← (по умолчанию)

leading_separator

логическое значение

добавлено в ansible-core 2.11

Используется вместе с keyed_groups.

По умолчанию имя группы с ключом, для которой не задан префикс или разделитель, начинается с символа подчёркивания.

Это связано с тем, что префикс по умолчанию — "", а разделитель по умолчанию — "_".

Установите для этого параметра значение false, чтобы опустить начальный символ подчёркивания (или другой разделитель), если префикс не задан.

Если имя группы формируется на основе отображения, разделитель по-прежнему используется для объединения элементов.

Чтобы не использовать разделитель в имени группы, задайте для группы с ключом пустую строку в качестве разделителя.

Варианты:

  • false
  • true ← (по умолчанию)

password

строка / обязательный

Пароль для запросов к API.

plugin

строка / обязательный

Имя плагина.

Варианты:

  • "community.general.icinga2"

strict

логическое значение

добавлено в community.general 4.4.0

Если yes, недопустимые записи вызывают фатальную ошибку; в противном случае они пропускаются, и выполнение продолжается.

Поскольку в выражениях можно использовать факты, они могут быть доступны не всегда; по умолчанию такие ошибки игнорируются.

Варианты:

  • false ← (по умолчанию)
  • true

url

строка / обязательный

Корневой URL API Icinga2.

use_extra_vars

логическое значение

добавлено в ansible-core 2.11

Объединяет дополнительные переменные с доступными переменными для композиции (наивысший приоритет).

Варианты:

  • false ← (по умолчанию)
  • true

Конфигурация:

  • Запись INI:

    [inventory_plugins]
    use_extra_vars = false
    
  • Переменная окружения: ANSIBLE_INVENTORY_USE_EXTRA_VARS

user

строка / обязательный

Имя пользователя для запросов к API.

validate_certs

логическое значение

Включает или отключает проверку SSL-сертификата.

Варианты:

  • false
  • true ← (по умолчанию)

Примечание

Перечисленные выше записи конфигурации для каждого типа записи (переменная 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)

Авторы

  • Cliff Hults (@BongoEADGC6)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Обратиться за помощью
  • Сообщить об ошибке
  • Предложить новую функцию
  • Общение

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API