Spec-Zone.ru › Ansible

Инвентаризация cloudscale_ch.cloud.inventory – источник инвентаризации cloudscale.ch

Примечание

Этот плагин инвентаризации входит в коллекцию cloudscale_ch.cloud (версия 2.5.3).

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

Чтобы установить её, используйте: ansible-galaxy collection install cloudscale_ch.cloud.

Чтобы использовать её в плейбуке, укажите: cloudscale_ch.cloud.inventory.

  • Краткое описание
  • Параметры
  • Примечания
  • Примеры

Краткое описание

  • Получает узлы инвентаризации из API cloudscale.ch
  • Использует файл конфигурации YAML с расширением cloudscale.yml или cloudscale.yaml для задания значений параметров (см. также примеры).

Псевдонимы: cloudscale

Параметры

Параметр

Комментарии

ansible_host

string

Какой IP-адрес зарегистрировать в качестве ansible_host. Если запрошенное значение отсутствует или указано значение ‘none’, ansible_host не будет задан.

Варианты:

  • "public_v4" ← (по умолчанию)
  • "public_v6"
  • "private"
  • "none"

api_token

string

Токен API cloudscale.ch.

Его также можно передать в переменной окружения CLOUDSCALE_API_TOKEN.

compose

dictionary

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

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

groups

dictionary

Добавляет узлы в группу на основе условий Jinja2.

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

inventory_hostname

string

Что зарегистрировать в качестве имени узла в инвентаризации. Если задано значение ‘uuid’, будет использоваться uuid сервера, а для имени сервера будет создана группа. Если задано значение ‘name’, будет использоваться имя сервера, если только серверов с таким именем не больше одного; в этом случае будет применена логика ‘uuid’.

Варианты:

  • "name" ← (по умолчанию)
  • "uuid"

keyed_groups

list / элементы=dictionary

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

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

default_value

string

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

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

Этот параметр нельзя использовать одновременно с keyed_groups[].trailing_separator.

key

string

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

parent_group

string

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

prefix

string

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

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

separator

string

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

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

trailing_separator

boolean

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

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

Этот параметр нельзя использовать одновременно с keyed_groups[].default_value.

Варианты:

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

leading_separator

boolean

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

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

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

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

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

Если имя группы формируется из сопоставления, разделитель всё равно используется для объединения элементов.

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

Варианты:

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

plugin

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

Токен, подтверждающий, что это исходный файл для плагина ‘cloudscale’.

Варианты:

  • "cloudscale"

strict

boolean

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

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

Варианты:

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

use_extra_vars

boolean

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

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

Варианты:

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

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

  • Запись INI:

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

Примечание

Указанные выше записи конфигурации для каждого типа записи (переменная Ansible, переменная окружения и т. д.) упорядочены от низшего приоритета к высшему. Например, переменная, расположенная ниже в списке, переопределяет переменную, расположенную выше. Типы записей также упорядочены по приоритету от низшего к высшему. Например, запись ansible.cfg (расположенная выше в списке) переопределяется переменной Ansible (расположенной ниже в списке).

Примечания

Примечание

  • На этом этапе инвентаризация ещё не окончательно сформирована, поэтому автоматически заполненные группы all и ungrouped будут отражать только то, что предыдущие источники инвентаризации явно добавили в них.
  • Во время построения инвентаризации «магические переменные» времени выполнения недоступны. Например, groups и hostvars ещё не существуют.

Примеры

# 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–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/cloudscale_ch/cloud/inventory_inventory.html

Spec-Zone.ru

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