Spec-Zone.ru › Ansible

community.hrobot.robot inventory – Hetzner Robot inventory source

Примечание

Этот плагин инвентаризации входит в состав коллекции community.hrobot (версия 2.0.2).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.hrobot.

Чтобы использовать его в книге задач, укажите: community.hrobot.robot.

Новое в community.hrobot 1.1.0

  • Краткое описание
  • Параметры
  • Примечания
  • Примеры

Краткое описание

  • Считывает серверы из API Hetzner Robot.
  • Использует файл конфигурации YAML, который заканчивается robot.yml или robot.yaml.
  • Плагин инвентаризации добавляет все значения из https://robot.your-server.de/doc/webservice/en.html#get-server, добавленные с помощью hrobot_ в инвентарь сервера. Например, переменная hrobot_dc содержит данные о дата-центре, в котором расположен сервер.

Параметры

Параметр

Комментарии

cache

boolean

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

Варианты:

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

Настройка:

  • Запись INI:

    [inventory]
    cache = false
    
  • Переменная среды: ANSIBLE_INVENTORY_CACHE

cache_connection

string

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

Настройка:

  • Записи INI:

    [defaults]
    fact_caching_connection = VALUE
    
    [inventory]
    cache_connection = VALUE
    
  • Переменная среды: ANSIBLE_CACHE_PLUGIN_CONNECTION
  • Переменная среды: ANSIBLE_INVENTORY_CACHE_CONNECTION

cache_plugin

string

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

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

Настройка:

  • Записи INI:

    [defaults]
    fact_caching = memory
    
    [inventory]
    cache_plugin = memory
    
  • Переменная среды: ANSIBLE_CACHE_PLUGIN
  • Переменная среды: ANSIBLE_INVENTORY_CACHE_PLUGIN

cache_prefix

string

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

По умолчанию: "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

integer

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

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

Настройка:

  • Записи INI:

    [defaults]
    fact_caching_timeout = 3600
    
    [inventory]
    cache_timeout = 3600
    
  • Переменная среды: ANSIBLE_CACHE_PLUGIN_TIMEOUT
  • Переменная среды: ANSIBLE_INVENTORY_CACHE_TIMEOUT

compose

dictionary

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

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

filters

list / elements=dictionary

добавлено в community.hrobot 2.0.0

Список фильтров включения/исключения, которые позволяют выбирать/отключать хосты для данной инвентаризации.

Фильтры обрабатываются последовательно, пока не будет найден первый фильтр, где filters[].exclude или filters[].include совпадают. В случае, если filters[].exclude совпадает, хост исключается, а в случае, если filters[].include совпадает, хост включается. Если ни один фильтр не совпадает, хост включается.

exclude

string

Условие Jinja2. Если оно совпадает для хоста, этот хост исключается.

Можно указать только одно из filters[].exclude и filters[].include.

include

string

Условие Jinja2. Если оно совпадает для хоста, этот хост включается.

Можно указать только одно из filters[].exclude и filters[].include.

groups

dictionary

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

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

hetzner_password

string / обязательно

Пароль пользователя веб-службы Robot.

Настройка:

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

hetzner_user

string / обязательно

Имя пользователя пользователя веб-службы Robot.

Настройка:

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

keyed_groups

list / elements=dictionary

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

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

default_value

string

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

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

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

key

string

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

END_OF_DOCUMENT_MARKER

parent_group

string

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

prefix

string

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

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

separator

string

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

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

trailing_separator

boolean

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

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

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

Варианты:

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

leading_separator

boolean

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

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

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

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

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

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

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

Варианты:

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

plugin

string / обязательно

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

Варианты:

  • "community.hrobot.robot"

simple_filters

dictionary

Словарь пар значений фильтров.

Доступные фильтры перечислены здесь как ключи сервера, такие как status или server_ip.

См. https://robot.your-server.de/doc/webservice/en.html#get-server для всех значений, которые можно использовать.

Этот параметр раньше назывался filters до community.hrobot 2.0.0. Он был переименован из filters в simple_filters в community.hrobotdns 1.9.0, а старое имя всё ещё было доступно как псевдоним до community.hrobot 2.0.0. filters теперь используется для чего-то другого.

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

strict

boolean

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

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

Варианты:

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

use_extra_vars

boolean

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

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

Варианты:

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

Настройка:

  • Запись INI:

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

Примечания

Примечание

  • Параметры hetzner_user и hetzner_password могут быть шаблонизированы.

Примеры

# Fetch all hosts in Hetzner Robot
plugin: community.hrobot.robot
# Filters all servers in ready state
filters:
  status: ready

# Example showing encrypted credentials and using filters
# (This assumes that Mozilla sops was used to encrypt keys/hetzner.sops.yaml, which contains two values
# hetzner_username and hetzner_password. Needs the community.sops collection to decode that file.)
plugin: community.hrobot.robot
hetzner_user: '{{ (lookup("community.sops.sops", "keys/hetzner.sops.yaml") | from_yaml).hetzner_username }}'
hetzner_password: '{{ (lookup("community.sops.sops", "keys/hetzner.sops.yaml") | from_yaml).hetzner_password }}'
filters:
  # Accept all servers in FSN1-DC1 and FSN1-DC2
  - include: >-
      hrobot_dc in ["FSN1-DC1", "FSN1-DC2"]
  # Exclude all servers that didn't match any of the above filters
  - exclude: true

# Example using constructed features to create groups
plugin: community.hrobot.robot
simple_filters:
  status: ready
  traffic: unlimited
# keyed_groups may be used to create custom groups
strict: false
keyed_groups:
  # Add e.g. groups for every data center
  - key: hrobot_dc
    separator: ""
# Use the IP address to connect to the host
compose:
  server_name_ip: hrobot_server_name ~ '-' ~ hrobot_server_ip

Авторы

  • Oleksandr Stepanov (@alexandrst88)

Подсказка

Записи конфигурации для каждого типа записи имеют порядок приоритета снизу вверх. Например, переменная, расположенная ниже в списке, переопределит переменную, расположенную выше.

Ссылки на сборку

  • Отслеживание проблем
  • Репозиторий (источники)
  • Задать вопрос (Hetzner Robot)
  • Отправить отчет об ошибке
  • Запросить функцию
  • Связь

© 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/community/hrobot/robot_inventory.html

Spec-Zone.ru

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