vultr.cloud.vultr inventory – Получает список экземпляров через API Vultr v2
Примечание
Этот плагин инвентаризации входит в состав коллекции vultr.cloud (версия 1.13.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install vultr.cloud.
Для использования в плейбуке укажите: vultr.cloud.vultr.
Новое в vultr.cloud 1.4.0
Обзор
- Плагин инвентаризации Vultr.
- Получает список экземпляров через API Vultr v2.
- Настройка этого плагина выполняется с помощью файлов, оканчивающихся на ‘(vultr|vultr_hosts|vultr_instances).(yaml|yml)’
Параметры
Параметр | Комментарии |
|---|---|
api_endpoint string | URL к конечной точке API (без конечного слеша). Резервная переменная окружения По умолчанию: Конфигурация:
|
api_key string / required | Ключ API для Vultr API. Резервная переменная окружения Конфигурация:
|
api_results_per_page integer | При получении большого количества экземпляров укажите, сколько экземпляров должно возвращаться за один вызов API. Это не определяет, сколько результатов возвращается; все экземпляры возвращаются в соответствии с другими фильтрами. Максимум для Vultr API — 500. Резервная переменная окружения По умолчанию: Конфигурация:
|
api_timeout integer | Тайм-аут HTTP для Vultr API. Резервная переменная окружения По умолчанию: Конфигурация:
|
attributes list / elements=string | Атрибуты экземпляра для добавления в качестве переменных хоста к каждому хосту, добавленному в инвентарь. См. https://www.vultr.com/api/#operation/list-instances для допустимых значений. Атрибут internal_ip был добавлен в версии 1.10.0. По умолчанию: |
cache boolean | Переключатель для включения/отключения кэширования исходных данных инвентаризации, для работы требуется настроенный плагин кэша. Варианты:
Конфигурация:
|
cache_connection string | Данные подключения кэша или путь, см. документацию плагина кэша для получения подробной информации. Конфигурация:
|
cache_plugin string | Плагин кэша для использования с исходными данными инвентаризации. По умолчанию: Конфигурация:
|
cache_prefix string | Префикс для использования с файлами/таблицами плагина кэша По умолчанию: Конфигурация:
|
cache_timeout integer | Длительность кэша в секундах По умолчанию: Конфигурация:
|
compose dictionary | Создать переменные из выражений jinja2. По умолчанию: |
filters list / elements=string | Фильтровать хосты с помощью шаблонов Jinja2. Если не указано, все хосты добавляются в инвентарь. По умолчанию: |
groups dictionary | Добавить хосты в группу на основе условных выражений Jinja2. По умолчанию: |
instance_type string added in vultr.cloud 1.8.0 | Тип экземпляра. Варианты:
|
keyed_groups list / elements=dictionary | Добавить хосты в группу на основе значений переменной. По умолчанию: |
|
default_value string added in ansible-core 2.12 |
Значение по умолчанию, когда значение переменной хоста — пустая строка. Этот параметр взаимоисключающий с |
|
key string |
Ключ из входного словаря, используемый для создания групп |
|
parent_group string |
родительская группа для группы с ключом |
|
prefix string |
Имя группы с ключом будет начинаться с этого префикса По умолчанию: |
|
separator string |
Разделитель, используемый для построения имени группы с ключом По умолчанию: |
|
trailing_separator boolean added in ansible-core 2.12 |
Установите этот параметр в Этот параметр взаимоисключающий с Варианты:
|
leading_separator boolean added in ansible-core 2.11 | Используйте совместно с keyed_groups. По умолчанию, группа с ключом, у которой не задан префикс или разделитель, будет иметь имя, начинающееся с подчеркивания. Это потому, что префикс по умолчанию — «» , а разделитель по умолчанию — «_». Установите этот параметр в False, чтобы опустить ведущее подчеркивание (или другой разделитель), если префикс не задан. Если имя группы получено из отображения, разделитель по-прежнему используется для конкатенации элементов. Чтобы вообще не использовать разделитель в имени группы, установите разделитель для группы с ключом в пустую строку. Варианты:
|
plugin string / обязательно | Имя плагина инвентаризации Vultr. Это всегда должно быть Варианты:
|
strict boolean | Если Поскольку для выражений можно использовать факты, они могут не всегда быть доступны, и мы по умолчанию игнорируем эти ошибки. Варианты:
|
use_extra_vars boolean added in ansible-core 2.11 | Слияние дополнительных переменных в доступные переменные для композиции (наивысший приоритет). Варианты:
Конфигурация:
|
validate_certs boolean | Проверять SSL-сертификаты API Vultr. Варианты:
|
variable_prefix string | Префикс сгенерированных переменных (например, По умолчанию: |
Примечания
Примечание
- Также см. документацию API на https://www.vultr.com/api/.
Примеры
---
# File endings vultr{,_{hosts,instances}}.y{,a}ml
# All configuration done via environment variables:
plugin: vultr.cloud.vultr
# Grouping and filtering configuration in inventory file
plugin: vultr.cloud.vultr
api_key: '{{ lookup("pipe"), "./get_vultr_api_key.sh" }}'
keyed_groups:
- key: vultr_tags | lower
prefix: ''
separator: ''
filters:
- '"vpc" in vultr_tags'
- 'vultr_plan == "vc2-2c-4gb"'
# Unless you can connect to your servers via it's vultr label,
# we suggest setting ansible_host with compose:
plugin: vultr.cloud.vultr
compose:
ansible_host: vultr_main_ip
# Respectively for IPv6:
plugin: vultr.cloud.vultr
compose:
ansible_host: vultr_v6_main_ip
# Prioritize IPv6 over IPv4 if available.
plugin: vultr.cloud.vultr
compose:
ansible_host: vultr_v6_main_ip or vultr_main_ip
# Use the internal IP
plugin: vultr.cloud.vultr
compose:
ansible_host: vultr_internal_ip
# Querying the bare metal instances
plugin: vultr.cloud.vultr
instance_type: bare_metal
Ссылки на сборку
© 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/vultr/cloud/vultr_inventory.html