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: |
baseurl string | Базовый URL API DigitalOcean. Default: |
cache boolean | Переключатель для включения/выключения кэширования исходных данных инвентаризации, для работы требуется настроенный плагин кэша. Choices:
Configuration:
|
cache_connection string | Данные или путь подключения кэша, см. документацию плагина кэша для получения подробной информации. Configuration:
|
cache_plugin string | Плагин кэша для использования с исходными данными инвентаризации. Default: Configuration:
|
cache_prefix string | Префикс для использования с файлами/таблицами плагина кэша Default: Configuration:
|
cache_timeout integer | Продолжительность кэширования в секундах Default: Configuration:
|
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 |
Значение по умолчанию, когда значение переменной хоста является пустой строкой. Этот параметр взаимоисключающий с |
|
key string |
Ключ из входного словаря, используемый для генерации групп |
|
parent_group string |
Родительская группа для группировки с ключом |
|
prefix string |
Имя группы с ключом будет начинаться с этого префикса Default: |
|
separator строка |
разделитель, используемый для создания имени ключевой группы По умолчанию: |
|
trailing_separator логическое значение добавлен в ansible-core 2.12 |
Установите это значение в Этот параметр несовместим с Возможные значения:
|
leading_separator логическое значение добавлен в ansible-core 2.11 | Используется в сочетании с keyed_groups. По умолчанию, имя ключевой группы, у которой нет заданного префикса или разделителя, начинается с символа подчеркивания. Это происходит потому, что по умолчанию префикс равен “” (пустая строка), а разделитель — “_”. Установите это значение в False, чтобы опустить ведущий символ подчеркивания (или другой разделитель), если префикс не задан. Если имя группы получено из отображения, разделитель всё равно используется для конкатенации элементов. Чтобы вообще не использовать разделитель в имени группы, установите разделитель для ключевой группы в пустую строку. Возможные значения:
|
oauth_token псевдонимы: api_token строка | Токен DigitalOcean OAuth. Существует несколько других переменных окружения, которые можно использовать для предоставления этого значения. например, - |
pagination целое число | Максимальное количество объектов дроплетов на страницу ответа. Если количество дроплетов, связанных со счетом, превышает это значение, запрос будет разделен на несколько запросов (страниц). В настоящее время DigitalOcean позволяет максимум 200. По умолчанию: |
plugin строка / обязательно | Имя плагина инвентаризации DigitalOcean, оно всегда должно быть Возможные значения:
|
strict логическое значение | Если Так как использование фактов в выражениях возможно, они могут быть недоступны, и мы игнорируем такие ошибки по умолчанию. Возможные значения:
|
timeout целое число | Таймаут в секундах, используемый для опроса API DigitalOcean. По умолчанию: |
use_extra_vars логическое значение добавлен в ansible-core 2.11 | Объединить дополнительные переменные с доступными переменными для композиции (самый высокий приоритет). Возможные значения:
Настройка:
|
validate_certs логическое значение | Если установлено в Это следует устанавливать только в Возможные значения:
|
var_prefix строка | Префикс сгенерированных имён переменных (например, По умолчанию: |
Примеры
# 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"'
Ссылки на коллекцию
© 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