Spec-Zone.ru › Ansible

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 за один вызов.

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

cache

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

Включение/выключение кэширования исходных данных инвентаризации. Требуется настройка плагина кэша для работы.

Варианты:

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

Настройка:

  • Запись в INI:

    [inventory]
    cache = false
    
  • Переменная окружения: ANSIBLE_INVENTORY_CACHE

cache_connection

строка

Данные или путь к подключению к кэшу. Для подробностей см. документацию по плагину кэша.

Настройка:

  • Записи в INI:

    [defaults]
    fact_caching_connection = VALUE
    
    [inventory]
    cache_connection = VALUE
    
  • Переменная окружения: ANSIBLE_CACHE_PLUGIN_CONNECTION
  • Переменная окружения: ANSIBLE_INVENTORY_CACHE_CONNECTION

cache_plugin

строка

Плагин кэша для использования исходных данных инвентаризации.

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

Настройка:

  • Записи в INI:

    [defaults]
    fact_caching = memory
    
    [inventory]
    cache_plugin = memory
    
  • Переменная окружения: ANSIBLE_CACHE_PLUGIN
  • Переменная окружения: ANSIBLE_INVENTORY_CACHE_PLUGIN

cache_prefix

строка

Префикс для файлов/таблиц плагина кэша

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

Настройка:

  • Записи в INI:

    [defaults]
    fact_caching_prefix = ansible_inventory_
    
    [inventory]
    cache_prefix = ansible_inventory_
    
  • Переменная окружения: ANSIBLE_CACHE_PLUGIN_PREFIX
  • Переменная окружения: ANSIBLE_INVENTORY_CACHE_PLUGIN_PREFIX

cache_timeout

целое число

Срок действия кэша в секундах

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

Настройка:

  • Записи в INI:

    [defaults]
    fact_caching_timeout = 3600
    
    [inventory]
    cache_timeout = 3600
    
  • Переменная окружения: ANSIBLE_CACHE_PLUGIN_TIMEOUT
  • Переменная окружения: ANSIBLE_INVENTORY_CACHE_TIMEOUT

compose

словарь

Создание переменных из выражений Jinja2.

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

foreman

строка

Настройка, связанная с сервером Foreman, устарела.

Вы можете передать use_reports_api в этом словаре для включения API отчетов.

Только для обратной совместимости.

group_prefix

строка

Префикс для групп Foreman

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

groups

словарь

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

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

host_filters

строка

Можно использовать для ограничения списка возвращаемых хостов

hostnames

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

Список шаблонов в порядке приоритета для составления inventory_hostname.

Если шаблон возвращает пустую строку или значение None, он игнорируется.

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

keyed_groups

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

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

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

default_value

строка

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

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

Этот параметр взаимоисключающий с keyed_groups[].trailing_separator.

key

строка

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

parent_group

строка

родительская группа для keyed group

prefix

строка

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

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

separator

строка

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

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

trailing_separator

логический тип

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

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

Этот параметр несовместим с keyed_groups[].default_value.

Варианты:

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

leading_separator

логический тип

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

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

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

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

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

Если имя группы получено из отображения, разделитель всё равно используется для конкатенации элементов.

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

Варианты:

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

legacy_hostvars

логический тип

Переключатель. Если значение true, плагин будет создавать устаревшие hostvars, присутствующие в скрипте Foreman.

Размещает hostvars в словаре с ключами «foreman», «foreman_facts» и «foreman_params»

Варианты:

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

max_timeout

целое число

Таймаут перед переходом к старому API хоста при использовании конечной точки report_data при опросе.

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

password

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

Пароль пользователя, осуществляющего доступ к серверу Foreman.

Настройка:

  • Переменная среды: FOREMAN_PASSWORD

plugin

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

Токен, гарантирующий, что это файл источника для плагина foreman.

Варианты:

  • "theforeman.foreman.foreman"

poll_interval

целое число

Интервал опроса между двумя вызовами конечной точки report_data при опросе.

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

report

словарь

Конфигурация, специфичная для API отчётов, устаревшая.

