Spec-Zone.ru › Ansible

Фильтр community.general.remove_keys — удаление определённых ключей из словарей в списке

Примечание

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

Возможно, эта коллекция уже установлена, если вы используете пакет 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.

Параметр

Комментарии

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

list / elements=dictionary / обязательный

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

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

Именованные параметры

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

Параметр

Комментарии

matching_parameter

string

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

Варианты:

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

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

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

target

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

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

Если 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}

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

Ключ

Описание

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

list / elements=dictionary

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

Возвращается: success

Авторы

  • Vladimir Botka (@vbotka)
  • Felix Fontein (@felixfontein)

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

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

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

Spec-Zone.ru

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