community.general.linode инвентаризация – плагин динамической инвентаризации Ansible для Linode.
Примечание
Этот плагин инвентаризации входит в коллекцию community.general (версия 9.5.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general. Для использования этого плагина инвентаризации необходимы дополнительные требования. Подробнее см. Требования.
Для использования в книге задач укажите: community.general.linode.
Описание
- Считывает данные инвентаризации из API v4 Linode.
- Использует файл конфигурации YAML, заканчивающийся на linode.(yml|yaml).
- По умолчанию метки Linode используются в качестве имен хостов.
- По умолчанию группы инвентаризации создаются из групп (устарели в Linode) а не тегов.
Требования
Ниже перечислены требования, необходимые на локальном узле контроллера, который выполняет эту инвентаризацию.
- linode_api4 >= 2.0.0
Параметры
Параметр | Комментарии |
|---|---|
access_token строка / обязательный | |
cache булево добавлен в community.general 4.5.0 | Включение/выключение кэширования исходных данных инвентаризации, требуется настройка плагина кэша для работы. Варианты:
Конфигурация:
|
cache_connection строка добавлен в community.general 4.5.0 | Данные или путь подключения к кэшу, обратитесь к документации плагина кэша для получения подробной информации. Конфигурация:
|
cache_plugin строка добавлен в community.general 4.5.0 | Плагин кэширования для исходных данных инвентаризации. По умолчанию: Конфигурация:
|
cache_prefix строка добавлен в community.general 4.5.0 | Префикс для файлов/таблиц плагина кэша По умолчанию: Конфигурация:
|
cache_timeout целое число добавлен в community.general 4.5.0 | Срок действия кэша в секундах По умолчанию: Конфигурация:
|
compose словарь добавлен в community.general 2.0.0 | Создание переменных из выражений jinja2. По умолчанию: |
groups словарь добавлен в community.general 2.0.0 | Добавление хостов в группу на основе условных выражений Jinja2. По умолчанию: |
ip_style строка добавлен в community.general 3.6.0 | Заполнение hostvars всей доступной информацией из APIv4 Linode. Варианты:
|
keyed_groups список / элементы=словарь добавлен в community.general 2.0.0 | Добавление хостов в группу на основе значений переменной. По умолчанию: |
|
default_value строка добавлен в ansible-core 2.12 |
Значение по умолчанию, когда значение переменной хоста пустая строка. Этот параметр взаимоисключающий с |
|
key строка |
Ключ из входного словаря, используемый для генерации групп |
|
parent_group строка |
родительская группа для группы по ключу |
|
prefix строка |
Имя группы по ключу будет начинаться с этого префикса По умолчанию: |
|
separator строка |
разделитель, используемый для построения имени группы по ключу По умолчанию: |
|
trailing_separator boolean добавлен в ansible-core 2.12 |
Установите это значение в Этот параметр взаимоисключает Варианты:
|
leading_separator boolean добавлен в ansible-core 2.11 | Используется совместно с keyed_groups. По умолчанию, имя ключевой группы, у которой нет префикса или разделителя, начинается с нижнего подчеркивания. Это происходит потому, что по умолчанию префикс — это пустая строка, а разделитель — «_». Установите этот параметр в False, чтобы исключить ведущее подчеркивание (или другой разделитель), если префикс не указан. Если имя группы получено из отображения, разделитель всё равно используется для конкатенации элементов. Чтобы вообще не использовать разделитель в имени группы, установите разделитель для ключевой группы в пустую строку. Варианты:
|
plugin string / обязательно | Помечает это как экземпляр плагина «linode». Варианты:
|
regions список / элементы=строка | Заполните инвентарь экземплярами в этом регионе. По умолчанию: |
strict boolean добавлен в community.general 2.0.0 | Если Поскольку фактические данные можно использовать в выражениях, они могут быть недоступны, и мы по умолчанию игнорируем такие ошибки. Варианты:
|
tags список / элементы=строка добавлен в community.general 2.0.0 | Заполнить инвентарь только экземплярами, которые имеют хотя бы один из указанных тегов. По умолчанию: |
types список / элементы=строка | Заполнить инвентарь экземплярами с этим типом. По умолчанию: |
use_extra_vars boolean добавлен в ansible-core 2.11 | Объединить дополнительные переменные в доступные переменные для композиции (самый высокий приоритет). Варианты:
Конфигурация:
|
Примеры
# Minimal example. `LINODE_ACCESS_TOKEN` is exposed in environment.
plugin: community.general.linode
# You can use Jinja to template the access token.
plugin: community.general.linode
access_token: "{{ lookup('ini', 'token', section='your_username', file='~/.config/linode-cli') }}"
# For older Ansible versions, you need to write this as:
# access_token: "{{ lookup('ini', 'token section=your_username file=~/.config/linode-cli') }}"
# Example with regions, types, groups and access token
plugin: community.general.linode
access_token: foobar
regions:
- eu-west
types:
- g5-standard-2
# Example with keyed_groups, groups, and compose
plugin: community.general.linode
access_token: foobar
keyed_groups:
- key: tags
separator: ''
- key: region
prefix: region
groups:
webservers: "'web' in (tags|list)"
mailservers: "'mail' in (tags|list)"
compose:
# By default, Ansible tries to connect to the label of the instance.
# Since that might not be a valid name to connect to, you can
# replace it with the first IPv4 address of the linode as follows:
ansible_ssh_host: ipv4[0]
ansible_port: 2222
# Example where control traffic limited to internal network
plugin: community.general.linode
access_token: foobar
ip_style: api
compose:
ansible_host: "ipv4 | community.general.json_query('[?public==`false`].address') | first"
Ссылки на коллекции
© 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/general/linode_inventory.html