Spec-Zone.ru › Ansible

community.general.remove_keys фильтр – Удаление определенных ключей из словарей в списке

Примечание

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

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

Для установки используйте: ansible-galaxy collection install community.general.

Для использования в плейбуке укажите: community.general.remove_keys.

Новое в community.general 9.1.0

  • Описание
  • Входные данные
  • Параметры
  • Примеры
  • Возвращаемое значение

Описание

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

Входные данные

Это описание входных данных фильтра, значения до | community.general.remove_keys.

Параметр

Комментарии

Входные данные

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

Список словарей.

Ключи верхнего уровня должны быть строками.

Параметры

Это описание параметров фильтра. Это значения key1=value1, key2=value2 и так далее в следующем примере: input | community.general.remove_keys(key1=value1, key2=value2, ...)

Параметр

Комментарии

matching_parameter

строка

Укажите параметр сопоставления для целевых ключей.

Варианты:

  • "ends_with": Сопоставляет ключи, которые заканчиваются одним из target элементов.
  • "equal" (по умолчанию): Сопоставляет ключи, точно совпадающие с одним из target элементов.
  • "regex": Сопоставляет ключи, соответствующие предоставленному в target регулярному выражению.

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

  • "starts_with": Сопоставляет ключи, которые начинаются с одного из target элементов.

target

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

Один ключ или шаблон ключа для удаления, или список ключей или шаблонов ключей для удаления.

Если matching_parameter=regex должен быть предоставлен ровно один шаблон.

Примеры

l:
  - {k0_x0: A0, k1_x1: B0, k2_x2: [C0], k3_x3: foo}
  - {k0_x0: A1, k1_x1: B1, k2_x2: [C1], k3_x3: bar}

# 1) By default match keys that equal any of the items in the target.
t: [k0_x0, k1_x1]
r: "{{ l | community.general.remove_keys(target=t) }}"

# 2) Match keys that start with any of the items in the target.
t: [k0, k1]
r: "{{ l | community.general.remove_keys(target=t, matching_parameter='starts_with') }}"

# 3) Match keys that end with any of the items in target.
t: [x0, x1]
r: "{{ l | community.general.remove_keys(target=t, matching_parameter='ends_with') }}"

# 4) Match keys by the regex.
t: ['^.*[01]_x.*$']
r: "{{ l | community.general.remove_keys(target=t, matching_parameter='regex') }}"

# 5) Match keys by the regex.
t: '^.*[01]_x.*$'
r: "{{ l | community.general.remove_keys(target=t, matching_parameter='regex') }}"

# The results of above examples 1-5 are all the same.
r:
  - {k2_x2: [C0], k3_x3: foo}
  - {k2_x2: [C1], k3_x3: bar}

# 6) By default match keys that equal the target.
t: k0_x0
r: "{{ l | community.general.remove_keys(target=t) }}"

# 7) Match keys that start with the target.
t: k0
r: "{{ l | community.general.remove_keys(target=t, matching_parameter='starts_with') }}"

# 8) Match keys that end with the target.
t: x0
r: "{{ l | community.general.remove_keys(target=t, matching_parameter='ends_with') }}"

# 9) Match keys by the regex.
t: '^.*0_x.*$'
r: "{{ l | community.general.remove_keys(target=t, matching_parameter='regex') }}"

# The results of above examples 6-9 are all the same.
r:
  - {k1_x1: B0, k2_x2: [C0], k3_x3: foo}
  - {k1_x1: B1, k2_x2: [C1], k3_x3: bar}

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

Ключ

Описание

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

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

Список словарей с удаленными выбранными ключами.

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

Авторы

  • Владимир Ботка (@vbotka)
  • Феликс Фонтейн (@felixfontein)

Подсказка

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

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

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

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

Spec-Zone.ru

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