community.hrobot.robot – Источник инвентаризации Hetzner Robot
Примечание
Этот плагин входит в состав коллекции community.hrobot (версия 1.1.0).
Для его установки используйте: ansible-galaxy collection install community.hrobot.
Для использования в книге задач укажите: community.hrobot.robot.
Введено в версии 1.1.0: of community.hrobot
Обзор
- Считывает серверы из API Hetzner Robot.
- Использует файл конфигурации YAML, который заканчивается на
robot.ymlилиrobot.yaml. - Плагин инвентаризации добавляет все значения из https://robot.your-server.de/doc/webservice/en.html#get-server с префиксом
hrobot_к инвентаризации сервера. Например, переменнаяhrobot_dcсодержит данные о дата-центре, в котором расположен сервер.
Параметры
| Параметр | Варианты/Значения по умолчанию | Конфигурация | Комментарии |
|---|---|---|---|
| cache boolean |
| записи ini: [inventory] переменная среды:ANSIBLE_INVENTORY_CACHE | Включает/отключает кеширование данных источника инвентаризации. Требует настройки плагина кеширования для работы. |
| cache_connection строка | записи ini: [defaults] [inventory] переменная среды:ANSIBLE_CACHE_PLUGIN_CONNECTION переменная среды:ANSIBLE_INVENTORY_CACHE_CONNECTION | Данные или путь к подключению к кешу. Подробности см. в документации к плагину кеширования. | |
| cache_plugin строка | Значение по умолчанию: "память" | записи ini: [defaults] [inventory] переменная среды:ANSIBLE_CACHE_PLUGIN переменная среды:ANSIBLE_INVENTORY_CACHE_PLUGIN | Плагин кеширования для данных источника инвентаризации. |
| cache_prefix строка | Значение по умолчанию: "ansible_inventory_" | записи ini: [default] [inventory] переменная среды:ANSIBLE_CACHE_PLUGIN_PREFIX переменная среды:ANSIBLE_INVENTORY_CACHE_PLUGIN_PREFIX | Префикс для файлов/таблиц плагина кеширования |
| cache_timeout целое число | Значение по умолчанию: 3600 | записи ini: [defaults] [inventory] переменная среды:ANSIBLE_CACHE_PLUGIN_TIMEOUT переменная среды:ANSIBLE_INVENTORY_CACHE_TIMEOUT | Срок действия кеша в секундах |
| compose словарь | Значение по умолчанию: {} | Создаёт переменные из выражений jinja2. | |
| filters словарь | Значение по умолчанию: {} | Словарь пар значений фильтра. Доступные фильтры — это ключи серверов, такие как status или server_ip.См. https://robot.your-server.de/doc/webservice/en.html#get-server для всех доступных значений. | |
| groups словарь | Значение по умолчанию: {} | Добавляет хосты в группу на основе условных выражений Jinja2. | |
| hetzner_password строка / обязательно | переменная среды:HROBOT_API_PASSWORD | Пароль пользователя веб-службы Robot. | |
| hetzner_user строка / обязательно | переменная среды:HROBOT_API_USER | Имя пользователя веб-службы Robot. | |
| keyed_groups список / элементы=строка | Значение по умолчанию: [] | Добавляет хосты в группу на основе значений переменной. | |
| leading_separator boolean добавлен в 2.11 ansible.builtin |
| Используйте в сочетании с keyed_groups. По умолчанию имя ключевой группы, не имеющей префикса или разделителя, начинается с нижнего подчёркивания. Это потому, что префикс по умолчанию — "" и разделитель по умолчанию — "_". Установите этот параметр в False, чтобы опустить ведущее нижнее подчёркивание (или другой разделитель), если префикс не задан. Если имя группы получено из отображения, разделитель всё ещё используется для конкатенации элементов. Чтобы вообще не использовать разделитель в имени группы, установите разделитель для ключевой группы в пустую строку. | |
| plugin строка / обязательно |
| Токен, гарантирующий, что это исходный файл для плагина. | |
| strict boolean |
| Если yes сделать недействительные записи ошибкой, иначе пропустить и продолжить.Поскольку в выражениях можно использовать факты, они могут не всегда быть доступными, и по умолчанию мы игнорируем эти ошибки. | |
| use_extra_vars boolean добавлен в 2.11 ansible.builtin |
| записи ini: [inventory_plugins] переменная среды:ANSIBLE_INVENTORY_USE_EXTRA_VARS | Объединяет дополнительные переменные с доступными переменными для композиции (высший приоритет). |
Примеры
# Fetch all hosts in Hetzner Robot
plugin: community.hrobot.robot
# Filters all servers in ready state
filters:
status: ready
# Example using constructed features to create groups
plugin: community.hrobot.robot
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)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/hrobot/robot_inventory.html