Spec-Zone.ru › OpenTSDB

/api/tree/rules

Конечная точка rules используется для массовой слияния, замены или удаления всего набора правил дерева. Вместо вызова конечной точки tree/rule несколько раз для одного правила, вы можете предоставить список правил, которые будут слиты с текущим набором правил или заменят его. Обратите внимание, что глагол GET не поддерживается для этой конечной точки. Чтобы получить набор правил, загрузите дерево с помощью конечной точки /tree. Кроме того, все данные должны быть предоставлены в теле запроса, параметры запроса не поддерживаются.

Глаголы

  • POST - Слияние наборов правил
  • PUT - Замена всего набора правил
  • DELETE - Удаление правила

Запросы

Запрос для хранения данных должен быть массивом объектов в теле запроса. Поддерживаются те же поля, что и для конечной точки /api/tree/rule.

Ответ

Успешный ответ на запрос POST или PUT вернет код ответа 204 без тела содержимого. Успешные вызовы DELETE вернут код состояния 204 и без тела содержимого. Если дерево не содержит правил, запрос DELETE по-прежнему вернёт 204. При изменении данных, если изменений не было, т. е. вызов не предоставил данных для хранения, ответ будет 304 без тела содержимого. Если запрашиваемое дерево не существовало в системе, будет возвращен ответ 404 с сообщением об ошибке. При предоставлении неверных данных будет возвращена ошибка 400.

POST/PUT

Выполнение POST сливает предоставленный набор правил с любыми уже существующими. Это означает, что если правило уже существует для одного из предоставленных правил, будут изменены только поля, указанные в новом правиле. Использование метода PUT заменит все правила для данного дерева новым набором. Все существующие правила для дерева будут удалены перед сохранением новых.

Примечание

Все правила в массиве запроса должны принадлежать тому же treeId или будет возвращена исключение 400. Аналогично, все правила пройдут валидацию и должны включать поля level и order.

Пример запроса POST

http://localhost:4242/api/tree/rule?treeId=1&level=0&order=0&type=METRIC&separator=.&method_override=post

Пример запроса с телом

[
  {
    "treeId": 1,
    "level": 0,
    "order": 0,
    "type": "METRIC",
    "description": "Metric split rule",
    "split": "\\."
  },
  {
    "treeId": 1,
    "level": 0,
    "order": 1,
    "type": "tagk",
    "field": "fqdn",
    "description": "Hostname for the device"
  },
  {
    "treeId": 1,
    "level": 1,
    "order": 0,
    "type": "tagk",
    "field": "department"
    "description": "Department that owns the device"
  }
]

DELETE

Использование метода DELETE удалит все правила из дерева. Успешное удаление вернёт код состояния 204 и без тела содержимого. Если дерево не существовало, будет возвращена ошибка 404.

Предупреждение

Этот метод нельзя отменить.

Пример запроса DELETE

http://localhost:4242/api/tree/rules?treeId=1&method_override=delete

© 2010–2016 The OpenTSDB Authors
Licensed under the GNU LGPLv2.1+ and GPLv3+ licenses.
http://opentsdb.net/docs/build/html/api_http/tree/rules.html

Spec-Zone.ru

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