Spec-Zone.ru › Ansible

community.vmware.vmware_host_inventory inventory – источник инвентаризации хост-систем VMware ESXi

Примечание

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

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

Для установки используйте: ansible-galaxy collection install community.vmware. Для использования этого плагина инвентаризации требуются дополнительные компоненты. Подробности см. в разделе Требования.

Чтобы использовать его в плейбуке, укажите: community.vmware.vmware_host_inventory.

  • УСТАРЕЛО
  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Статус

УСТАРЕЛО

Удалено в:

версии 7.0.0

Причина:

Этот модуль перенесён в новую коллекцию vmware.vmware

Альтернатива:

Используйте вместо него vmware.vmware.esxi_hosts.

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

  • Получение хост-систем VMware ESXi в качестве узлов инвентаризации из среды VMware.
  • В качестве файла конфигурации YAML используется любой файл, имя которого заканчивается на vmware.yml, vmware.yaml, vmware_host_inventory.yml или vmware_host_inventory.yaml.

Требования

Для выполнения этой инвентаризации на локальном управляющем узле требуются следующие компоненты.

  • vSphere Automation SDK — для работы с тегами

Параметры

Параметр

Комментарии

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_backward_compatibility

boolean

Сведение свойств узла к плоскому списку для обеспечения обратной совместимости.

Варианты:

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

filters

list / elements=string

Этот параметр позволяет фильтровать узлы на стороне клиента с помощью шаблонов jinja.

Если будет добавлена фильтрация на стороне сервера, следует отдавать предпочтение ей.

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

groups

dictionary

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

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

hostname

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

Имя сервера vCenter или ESXi.

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

  • Переменная среды: VMWARE_HOST
  • Переменная среды: VMWARE_SERVER

hostnames

list / elements=string

Список шаблонов, упорядоченных по приоритету, для формирования inventory_hostname.

Шаблон игнорируется, если результатом его обработки стала пустая строка или значение None.

В шаблоне можно использовать в качестве переменных свойства, указанные в properties.

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

keyed_groups

list / elements=dictionary

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

По умолчанию: [{"key": "summary.runtime.powerState", "separator": ""}]

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

password

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

Пароль пользователя vSphere.

Поддерживает переменные, зашифрованные с помощью vault.

Поддерживает шаблонизацию значения с помощью Jinja

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

  • Переменная среды: VMWARE_PASSWORD

port

integer

Номер порта для подключения к серверу vCenter или ESXi.

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

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

  • Переменная среды: VMWARE_PORT

properties

list / elements=string

Укажите список свойств схемы VMware, связанных с хост-системой ESXi.

Эти свойства будут добавлены в hostvars указанной хост-системы ESXi.

Каждое значение списка может быть путём к определённому свойству объекта хост-системы или путём к коллекции объектов хост-систем.

Если для keyed_groups установлено значение по умолчанию, необходимы summary.runtime.powerState.

Убедитесь, что этот параметр содержит все свойства, используемые в других параметрах.

Помимо свойств хост-систем ESXi, поддерживаются следующие специальные значения

Используйте customValue, чтобы получить пользовательские атрибуты хост-системы ESXi. customValue поддерживается только в vCenter, но не в ESXi.

Используйте all, чтобы получить все свойства виртуальной машины. Значение all приводит к длительной операции; используйте его только в случае крайней необходимости.

По умолчанию: ["name", "customValue", "summary.runtime.powerState"]

proxy_host

string

Адрес прокси-сервера, который будет принимать и перенаправлять все HTTPS-запросы.

Укажите имя хоста или IP-адрес.

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

  • Переменная среды: VMWARE_PROXY_HOST

proxy_port

integer

Порт HTTP-прокси-сервера, который будет принимать и перенаправлять все HTTPS-запросы.

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

  • Переменная среды: VMWARE_PROXY_PORT

resources

list / elements=dictionary

Список ресурсов для ограничения области поиска.

Каждый элемент ресурса представлен ровно одной парой 'vim_type_snake_case:list of resource names и необязательным вложенным параметром resources

Имя ключа образуется из имени типа vim в стиле snake case; например, host_system соответствует vim.HostSystem

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

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

username

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

Имя пользователя vSphere.

Поддерживает переменные, зашифрованные с помощью vault.

Поддерживает шаблонизацию значения с помощью Jinja

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

  • Переменная среды: VMWARE_USER
  • Переменная среды: VMWARE_USERNAME

validate_certs

boolean

Разрешает подключение при недействительных SSL-сертификатах.

Установите значение false, если сертификаты не являются доверенными.

Варианты:

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

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

  • Переменная среды: VMWARE_VALIDATE_CERTS

with_nested_properties

boolean

Этот параметр преобразует плоские имена свойств во вложенный словарь.

Варианты:

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

with_path

boolean

Включение пути хост-системы ESXi.

Задайте для этого параметра строковое значение, чтобы заменить корневое имя ‘Datacenters’.

Варианты:

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

with_sanitized_property_name

boolean

Этот параметр позволяет очищать имена свойств, чтобы сделать их безопасными для использования в Ansible.

Кроме того, преобразует имена свойств в формат snake case.

Варианты:

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

with_tags

boolean

Включение тегов и связанных с ними узлов.

На указанном управляющем узле должна быть установлена библиотека «vSphere Automation SDK».

Инструкции по установке приведены по следующим ссылкам

https://code.vmware.com/web/sdk/7.0/vsphere-automation-python

Варианты:

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

Примечание

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

Примечания

Примечание

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

Примеры

# Sample configuration file for VMware Host dynamic inventory
    plugin: community.vmware.vmware_host_inventory
    strict: false
    hostname: 10.65.223.31
    username: administrator@vsphere.local
    password: Esxi@123$%
    validate_certs: false
    with_tags: true

# Sample configuration file for VMware Guest dynamic inventory using Jinja to template the username and password.
    plugin: community.vmware.vmware_host_inventory
    strict: false
    hostname: 10.65.223.31
    username: '{{ (lookup("file","~/.config/vmware.yaml") | from_yaml).username }}'
    password: '{{ (lookup("file","~/.config/vmware.yaml") | from_yaml).password }}'
    validate_certs: false
    with_tags: true

# Using compose
    plugin: community.vmware.vmware_host_inventory
    hostname: 10.65.223.31
    username: administrator@vsphere.local
    password: Esxi@123$%
    validate_certs: false
    properties:
    - name
    - summary
    - config.lockdownMode
    compose:
        ansible_user: "'root'"
        ansible_connection: "'ssh'"

Статус

  • Эта инвентаризация будет удалена в версии 7.0.0. [устарело]
  • Дополнительную информацию см. в разделе УСТАРЕЛО.

Авторы

  • Abhijeet Kasurde (@Akasurde)

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

  • Отслеживание проблем
  • Домашняя страница
  • Репозиторий (исходный код)

© 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/vmware/vmware_host_inventory_inventory.html

Spec-Zone.ru

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