cloudscale_ch.cloud.inventory – cloudscale.ch источник инвентаризации
Примечание
Этот плагин входит в коллекцию cloudscale_ch.cloud (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install cloudscale_ch.cloud.
Для использования в playbook укажите: cloudscale_ch.cloud.inventory.
Описание
- Получение хостов инвентаризации с помощью API cloudscale.ch
- Использует конфигурационный файл YAML с расширением cloudscale.yml или cloudscale.yaml для установки значений параметров (также см. примеры).
Параметры
| Параметр | Варианты/Значения по умолчанию | Конфигурация | Комментарии |
|---|---|---|---|
| ansible_host строка |
| Какой IP-адрес зарегистрировать как ansible_host. Если запрашиваемое значение отсутствует или установлено значение 'none', ansible_host не будет установлен. | |
| api_timeout целое число | Значение по умолчанию: 30 | Время ожидания в секундах для вызовов API cloudscale.ch. | |
| api_token строка / обязательно | Токен API cloudscale.ch. Также может быть передан в переменной окружения CLOUDSCALE_API_TOKEN. | ||
| api_url строка добавлен в 1.3.0 cloudscale_ch.cloud | Значение по умолчанию: "https://api.cloudscale.ch/v1" | URL API cloudscale.ch. Также может быть передан в переменной окружения CLOUDSCALE_API_URL. | |
| compose словарь | Значение по умолчанию: {} | Создание переменных из выражений Jinja2. | |
| groups словарь | Значение по умолчанию: {} | Добавление хостов в группу на основе условных выражений Jinja2. | |
| inventory_hostname строка |
| Что зарегистрировать в качестве имени хоста инвентаризации. Если установлено значение 'uuid', будет использоваться UUID сервера, и для сервера будет создана группа с именем сервера. Если установлено значение 'имя', будет использоваться имя сервера, за исключением случаев, когда существует более одного сервера с одинаковым именем, в этом случае будет использоваться логика 'uuid'. | |
| keyed_groups список / элементы=строка | Значение по умолчанию: [] | Добавление хостов в группу на основе значений переменной. | |
| plugin строка / обязательно |
| Токен, гарантирующий, что это файл источника для плагина 'cloudscale'. | |
| strict логическое значение |
| Если yes сделать недопустимые записи ошибкой, иначе пропустить и продолжить.Так как возможно использование фактов в выражениях, они могут быть недоступны, и мы игнорируем эти ошибки по умолчанию. |
Примечания
Примечание
- Все операции выполняются с использованием публичного API v1 cloudscale.ch.
- Для получения подробной информации обратитесь к полной документации API: https://www.cloudscale.ch/en/api/v1.
- Для всех операций требуется действительный токен API. Вы можете создать любое количество токенов с помощью панели управления cloudscale.ch по адресу https://control.cloudscale.ch.
Примеры
# cloudscale.yml name ending file in YAML format
# Example command line: ansible-inventory --list -i inventory_cloudscale.yml
plugin: cloudscale_ch.cloud.inventory
# Example grouping by tag key "project"
plugin: cloudscale_ch.cloud.inventory
keyed_groups:
- prefix: project
key: cloudscale.tags.project
# Example grouping by key "operating_system" lowercased and prefixed with "os"
plugin: cloudscale_ch.cloud.inventory
keyed_groups:
- prefix: os
key: cloudscale.image.operating_system | lower
Авторы
- Gaudenz Steinlin (@gaudenz)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/cloudscale_ch/cloud/inventory_inventory.html