/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