Фильтр community.general.json_patch_recipe — применение операций JSON Patch (RFC 6902) к объекту
Примечание
Этот фильтр является частью коллекции community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в состав ansible-core. Чтобы проверить, установлена ли она, выполните команду ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general. Для работы с этим фильтром необходимы дополнительные зависимости; подробнее см. в разделе Требования.
Чтобы использовать фильтр в плейбуке, укажите: community.general.json_patch_recipe.
Добавлен в community.general 10.3.0
- Краткое описание
- Требования
- Входные данные
- Позиционные параметры
- См. также
- Примеры
- Возвращаемое значение
Краткое описание
- Этот фильтр последовательно применяет операции JSON Patch и возвращает изменённый объект.
- Если в списке есть операция проверки, фильтр продолжает работу, когда проверка завершается успешно, и в противном случае возвращает значение
none.
Требования
Следующие зависимости должны быть установлены на локальном управляющем узле, выполняющем этот фильтр.
- jsonpatch
Входные данные
Здесь описаны входные данные фильтра — значение перед | community.general.json_patch_recipe.
Параметр | Комментарии |
|---|---|
Input any / обязательный | Список или словарь, представляющий объект JSON, либо строка, содержащая объект JSON. |
Позиционные параметры
Здесь описаны позиционные параметры фильтра. Это значения positional1, positional2 и так далее в следующем примере: input | community.general.json_patch_recipe(positional1, positional2, ...)
Параметр | Комментарии |
|---|---|
operations list / элементы=dictionary / обязательный | Список операций JSON Patch для применения. |
|
from string |
Исходное расположение для операции копирования или перемещения. Обязательно для |
|
op string / обязательный | |
|
path string / обязательный |
Путь JSON Pointer к целевому расположению (см. RFC 6901). |
|
value any |
Значение, используемое в операции. Игнорируется для |
fail_test boolean | Если Варианты:
|
См. также
См. также
- RFC 6902
-
Формат обмена данными JavaScript (JSON) Patch
- RFC 6901
-
Формат обмена данными JavaScript (JSON) Pointer
- Пакет Python jsonpatch
-
Библиотека Python для применения исправлений JSON
Примеры
- name: Apply a series of operations
ansible.builtin.debug:
msg: "{{ input | community.general.json_patch_recipe(operations) }}"
vars:
input: {}
operations:
- op: 'add'
path: '/foo'
value: 1
- op: 'add'
path: '/bar'
value: []
- op: 'add'
path: '/bar/-'
value: 2
- op: 'add'
path: '/bar/0'
value: 1
- op: 'remove'
path: '/bar/0'
- op: 'move'
from: '/foo'
path: '/baz'
- op: 'copy'
from: '/baz'
path: '/bax'
- op: 'copy'
from: '/baz'
path: '/bay'
- op: 'replace'
path: '/baz'
value: [10, 20, 30]
# => {"bar":[2],"bax":1,"bay":1,"baz":[10,20,30]}
Возвращаемое значение
Ключ | Описание |
|---|---|
Возвращаемое значение any | Изменённый объект или Возвращается: всегда |
Ссылки на коллекцию
© 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/json_patch_recipe_filter.html