Spec-Zone.ru › Ansible

Фильтр community.general.json_diff — создание JSON-патча путем сравнения двух файлов JSON

Примечание

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

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

Для установки используйте: ansible-galaxy collection install community.general. Для использования этого плагина фильтра требуются дополнительные компоненты; подробности см. в разделе Требования.

Чтобы использовать его в плейбуке, укажите: community.general.json_diff.

Добавлено в community.general 10.3.0

  • Краткое описание
  • Требования
  • Входные данные
  • Позиционные параметры
  • См. также
  • Примеры
  • Возвращаемое значение

Краткое описание

  • Этот фильтр сравнивает входные данные с аргументом и вычисляет список операций, которые можно передать фильтру community.general.json_patch_recipe, чтобы преобразовать входные данные в аргумент.

Требования

Следующие компоненты должны быть установлены на локальном управляющем узле, выполняющем этот фильтр.

  • jsonpatch

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

Описание входных данных фильтра — значения перед | community.general.json_diff.

Параметр

Комментарии

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

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

Список или словарь, представляющий исходный объект JSON, либо строка, содержащая объект JSON.

Позиционные параметры

Описание позиционных параметров фильтра. В следующем примере это значения positional1, positional2 и так далее: input | community.general.json_diff(positional1, positional2, ...)

Параметр

Комментарии

target

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

Список или словарь, представляющий целевой объект JSON, либо строка, содержащая объект JSON.

См. также

См. также

RFC 6902

Патч JavaScript Object Notation (JSON)

RFC 6901

Указатель JavaScript Object Notation (JSON)

Пакет jsonpatch для Python

Библиотека Python для применения JSON-патчей

Примеры

- name: Compute a difference
  ansible.builtin.debug:
    msg: "{{ input | community.general.json_diff(target) }}"
  vars:
    input: {"foo": 1, "bar":{"baz": 2}, "baw": [1, 2, 3], "hello": "day"}
    target: {"foo": 1, "bar": {"baz": 2}, "baw": [1, 3], "baq": {"baz": 2}, "hello": "night"}
  # => [
  #   {"op": "add", "path": "/baq", "value": {"baz": 2}},
  #   {"op": "remove", "path": "/baw/1"},
  #   {"op": "replace", "path": "/hello", "value": "night"}
  # ]

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

Ключ

Описание

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

list / элементы=dictionary

Список операций JSON Patch для применения.

Возвращается: при успешном выполнении

Авторы

  • 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_diff_filter.html

Spec-Zone.ru

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