Spec-Zone.ru › Ansible

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.

Если не задан, используется переменная окружения CLOUDSTACK_METHOD.

Допустимые значения:

  • "get" ← (по умолчанию)
  • "post"

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

  • Переменная окружения: CLOUDSTACK_METHOD

api_key

строка / обязательный

Ключ API CloudStack.

Если не задан, используется переменная окружения CLOUDSTACK_KEY.

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

  • Переменная окружения: CLOUDSTACK_KEY

api_secret

строка / обязательный

Секретный ключ API CloudStack.

Если не задан, используется переменная окружения CLOUDSTACK_SECRET.

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

  • Переменная окружения: CLOUDSTACK_SECRET

api_timeout

целое число

Тайм-аут HTTP в секундах.

Если не задан, используется переменная окружения CLOUDSTACK_TIMEOUT.

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

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

  • Переменная окружения: CLOUDSTACK_TIMEOUT

api_url

строка / обязательный

URL API CloudStack, например https://cloud.example.com/client/api.

Если не задан, используется переменная окружения CLOUDSTACK_ENDPOINT.

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

  • Переменная окружения: CLOUDSTACK_ENDPOINT

api_verify_ssl_cert

строка

Проверять файл сертификата центра сертификации.

Если не задан, используется переменная окружения CLOUDSTACK_VERIFY.

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

  • Переменная окружения: CLOUDSTACK_VERIFY

compose

словарь

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

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

filter_by_domain

строка

Возвращать только экземпляры из указанного домена.

filter_by_project

строка

Возвращать только экземпляры из указанного проекта.

filter_by_vpc

строка

Возвращать только экземпляры из указанной VPC.

filter_by_zone

строка

Возвращать только экземпляры из указанной зоны.

groups

словарь

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

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

hostname

строка

Поле для сопоставления с именем узла. Обратите внимание: v4_main_ip соответствует основному IPv4-адресу первого сетевого адаптера экземпляра.

Допустимые значения:

  • "v4_default_ip" ← (по умолчанию)
  • "hostname"

keyed_groups

список / элементы=словарь

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

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

default_value

строка

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

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

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

key

строка

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

parent_group

строка

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

prefix

строка

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

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

separator

строка

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

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

trailing_separator

логическое значение

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

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

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

Допустимые значения:

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

leading_separator

логическое значение

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

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

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

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

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

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

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

Допустимые значения:

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

plugin

строка / обязательный

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

Допустимые значения:

  • "ngine_io.cloudstack.instance"

strict

логическое значение

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

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

Допустимые значения:

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

use_extra_vars

логическое значение

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

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

Допустимые значения:

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

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

  • Запись INI:

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

validate_certs

логическое значение

добавлено в ngine_io.cloudstack 2.4.0

Если false, сертификаты SSL проверяться не будут.

Если не задан, используется переменная окружения CLOUDSTACK_DANGEROUS_NO_TLS_VERIFY.

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

Допустимые значения:

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

Примечание

Для указанных выше записей конфигурации каждого типа (переменная 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

Авторы

  • Rafael del Valle (@rvalle)

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

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

© 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

Spec-Zone.ru

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