Фильтр 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 | Задаёт параметр сопоставления целевых ключей. Варианты:
|
target any / обязательный | Один ключ или шаблон ключа для удаления либо список ключей или шаблонов ключей для удаления. Если |
Примеры
- 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 |
Ссылки на коллекцию
© 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