Spec-Zone.ru › Ansible

community.general.merge_variables поиск – объединение переменных, имена которых соответствуют заданному шаблону

Примечание

Этот плагин поиска входит в сборку community.general (версия 9.5.0).

У вас, возможно, уже установлена эта сборка, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

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

Чтобы использовать её в книге задач, укажите: community.general.merge_variables.

Добавлена в community.general 6.5.0

  • Описание
  • Термины
  • Параметры ключевых слов
  • Примечания
  • Примеры
  • Возвращаемое значение

Описание

  • Этот поиск возвращает объединенный результат всех переменных в области видимости, которые соответствуют заданным префиксам, суффиксам или регулярным выражениям (по желанию).

Термины

Параметр

Комментарии

Термины

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

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

Параметры ключевых слов

Это описывает параметры ключевых слов поиска. Это значения key1=value1, key2=value2 и так далее в следующих примерах: lookup('community.general.merge_variables', key1=value1, key2=value2, ...) и query('community.general.merge_variables', key1=value1, key2=value2, ...).

Параметр

Комментарии

groups

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

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

Искать переменные по хостам, которые принадлежат указанным группам. Это позволяет собирать фрагменты конфигурации с разных хостов (например, услугу на одном хосте и базу данных на другом хосте).

initial_value

любой

Начальное значение для начала.

override

строка

Возвращать ошибку, выводить предупреждение или игнорировать её, когда ключ будет перезаписан.

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

Когда warn и ignore используются, важно помнить, что переменные сортируются по имени перед объединением. Ключи для переменных, которые следуют позже в этом порядке, перезапишут ключи с таким же именем для переменных, которые находятся раньше в этом порядке. Чтобы избежать возможной путаницы, лучше использовать override=error по возможности.

Выбор:

  • "error" ← (по умолчанию)
  • "warn"
  • "ignore"

Настройка:

  • Запись в INI:

    [merge_variables_lookup]
    override = error
    
  • Переменная среды: ANSIBLE_MERGE_VARIABLES_OVERRIDE

pattern_type

строка

Изменить способ поиска заданного шаблона.

Выбор:

  • "prefix"
  • "suffix"
  • "regex" ← (по умолчанию)

Настройка:

  • Запись в INI:

    [merge_variables_lookup]
    pattern_type = regex
    
  • Переменная среды: ANSIBLE_MERGE_VARIABLES_PATTERN_TYPE

Примечания

Примечание

  • Когда параметры ключевых слов и позиционные параметры используются вместе, позиционные параметры должны быть перечислены перед параметрами ключевых слов: lookup('community.general.merge_variables', term1, term2, key1=value1, key2=value2) и query('community.general.merge_variables', term1, term2, key1=value1, key2=value2)

Примеры

# Some example variables, they can be defined anywhere as long as they are in scope
test_init_list:
  - "list init item 1"
  - "list init item 2"

testa__test_list:
  - "test a item 1"

testb__test_list:
  - "test b item 1"

testa__test_dict:
  ports:
    - 1

testb__test_dict:
  ports:
    - 3


# Merge variables that end with '__test_dict' and store the result in a variable 'example_a'
example_a: "{{ lookup('community.general.merge_variables', '__test_dict', pattern_type='suffix') }}"

# The variable example_a now contains:
# ports:
#   - 1
#   - 3


# Merge variables that match the '^.+__test_list$' regular expression, starting with an initial value and store the
# result in a variable 'example_b'
example_b: "{{ lookup('community.general.merge_variables', '^.+__test_list$', initial_value=test_init_list) }}"

# The variable example_b now contains:
#   - "list init item 1"
#   - "list init item 2"
#   - "test a item 1"
#   - "test b item 1"

Возвращаемое значение

Ключ

Описание

Возвращаемое значение

любой

В случае, если поиск соответствует элементам списка, будет возвращен список. В случае, если поиск соответствует словарям, будет возвращен словарь.

Возвращаемое значение: успех

Авторы

  • Roy Lenferink (@rlenferink)
  • Mark Ettema (@m-a-r-k-e)
  • Alexander Petrenz (@alpex8)

Подсказка

Записи конфигурации для каждого типа записи имеют порядок приоритета от низкого к высокому. Например, переменная, которая расположена ниже в списке, перезапишет переменную, расположенную выше.

Ссылки на сборку

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

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/merge_variables_lookup.html

Spec-Zone.ru

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