Spec-Zone.ru › Ansible

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 (без конечного слеша).

Резервная переменная окружения VULTR_API_ENDPOINT.

По умолчанию: "https://api.vultr.com/v2"

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

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

api_key

string / required

Ключ API для Vultr API.

Резервная переменная окружения VULTR_API_KEY.

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

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

api_results_per_page

integer

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

Это не определяет, сколько результатов возвращается; все экземпляры возвращаются в соответствии с другими фильтрами.

Максимум для Vultr API — 500.

Резервная переменная окружения VULTR_API_RESULTS_PER_PAGE.

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

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

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

api_timeout

integer

Тайм-аут HTTP для Vultr API.

Резервная переменная окружения VULTR_API_TIMEOUT.

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

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

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

attributes

list / elements=string

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

См. https://www.vultr.com/api/#operation/list-instances для допустимых значений.

Атрибут internal_ip был добавлен в версии 1.10.0.

По умолчанию: ["id", "region", "label", "plan", "hostname", "main_ip", "v6_main_ip", "tags", "internal_ip"]

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=string

Фильтровать хосты с помощью шаблонов Jinja2.

Если не указано, все хосты добавляются в инвентарь.

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

groups

dictionary

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

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

instance_type

string

added in vultr.cloud 1.8.0

Тип экземпляра.

Варианты:

  • "cloud" ← (по умолчанию)
  • "bare_metal"

keyed_groups

list / elements=dictionary

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

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

default_value

string

added in ansible-core 2.12

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

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

key

string

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

parent_group

string

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

prefix

string

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

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

separator

string

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

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

trailing_separator

boolean

added in ansible-core 2.12

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

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

Варианты:

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

leading_separator

boolean

added in ansible-core 2.11

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

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

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

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

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

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

Варианты:

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

plugin

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

Имя плагина инвентаризации Vultr.

Это всегда должно быть vultr.cloud.vultr.

Варианты:

  • "vultr.cloud.vultr"

strict

boolean

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

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

Варианты:

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

use_extra_vars

boolean

added in ansible-core 2.11

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

Варианты:

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

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

  • Запись INI:

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

validate_certs

boolean

Проверять SSL-сертификаты API Vultr.

Варианты:

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

variable_prefix

string

Префикс сгенерированных переменных (например, id становится vultr_id).

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

Примечания

Примечание

  • Также см. документацию 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

Авторы

  • jasites (@jasites)

Подсказка

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

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

  • Отслеживание ошибок
  • Репозиторий (источники)

© 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

Spec-Zone.ru

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