Тревоги
Запросы на создание, чтение, обновление, удаление тревог.
- async alerts_api_crud_svc.create(payload: dict, error_handler: ErrorHandler = Depends(ErrorHandler))
Метод добавляет тревогу в модель.
Запрос:
POST /v1/alerts/ HTTP/1.1 Host: localhost Accept: application/json Content-Type: application/json Authorization: No Auth { "parentId": "id of parent node", "attributes": { "cn": "alert_name", "description": "test_alert", "prsJsonConfigString": "{\"value\": 10, \"high\": true, \"autoAck\": true}", "prsActive": true, "prsIndex": 1 } }
HTTP/1.1 200 OK Content-Type: application/json Access-Control-Allow-Origin: * Content-type: application/json { "id": "3e21924a-cc59-103e-9312-555c1a8a1358" }
parentId (str) - id тега, к которому привязывается тревога. Обязательный атрибут.
attributes (dict) - параметры создаваемой тревоги. Необязательное поле.
cn (str) - имя тревоги. Необязательный атрибут.
description (str) - описание тревоги. Необязательный атрибут.
prsJsonConfigString (str) - Строка содержит, в случае необходимости, конфигурацию тревоги. При создании тревоги атрибут
prsJsonConfigString
имеет формат:{ # "тревожное" значение тега "value": 0, # способ сравнения значения тега с "тревожным": # если high = true, то тревога возникает, если значение тега >= value # иначе - значение тега < value "high": True, # флаг автоквитирования "autoAck": True }
Обязательный аттрибут.
prsActive (bool) - Определяет, активна ли тревога. По умолчанию =
true
. Необязательный атрибут.prsIndex (int) - Если у узлов одного уровня иерархии проставлены индексы, то перед отдачей клиенту списка экземпляров они сортируются в соответствии с их индексами. Необязательный атрибут.
Ответ:
id (str) - идентификатор созданной тревоги.
detail (str) - пояснение к возникшей ошибке.
- async alerts_api_crud_svc.delete(payload: NodeDelete, error_handler: ErrorHandler = Depends(ErrorHandler))
Метод удаляет тревогу из иерархии.
Запрос:
DELETE /v1/alerts/ HTTP/1.1 Host: localhost Accept: application/json Content-Type: application/json Authorization: No Auth { "id": "id of an alert to delete" }
HTTP/1.1 200 OK Content-Type: application/json Access-Control-Allow-Origin: * Content-type: application/json null
id (str | [str]) - id или список id тревоги (тревог) для удаления. Обязательное поле.
Ответ:
null - в случае успешного запроса
detail (list) - список с пояснениями к ошибке
- async alerts_api_crud_svc.read(q: str | None = None, payload: AlertRead | None = None, error_handler: ErrorHandler = Depends(ErrorHandler))
Метод ищет тревоги в модели и возвращает запрошенные по ним данные.
Пример запроса в формате JSON.
GET /v1/alerts/ HTTP/1.1 Host: localhost Accept: application/json Content-Type: application/json Authorization: No Auth { "base": "id of a node where to search", "id": "id of an alert to find", "deref": true, "scope":1, "filter": { "cn": ["alert*"], "prsActive": [true], "prsIndex": [1, 2, 3] }, "attributes": ["cn"] }
HTTP/1.1 200 OK Content-Type: application/json Access-Control-Allow-Origin: * Content-type: application/json { "data": [ { "id": "fd58e5c0-cc61-103e-9325-555c1a8a1358", "attributes": { "cn": [ "alert1" ], "prsActive": [ "TRUE" ], "prsDefault": [ "TRUE" ], "objectClass": [ "prsAlert" ] } } ] }
Пример query запроса.
GET /v1/alerts/?q={"base":"id_of_a_node_where_to_search","id":"id_of_an_alert_to_find","deref":true,"scope":1} HTTP/1.1 Host: localhost Accept: application/json Content-Type: application/json Authorization: No Auth
HTTP/1.1 200 OK Content-Type: application/json Access-Control-Allow-Origin: * Content-type: application/json { "data": [ { "id": "fd58e5c0-cc61-103e-9325-555c1a8a1358", "attributes": { "cn": [ "alert1" ], "prsActive": [ "TRUE" ], "prsDefault": [ "TRUE" ], "objectClass": [ "prsAlert" ] } } ] }
Параметры запроса:
id (str | list(str)) - идентификатор тревоги (тревог), данные о которой(-ых) хотим прочитать. Необязательный атрибут.
base (str) - Базовый узел для поиска. В случае отсутствия поиск проводится по всей модели. Необязательный атрибут.
deref (bool) - Флаг разыменования ссылок. По умолчанию true. Необязательный атрибут.
scope (int) - Масштаб поиска. По умолчанию 1.
0 - получение данных по указанному в ключе
base
узлу1 - поиск среди непосредственных потомков указанного в
base
узла2 - поиск по всему дереву, начиная с указанного в
base
узла.Необязательный атрибут.
filter (dict) - Словарь из атрибутов и их значений, из которых формируется фильтр для поиска. В случае отсутствия возвращаются все тревоги, найденные под узлом, указанным в атрибуте
base
. При формировании фильтра значения ключей объединяются логической операциейИЛИ
, а сами ключи - операциейИ
. При указании значения строкового атрибута можно использовать символ маски*
. Пример фильтра:{ "cn": ["alert*"], "prsActive": [true], "prsIndex": [1, 2, 3] }
Данный фильтр вернёт тревоги, у которых:
(Имя начинается с
alert
) И (флаг активности =true
) И (индекс равен 1 ИЛИ 2 ИЛИ 3).attributes (list[str]) - Список атрибутов, значения которых необходимо вернуть в ответе. По умолчанию - [“*“], то есть все атрибуты (кроме системных).
Ответ:
data (list) - найденные тревоги с их параметрами.
detail (str) - пояснение к возникшей ошибке.
- async alerts_api_crud_svc.update(payload: dict, error_handler: ErrorHandler = Depends(ErrorHandler))
Метод обновляет тревогу в модели.
Запрос:
PUT /v1/alerts/ HTTP/1.1 Host: localhost Accept: application/json Content-Type: application/json Authorization: No Auth { "id":"id of an alert to update", "attributes": { "cn": "alert name", "description": "description of the alert", "prsJsonConfigString": "node configuration", "prsActive": true, "prsDefault": false, "prsIndex": 12345 } }
HTTP/1.1 200 OK Content-Type: application/json Access-Control-Allow-Origin: * Content-type: application/json { {} }
id (str) - id тревоги для обновления. Обязательное поле.
attributes (dict) - словарь с параметрами для обновления. Соответствует атрибутам из команды
create
.
Ответ:
{} - пустой словарь в случае успешного запроса.
detail (list) - список с пояснениями к ошибке.