Spec-Zone.ru › Ansible

community.general.virtualbox inventory – источник инвентаря VirtualBox

Примечание

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

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

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

Чтобы использовать её в плейбуке, укажите: community.general.virtualbox.

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

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

  • Получает хосты инвентаря из локальной установки VirtualBox.
  • Использует файл конфигурации YAML с именем, оканчивающимся на virtualbox.(yml|yaml) или vbox.(yml|yaml).
  • Значением inventory_hostname всегда является «Name» экземпляра VirtualBox.
  • ВМ можно назначать группы с помощью VBoxManage. Несколько групп можно назначить, используя / в качестве разделителя.
  • Для изменения поведения группировки доступен отдельный параметр enable_advanced_group_parsing. Подробности см. в документации параметра.

Параметры

Параметр

Комментарии

cache

boolean

Включает или отключает кэширование исходных данных инвентаря. Для работы требуется настроенный плагин кэширования.

Варианты:

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

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

  • Запись INI:

    [inventory]
    cache = false
    
  • Переменная окружения: ANSIBLE_INVENTORY_CACHE

cache_connection

string

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

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

  • Записи INI:

    [defaults]
    fact_caching_connection = VALUE
    
    [inventory]
    cache_connection = VALUE
    
  • Переменная окружения: ANSIBLE_CACHE_PLUGIN_CONNECTION
  • Переменная окружения: ANSIBLE_INVENTORY_CACHE_CONNECTION

cache_plugin

string

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

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

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

  • Записи INI:

    [defaults]
    fact_caching = memory
    
    [inventory]
    cache_plugin = memory
    
  • Переменная окружения: ANSIBLE_CACHE_PLUGIN
  • Переменная окружения: ANSIBLE_INVENTORY_CACHE_PLUGIN

cache_prefix

string

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

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

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

  • Записи INI:

    [defaults]
    fact_caching_prefix = ansible_inventory_
    
    [inventory]
    cache_prefix = ansible_inventory_
    
  • Переменная окружения: ANSIBLE_CACHE_PLUGIN_PREFIX
  • Переменная окружения: ANSIBLE_INVENTORY_CACHE_PLUGIN_PREFIX

cache_timeout

integer

Срок хранения кэша в секундах.

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

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

  • Записи INI:

    [defaults]
    fact_caching_timeout = 3600
    
    [inventory]
    cache_timeout = 3600
    
  • Переменная окружения: ANSIBLE_CACHE_PLUGIN_TIMEOUT
  • Переменная окружения: ANSIBLE_INVENTORY_CACHE_TIMEOUT

compose

dictionary

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

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

enable_advanced_group_parsing

boolean

добавлено в community.general 9.2.0

Правило разбора групп по умолчанию (если для этого параметра установлено значение false) разделяет группу ВМ VirtualBox по символу / и назначает полученные элементы списка в качестве группы Ansible.

Установка значения enable_advanced_group_parsing=true меняет это поведение, приводя его в соответствие с интерпретацией групп VirtualBox согласно https://www.virtualbox.org/manual/UserManual.html#gui-vmgroups. Теперь группы разделяются символом ,, а символ / обозначает вложенные группы.

Если параметр включён, ВМ, настроенная с помощью VBoxManage modifyvm "vm01" --groups "/TestGroup/TestGroup2,/TestGroup3", будет принадлежать группе TestGroup2 и TestGroup3, а группа TestGroup2 станет дочерней по отношению к TestGroup.

Варианты:

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

groups

dictionary

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

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

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

network_info_path

string

Путь к свойству для получения сведений о сети (ansible_host).

По умолчанию: "/VirtualBox/GuestInfo/Net/0/V4/IP"

plugin

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

Маркер, подтверждающий, что это файл источника для плагина community.general.virtualbox.

Варианты:

  • "virtualbox"
  • "community.general.virtualbox"

query

dictionary

Создаёт переменные на основе свойств VirtualBox.

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

running_only

boolean

Позволяет показывать все ВМ вместо одних только запущенных в данный момент.

Варианты:

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

settings_password_file

string

Укажите файл, содержащий пароль настроек (эквивалент --settingspwfile).

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 ещё не существуют.

Примеры

---
# file must be named vbox.yaml or vbox.yml
plugin: community.general.virtualbox
settings_password_file: /etc/virtualbox/secrets
query:
  logged_in_users: /VirtualBox/GuestInfo/OS/LoggedInUsersList
compose:
  ansible_connection: ('indows' in vbox_Guest_OS)|ternary('winrm', 'ssh')

---
# add hosts (all match with minishift vm) to the group container if any of the vms are in ansible_inventory'
plugin: community.general.virtualbox
groups:
  container: "'minis' in (inventory_hostname)"

Авторы

  • Неизвестно

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

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Обратиться за помощью
  • Сообщить об ошибке
  • Предложить новую функцию
  • Связь

© 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/community/general/virtualbox_inventory.html

Spec-Zone.ru

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