Spec-Zone.ru › Ansible

Фильтр 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

Исходное расположение для операции копирования или перемещения. Обязательно для operations[].op=copy и operations[].op=move, в остальных случаях игнорируется.

op

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

Выполняемая операция (см. RFC 6902).

Варианты:

  • "add"
  • "copy"
  • "move"
  • "remove"
  • "replace"
  • "test"

path

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

Путь JSON Pointer к целевому расположению (см. RFC 6901).

value

any

Значение, используемое в операции. Игнорируется для operations[].op=copy, operations[].op=move и operations[].op=remove.

fail_test

boolean

Если false, неудачная операция operations[].op=test вернёт none. Если true, вызов фильтра завершится ошибкой.

Варианты:

  • false ← (по умолчанию)
  • true

См. также

См. также

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

Изменённый объект или none, если operations[].op=test, fail_test=false и проверка завершилась неудачно.

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

Авторы

  • Stanislav Meduna (@numo68)

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

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

© 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

Spec-Zone.ru

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