ngine_io.cloudstack.instance inventory — источник инвентаризации экземпляров Apache CloudStack
Примечание
Этот плагин инвентаризации входит в коллекцию ngine_io.cloudstack (версия 3.0.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в состав ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install ngine_io.cloudstack. Для работы с этим плагином инвентаризации требуются дополнительные компоненты. Подробнее см. в разделе Требования.
Чтобы использовать его в плейбуке, укажите: ngine_io.cloudstack.instance.
Добавлено в ngine_io.cloudstack 2.1.0
Краткое описание
- Получение узлов инвентаризации из Apache CloudStack
- Позволяет фильтровать и группировать узлы инвентаризации.
- Для задания значений параметров используется файл конфигурации YAML с расширением cloudstack-instances.yml или cloudstack-instances.yaml (см. также примеры).
Требования
Следующие компоненты должны быть установлены на локальном управляющем узле, на котором выполняется эта инвентаризация.
- python >= 2.6
- cs >= 0.9.0
Параметры
Параметр | Комментарии |
|---|---|
api_http_method строка | Метод HTTP, используемый для запроса конечной точки API. Если не задан, используется переменная окружения Допустимые значения:
Конфигурация:
|
api_key строка / обязательный | Ключ API CloudStack. Если не задан, используется переменная окружения Конфигурация:
|
api_secret строка / обязательный | Секретный ключ API CloudStack. Если не задан, используется переменная окружения Конфигурация:
|
api_timeout целое число | Тайм-аут HTTP в секундах. Если не задан, используется переменная окружения По умолчанию: Конфигурация:
|
api_url строка / обязательный | URL API CloudStack, например https://cloud.example.com/client/api. Если не задан, используется переменная окружения Конфигурация:
|
api_verify_ssl_cert строка | Проверять файл сертификата центра сертификации. Если не задан, используется переменная окружения Конфигурация:
|
compose словарь | Создавать переменные из выражений Jinja2. По умолчанию: |
filter_by_domain строка | Возвращать только экземпляры из указанного домена. |
filter_by_project строка | Возвращать только экземпляры из указанного проекта. |
filter_by_vpc строка | Возвращать только экземпляры из указанной VPC. |
filter_by_zone строка | Возвращать только экземпляры из указанной зоны. |
groups словарь | Добавлять узлы в группы на основе условий Jinja2. По умолчанию: |
hostname строка | Поле для сопоставления с именем узла. Обратите внимание: v4_main_ip соответствует основному IPv4-адресу первого сетевого адаптера экземпляра. Допустимые значения:
|
keyed_groups список / элементы=словарь | Добавлять узлы в группы на основе значений переменной. По умолчанию: |
|
default_value строка добавлено в ansible-core 2.12 |
Значение по умолчанию, используемое, если значение переменной узла равно Этот параметр нельзя использовать одновременно с |
|
key строка |
Ключ входного словаря, используемый для создания групп. |
|
parent_group строка |
Родительская группа для группы, созданной по ключу. |
|
prefix строка |
Имя группы, созданной по ключу, будет начинаться с этого префикса. По умолчанию: |
|
separator строка |
Разделитель, используемый для формирования имени группы, созданной по ключу. По умолчанию: |
|
trailing_separator логическое значение добавлено в ansible-core 2.12 |
Установите для этого параметра значение Этот параметр нельзя использовать одновременно с Допустимые значения:
|
leading_separator логическое значение добавлено в ansible-core 2.11 | Используется вместе с По умолчанию имя группы, созданной по ключу, для которой не задан префикс или разделитель, начинается с символа подчеркивания. Это происходит потому, что префиксом по умолчанию является Установите для этого параметра значение Если имя группы формируется из отображения, разделитель все равно используется для объединения элементов. Чтобы вообще не использовать разделитель в имени группы, задайте для группы, созданной по ключу, пустую строку в качестве разделителя. Допустимые значения:
|
plugin строка / обязательный | Токен, подтверждающий, что это файл источника для плагина ‘instance’. Допустимые значения:
|
strict логическое значение | Если Поскольку в выражениях можно использовать факты, они могут быть доступны не всегда. По умолчанию такие ошибки игнорируются. Допустимые значения:
|
use_extra_vars логическое значение добавлено в ansible-core 2.11 | Объединять дополнительные переменные с доступными переменными для формирования значений (наивысший приоритет). Допустимые значения:
Конфигурация:
|
validate_certs логическое значение добавлено в ngine_io.cloudstack 2.4.0 | Если Если не задан, используется переменная окружения Этот параметр следует использовать только на сайтах под личным контролем, использующих самоподписанные сертификаты. Допустимые значения:
|
Примечание
Для указанных выше записей конфигурации каждого типа (переменная Ansible, переменная окружения и т. д.) приоритет возрастает сверху вниз. Например, переменная, расположенная ниже в списке, переопределит переменную, расположенную выше. Типы записей также перечислены в порядке возрастания приоритета. Например, запись в ansible.cfg (расположенная выше в списке) переопределяется переменной Ansible (расположенной ниже в списке).
Примечания
Примечание
- На этом этапе инвентаризация еще не завершена, поэтому автоматически заполненные группы
allиungroupedбудут содержать только то, что в них явно добавили предыдущие источники инвентаризации. - «Магические переменные» времени выполнения недоступны во время построения инвентаризации. Например,
groupsиhostvarsеще не существуют. - Подробное руководство по модулям cloudstack см. в руководстве по облаку CloudStack.
- Этот модуль поддерживает режим проверки.
Примеры
# inventory_cloudstack.yml file in YAML format
# Example command line: ansible-inventory --list -i cloudstack-instances.yml
plugin: ngine_io.cloudstack.instance
# Use the default ip as ansible_host
hostname: v4_default_ip
# Return only instances related to the VPC vpc1 and in the zone EU
filter_by_vpc: vpc1
filter_by_zone: EU
# Group instances with a disk_offering as storage
# Create a group dmz for instances connected to the dmz network
groups:
storage: disk_offering is defined
dmz: "'dmz' in networks"
# Group the instances by network, with net_network1 as name of the groups
# Group the instanes by custom tag sla, groups like sla_value for tag sla
keyed_groups:
- prefix: net
key: networks
- prefix: sla
key: tags.sla
Ссылки на коллекцию
© 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/ngine_io/cloudstack/instance_inventory.html