Вы можете передать параметры, специфичные для API отчётов, как часть этого словаря вместо основной конфигурации.

Только для обратной совместимости.

strict

логический тип

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

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

Варианты:

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

url

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

URL сервера Foreman.

Настройка:

  • Переменная среды: FOREMAN_SERVER
  • Переменная среды: FOREMAN_SERVER_URL
  • Переменная среды: FOREMAN_URL

use_extra_vars

логический тип

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

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

Варианты:

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

Настройка:

  • Запись INI:

    [inventory_plugins]
    use_extra_vars = false
    
  • Переменная среды: ANSIBLE_INVENTORY_USE_EXTRA_VARS

use_reports_api

логический тип

Использовать API отчётов.

Варианты:

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

user

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

Имя пользователя, осуществляющего доступ к серверу Foreman.

Настройка:

  • Переменная среды: FOREMAN_USER
  • Переменная среды: FOREMAN_USERNAME

validate_certs

boolean

Проверять ли TLS-сертификаты сервера Foreman.

Choices:

  • false
  • true ← (default)

Configuration:

  • Переменная окружения: FOREMAN_VALIDATE_CERTS

vars_prefix

string

Префикс для применения к переменным хоста, не включает факты или параметры

Default: "foreman_"

want_content_facet_attributes

boolean

Переключатель, если true, инвентаризация будет получать сведения о представлении контента, к которому привязан хост.

Применяется только к инвентаризациям, использующим API отчетов - в противном случае атрибут игнорируется.

Choices:

  • false
  • true ← (default)

want_facts

boolean

Переключатель, если True, плагин будет получать факты хоста с сервера

Choices:

  • false ← (default)
  • true

want_host_group

boolean

Переключатель, если true, инвентаризация будет получать host_groups и создавать группировки для них.

Применяется только к инвентаризациям, использующим API отчетов - в противном случае атрибут игнорируется.

Choices:

  • false
  • true ← (default)

want_hostcollections

boolean

Переключатель, если true, плагин будет создавать группы Ansible для коллекций хостов

Choices:

  • false ← (default)
  • true

want_ipv4

boolean

Переключатель, если true, инвентаризация будет получать ipv4-адрес хоста.

Применяется только к инвентаризациям, использующим API отчетов - в противном случае атрибут игнорируется.

Choices:

  • false
  • true ← (default)

want_ipv6

boolean

Переключатель, если true, инвентаризация будет получать ipv6-адрес хоста.

Применяется только к инвентаризациям, использующим API отчетов - в противном случае атрибут игнорируется.

Choices:

  • false
  • true ← (default)

want_location

boolean

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

Применяется только к инвентаризациям, использующим API отчетов - в противном случае атрибут игнорируется.

Choices:

  • false
  • true ← (default)

want_organization

boolean

Переключатель, если true, инвентаризация будет получать организацию, к которой принадлежит хост, и создавать группировки для неё.

Применяется только к инвентаризациям, использующим API отчетов - в противном случае атрибут игнорируется.

Choices:

  • false
  • true ← (default)

want_params

boolean

Переключатель, если true, инвентаризация будет получать информацию ‘all_parameters’ как переменные хоста

Choices:

  • false ← (default)
  • true

want_smart_proxies

boolean

Переключатель, если true, инвентаризация будет получать смарт-прокси, к которому зарегистрирован хост.

Применяется только к инвентаризациям, использующим API отчетов - в противном случае атрибут игнорируется.

Choices:

  • false
  • true ← (default)

want_subnet

boolean

Переключатель, если true, инвентаризация будет получать подсеть.

Применяется только к инвентаризациям, использующим API отчетов - в противном случае атрибут игнорируется.

Choices:

  • false
  • true ← (default)

want_subnet_v6

boolean

Переключатель, если true, инвентаризация будет получать ipv6-подсеть.

Применяется только к инвентаризациям, использующим API отчетов - в противном случае атрибут игнорируется.

Choices:

  • false
  • true ← (default)

Примеры

# 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

Spec-Zone.ru

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