Spec-Zone.ru › Ansible

community.digitalocean.digitalocean inventory – Плагин инвентаризации DigitalOcean

Примечание

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

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

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

Для использования в плейбуке укажите: community.digitalocean.digitalocean.

Новинка в community.digitalocean 1.1.0

  • Обзор
  • Параметры
  • Примеры

Обзор

  • Плагин инвентаризации DigitalOcean (DO).
  • Получает список дроплетов из API DO.
  • Использует конфигурационный файл, который заканчивается на ‘(do_hosts|digitalocean|digital_ocean).(yaml|yml)’.

Параметры

Параметр

Комментарии

attributes

list / elements=string

Атрибуты Droplet для добавления в качестве переменных хоста для каждого хоста инвентаризации. Ознакомьтесь с документацией API DO для полного списка атрибутов по адресу https://docs.digitalocean.com/reference/api/api-reference/#operation/list_all_droplets.

Default: ["id", "name", "networks", "region", "size_slug"]

baseurl

string

Базовый URL API DigitalOcean.

Default: "https://api.digitalocean.com/v2"

cache

boolean

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

Choices:

  • false ← (default)
  • true

Configuration:

  • Запись INI:

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

cache_connection

string

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

Configuration:

  • Записи INI:

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

cache_plugin

string

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

Default: "memory"

Configuration:

  • Записи INI:

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

cache_prefix

string

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

Default: "ansible_inventory_"

Configuration:

  • Записи INI:

    [defaults]
    fact_caching_prefix = ansible_inventory_
    
    [inventory]
    cache_prefix = ansible_inventory_
    
  • Переменная среды: ANSIBLE_CACHE_PLUGIN_PREFIX
  • Переменная среды: ANSIBLE_INVENTORY_CACHE_PLUGIN_PREFIX

cache_timeout

integer

Продолжительность кэширования в секундах

Default: 3600

Configuration:

  • Записи INI:

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

compose

dictionary

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

Default: {}

filters

list / elements=string

добавлено в community.digitalocean 1.5.0

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

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

Default: []

groups

dictionary

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

Default: {}

keyed_groups

list / elements=dictionary

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

Default: []

default_value

string

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

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

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

key

string

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

parent_group

string

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

prefix

string

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

Default: ""

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 ← (по умолчанию)

oauth_token

псевдонимы: api_token

строка

Токен DigitalOcean OAuth.

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

например, - DO_API_TOKEN, DO_API_KEY, DO_OAUTH_TOKEN и OAUTH_TOKEN.

pagination

целое число

Максимальное количество объектов дроплетов на страницу ответа.

Если количество дроплетов, связанных со счетом, превышает это значение, запрос будет разделен на несколько запросов (страниц).

В настоящее время DigitalOcean позволяет максимум 200.

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

plugin

строка / обязательно

Имя плагина инвентаризации DigitalOcean, оно всегда должно быть community.digitalocean.digitalocean.

Возможные значения:

  • "community.digitalocean.digitalocean"

strict

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

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

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

Возможные значения:

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

timeout

целое число

Таймаут в секундах, используемый для опроса API DigitalOcean.

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

use_extra_vars

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

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

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

Возможные значения:

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

Настройка:

  • Запись INI:

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

validate_certs

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

Если установлено в no, сертификаты SSL не будут проверяться.

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

Возможные значения:

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

var_prefix

строка

Префикс сгенерированных имён переменных (например, tags -> do_tags)

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

Примеры

# Using keyed groups and compose for hostvars
plugin: community.digitalocean.digitalocean
oauth_token: '{{ lookup("pipe", "./get-do-token.sh") }}'
attributes:
  - id
  - name
  - memory
  - vcpus
  - disk
  - size
  - image
  - networks
  - volume_ids
  - tags
  - region
keyed_groups:
  - key: do_region.slug
    prefix: 'region'
    separator: '_'
  - key: do_tags | lower
    prefix: ''
    separator: ''
compose:
  ansible_host: do_networks.v4 | selectattr('type','eq','public')
    | map(attribute='ip_address') | first
  class: do_size.description | lower
  distro: do_image.distribution | lower
filters:
  - '"kubernetes" in do_tags'
  - 'do_region.slug == "fra1"'

Авторы

  • Janos Gerzson (@grzs)
  • Tadej Borovšak (@tadeboro)
  • Max Truxa (@maxtruxa)

Подсказка

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

Ссылки на коллекцию

  • Трекер проблем
  • Репозиторий (источники)

© 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/digitalocean/digitalocean_inventory.html

Spec-Zone.ru

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