2082 lines
57 KiB
YAML
2082 lines
57 KiB
YAML
openapi: 3.0.3
|
||
info:
|
||
title: ARMA Management Console API
|
||
version: 1.4.0
|
||
description: ARMA Management Console API
|
||
|
||
externalDocs:
|
||
description: Дополнительные соглашения используемые при разработке спецификации
|
||
url: https://iwarma.atlassian.net/wiki/spaces/ARMA/pages/25362443/ARMA+AMC+API
|
||
|
||
servers:
|
||
- url: http://localhost:9090/
|
||
|
||
security:
|
||
- token_auth: []
|
||
|
||
tags:
|
||
- name: assets
|
||
description: "All for assets"
|
||
|
||
paths:
|
||
/api/incidents/:
|
||
get:
|
||
description: |-
|
||
Показать список инцидентов
|
||
|
||
Требуемое права: `can_view_incidents_list`
|
||
tags:
|
||
- incident
|
||
parameters:
|
||
- $ref: "#/components/parameters/page"
|
||
- $ref: "#/components/parameters/page_size"
|
||
- $ref: "#/components/parameters/assets"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
- $ref: "#/components/schemas/Pagination"
|
||
- properties:
|
||
results:
|
||
items:
|
||
$ref: "#/components/schemas/Incident"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
/api/incidents/{uuid}:
|
||
parameters:
|
||
- $ref: "#/components/parameters/uuidParam"
|
||
get:
|
||
description: |-
|
||
Подробная информация о инциденте
|
||
|
||
Требуемые права: `can_view_incidents`
|
||
tags:
|
||
- incident
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/Incident"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
patch:
|
||
description: |-
|
||
Обновление данных инцидента
|
||
|
||
Требуемые права: `can_view_incidents`
|
||
tags:
|
||
- incident
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/IncidentEdit"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/Incident"
|
||
400:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
examples:
|
||
invalid_body:
|
||
$ref: "#/components/examples/invalid_body"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
/api/incidents/csv_export/:
|
||
get:
|
||
description: |-
|
||
Экспорт данных инцидентов в CSV формате
|
||
Требуемые права: `can_export_incidents_list`
|
||
tags:
|
||
- incident
|
||
responses:
|
||
200:
|
||
$ref: "#/components/responses/200_celery"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
/api/incident/category/:
|
||
get:
|
||
description: |-
|
||
Получить список категорий инцидентов
|
||
|
||
Требуемые права: `can_view_incidents_list`
|
||
tags:
|
||
- incident
|
||
parameters:
|
||
- $ref: "#/components/parameters/page"
|
||
- $ref: "#/components/parameters/page_size"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
- $ref: "#/components/schemas/Pagination"
|
||
- properties:
|
||
results:
|
||
items:
|
||
$ref: "#/components/schemas/NameDescriptionModel"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
/en/api/incident/effects/:
|
||
get:
|
||
description: |-
|
||
Показать список эффектов инцидента
|
||
tags:
|
||
- incident
|
||
parameters:
|
||
- $ref: "#/components/parameters/page"
|
||
- $ref: "#/components/parameters/page_size"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
- $ref: "#/components/schemas/Pagination"
|
||
- properties:
|
||
results:
|
||
items:
|
||
$ref: "#/components/schemas/NameDescriptionModel"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
post:
|
||
description: Добавить эффект для инцидента
|
||
tags:
|
||
- incident
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/NameDescriptionModel"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/NameDescriptionModel"
|
||
400:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
examples:
|
||
invalid_body:
|
||
$ref: "#/components/examples/invalid_body"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
/en/api/incident/effects/{id}:
|
||
get:
|
||
description: "Получить эффект для инцидента по его ID"
|
||
tags:
|
||
- incident
|
||
parameters:
|
||
- $ref: '#/components/parameters/idParam'
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/NameDescriptionModel"
|
||
403:
|
||
description: Forbidden
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
detail:
|
||
type: string
|
||
example:
|
||
detail: "Учетные данные не были предоставлены."
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
patch:
|
||
description: Редактировать эффект инцидента
|
||
tags:
|
||
- incident
|
||
parameters:
|
||
- $ref: "#/components/parameters/idParam"
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/NameDescriptionModel"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/NameDescriptionModel"
|
||
400:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
examples:
|
||
invalid_body:
|
||
$ref: "#/components/examples/invalid_body"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
delete:
|
||
description: Удалить эффект инцидента
|
||
tags:
|
||
- incident
|
||
parameters:
|
||
- $ref: "#/components/parameters/idParam"
|
||
responses:
|
||
200:
|
||
description: "Успешное удаление"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
/en/api/incident/recommendations/:
|
||
get:
|
||
description: "Получить список рекоммендаций для инцидентов"
|
||
tags:
|
||
- incident
|
||
parameters:
|
||
- $ref: "#/components/parameters/page"
|
||
- $ref: "#/components/parameters/page_size"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
- $ref: "#/components/schemas/Pagination"
|
||
- properties:
|
||
results:
|
||
items:
|
||
$ref: "#/components/schemas/IncidentRecommendations"
|
||
403:
|
||
description: Forbidden
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
detail:
|
||
type: string
|
||
example:
|
||
detail: "Учетные данные не были предоставлены."
|
||
post:
|
||
description: Добавить рекоммендацию для инцидента
|
||
tags:
|
||
- incident
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/NameDescriptionModel"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/NameDescriptionModel"
|
||
400:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
examples:
|
||
invalid_body:
|
||
$ref: "#/components/examples/invalid_body"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
/en/api/incident/recommendations/{id}:
|
||
get:
|
||
description: "Получить рекоммендацию для инцидента по его ID"
|
||
tags:
|
||
- incident
|
||
parameters:
|
||
- $ref: '#/components/parameters/idParam'
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/NameDescriptionModel"
|
||
403:
|
||
description: Forbidden
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
detail:
|
||
type: string
|
||
example:
|
||
detail: "Учетные данные не были предоставлены."
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
patch:
|
||
description: Редактировать рекоммендацию инцидента
|
||
tags:
|
||
- incident
|
||
parameters:
|
||
- $ref: "#/components/parameters/idParam"
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/NameDescriptionModel"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/NameDescriptionModel"
|
||
400:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
examples:
|
||
invalid_body:
|
||
$ref: "#/components/examples/invalid_body"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
delete:
|
||
description: Удалить рекоммендацию инцидента
|
||
tags:
|
||
- incident
|
||
parameters:
|
||
- $ref: "#/components/parameters/idParam"
|
||
responses:
|
||
200:
|
||
description: "Успешное удаление"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
/api/assets/groups:
|
||
get:
|
||
description: Получить список групп ассетов
|
||
tags:
|
||
- asset groups
|
||
parameters:
|
||
- $ref: "#/components/parameters/page"
|
||
- $ref: "#/components/parameters/page_size"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
- $ref: "#/components/schemas/Pagination"
|
||
- properties:
|
||
results:
|
||
items:
|
||
$ref: "#/components/schemas/AssetGroup"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
405:
|
||
$ref: "#/components/responses/405"
|
||
400:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
examples:
|
||
invalid_page:
|
||
$ref: "#/components/examples/invalid_page"
|
||
invalid_query_parameter:
|
||
$ref: "#/components/examples/invalid_query_parameter"
|
||
post:
|
||
description: Добавить производителя
|
||
tags:
|
||
- asset groups
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/AssetGroup"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/AssetGroup"
|
||
400:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
examples:
|
||
invalid_body:
|
||
$ref: "#/components/examples/invalid_body"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
/api/assets/groups/{id}/:
|
||
get:
|
||
description: Получить производителя по его ID
|
||
tags:
|
||
- asset groups
|
||
parameters:
|
||
- $ref: "#/components/parameters/idParam"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/AssetGroup"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
patch:
|
||
description: Редактировать производителя по его ID
|
||
tags:
|
||
- asset groups
|
||
parameters:
|
||
- $ref: "#/components/parameters/idParam"
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/AssetGroup"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/AssetGroup"
|
||
400:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
examples:
|
||
invalid_body:
|
||
$ref: "#/components/examples/invalid_body"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
delete:
|
||
description: Удалить производителя по его ID
|
||
tags:
|
||
- asset groups
|
||
parameters:
|
||
- $ref: "#/components/parameters/idParam"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
400:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
examples:
|
||
invalid_body:
|
||
$ref: "#/components/examples/invalid_body"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
/api/assets/manufacturers:
|
||
get:
|
||
description: Получить список доступных производителей
|
||
tags:
|
||
- asset manufacturer
|
||
parameters:
|
||
- $ref: "#/components/parameters/page"
|
||
- $ref: "#/components/parameters/page_size"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
- $ref: "#/components/schemas/Pagination"
|
||
- properties:
|
||
results:
|
||
items:
|
||
$ref: "#/components/schemas/NameDescriptionModel"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
405:
|
||
$ref: "#/components/responses/405"
|
||
400:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
examples:
|
||
invalid_page:
|
||
$ref: "#/components/examples/invalid_page"
|
||
invalid_query_parameter:
|
||
$ref: "#/components/examples/invalid_query_parameter"
|
||
post:
|
||
description: Доавить производителя
|
||
tags:
|
||
- asset manufacturer
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/NameDescriptionModel"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/NameDescriptionModel"
|
||
400:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
examples:
|
||
invalid_body:
|
||
$ref: "#/components/examples/invalid_body"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
/api/assets/manufacturer/{id}/:
|
||
get:
|
||
description: Получить производителя по его ID
|
||
tags:
|
||
- asset manufacturer
|
||
parameters:
|
||
- $ref: "#/components/parameters/idParam"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/NameDescriptionModel"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
patch:
|
||
description: Редактировать производителя по его ID
|
||
tags:
|
||
- asset manufacturer
|
||
parameters:
|
||
- $ref: "#/components/parameters/idParam"
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/NameDescriptionModel"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/NameDescriptionModel"
|
||
400:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
examples:
|
||
invalid_body:
|
||
$ref: "#/components/examples/invalid_body"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
delete:
|
||
description: Удалить производителя по его ID
|
||
tags:
|
||
- asset manufacturer
|
||
parameters:
|
||
- $ref: "#/components/parameters/idParam"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
400:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
examples:
|
||
invalid_body:
|
||
$ref: "#/components/examples/invalid_body"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
/api/assets/os:
|
||
get:
|
||
description: Получить список доступных операционных систем
|
||
tags:
|
||
- os
|
||
parameters:
|
||
- $ref: "#/components/parameters/page"
|
||
- $ref: "#/components/parameters/page_size"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
- $ref: "#/components/schemas/Pagination"
|
||
- properties:
|
||
results:
|
||
items:
|
||
$ref: "#/components/schemas/NameDescriptionModel"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
405:
|
||
$ref: "#/components/responses/405"
|
||
400:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
examples:
|
||
invalid_page:
|
||
$ref: "#/components/examples/invalid_page"
|
||
invalid_query_parameter:
|
||
$ref: "#/components/examples/invalid_query_parameter"
|
||
post:
|
||
description: Доавить ОС
|
||
tags:
|
||
- os
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/NameDescriptionModel"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/NameDescriptionModel"
|
||
400:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
examples:
|
||
invalid_body:
|
||
$ref: "#/components/examples/invalid_body"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
/api/assets/os/{id}/:
|
||
get:
|
||
description: Получить Операционную систему по ее ID
|
||
tags:
|
||
- os
|
||
parameters:
|
||
- $ref: "#/components/parameters/idParam"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/NameDescriptionModel"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
patch:
|
||
description: Редактировать ОС по ее ID
|
||
tags:
|
||
- os
|
||
parameters:
|
||
- $ref: "#/components/parameters/idParam"
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/NameDescriptionModel"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/NameDescriptionModel"
|
||
400:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
examples:
|
||
invalid_body:
|
||
$ref: "#/components/examples/invalid_body"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
delete:
|
||
description: Удалить ОС по ее ID
|
||
tags:
|
||
- os
|
||
parameters:
|
||
- $ref: "#/components/parameters/idParam"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
400:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
examples:
|
||
invalid_body:
|
||
$ref: "#/components/examples/invalid_body"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
/api/assets/elements/:
|
||
get:
|
||
description: |-
|
||
Show Active List.
|
||
Permisions requred:
|
||
- "Can view list active";
|
||
tags:
|
||
- assets
|
||
parameters:
|
||
- $ref: "#/components/parameters/page"
|
||
- $ref: "#/components/parameters/page_size"
|
||
- $ref: "#/components/parameters/incidents"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
- $ref: "#/components/schemas/Pagination"
|
||
- properties:
|
||
results:
|
||
items:
|
||
$ref: "#/components/schemas/AssetList"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
405:
|
||
$ref: "#/components/responses/405"
|
||
400:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
examples:
|
||
invalid_page:
|
||
$ref: "#/components/examples/invalid_page"
|
||
invalid_query_parameter:
|
||
$ref: "#/components/examples/invalid_query_parameter"
|
||
/api/assets/elements/{id}/:
|
||
get:
|
||
description: |-
|
||
Получение полной информации о запрашиваемом активе. В том числе:
|
||
- Связные инциденты
|
||
Связные модели возвращаются ввиде полной информации об объекте
|
||
|
||
|
||
Permisions requred:
|
||
- 'Can view active'
|
||
parameters:
|
||
- $ref: "#/components/parameters/idParam"
|
||
tags:
|
||
- assets
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/AssetDetail"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
patch:
|
||
description: |-
|
||
Patch Asset.
|
||
|
||
Permisions requred:
|
||
- 'Can view active'
|
||
parameters:
|
||
- $ref: "#/components/parameters/idParam"
|
||
tags:
|
||
- assets
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/AssetPatch"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/AssetBase"
|
||
400:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
examples:
|
||
invalid_body:
|
||
$ref: "#/components/examples/invalid_body"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
delete:
|
||
description: |-
|
||
Delete Asset.
|
||
|
||
Permisions requred:
|
||
- 'Can delete active'
|
||
parameters:
|
||
- $ref: "#/components/parameters/idParam"
|
||
tags:
|
||
- assets
|
||
responses:
|
||
200:
|
||
$ref: "#/components/responses/200_no_content"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
/api/assets/elements/authorize_assets/:
|
||
post:
|
||
tags:
|
||
- assets
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
selected_assets:
|
||
type: array
|
||
items:
|
||
type: integer
|
||
minimum: 1
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
example:
|
||
status: ok
|
||
400:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
examples:
|
||
invalid_body:
|
||
$ref: "#/components/examples/invalid_body"
|
||
/api/users/:
|
||
get:
|
||
description: "Получить список не удаленных пользователей (пользователей, у которых в имени не присутсвует префикс deleted_*"
|
||
tags:
|
||
- users
|
||
parameters:
|
||
- $ref: "#/components/parameters/page"
|
||
- $ref: "#/components/parameters/page_size"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
- $ref: "#/components/schemas/Pagination"
|
||
- properties:
|
||
results:
|
||
items:
|
||
$ref: "#/components/schemas/UserInfo"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
405:
|
||
$ref: "#/components/responses/405"
|
||
400:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
examples:
|
||
invalid_page:
|
||
$ref: "#/components/examples/invalid_page"
|
||
invalid_query_parameter:
|
||
$ref: "#/components/examples/invalid_query_parameter"
|
||
post:
|
||
description: "Создание нового пользователя"
|
||
tags:
|
||
- users
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/UserInfo'
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
- $ref: "#/components/schemas/Pagination"
|
||
- properties:
|
||
results:
|
||
items:
|
||
$ref: "#/components/schemas/UserInfo"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
405:
|
||
$ref: "#/components/responses/405"
|
||
400:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
examples:
|
||
invalid_page:
|
||
$ref: "#/components/examples/invalid_page"
|
||
invalid_query_parameter:
|
||
$ref: "#/components/examples/invalid_query_parameter"
|
||
/api/users/{id}:
|
||
get:
|
||
description: "Получение информации о пользователе по его ID"
|
||
parameters:
|
||
- $ref: "#/components/parameters/idParam"
|
||
tags:
|
||
- users
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/UserInfo"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
patch:
|
||
description: "Редактирование информации о пользователе по его ID"
|
||
parameters:
|
||
- $ref: "#/components/parameters/idParam"
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/UserInfo'
|
||
tags:
|
||
- users
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/UserInfo"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
400:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
examples:
|
||
invalid_body:
|
||
$ref: "#/components/examples/invalid_body"
|
||
delete:
|
||
description: "Удалить пользователя (Переименовывание логина пользователя + изменение состояния is_active -> False) по его ID."
|
||
parameters:
|
||
- $ref: "#/components/parameters/idParam"
|
||
tags:
|
||
- users
|
||
responses:
|
||
200:
|
||
$ref: "#/components/responses/200_no_content"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
/api/store/:
|
||
get:
|
||
description: "Список файлов в хранилище"
|
||
tags:
|
||
- store
|
||
parameters:
|
||
- $ref: "#/components/parameters/page"
|
||
- $ref: "#/components/parameters/page_size"
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
- $ref: "#/components/schemas/Pagination"
|
||
- properties:
|
||
results:
|
||
items:
|
||
$ref: "#/components/schemas/StorageList"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
400:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
examples:
|
||
invalid_page:
|
||
$ref: "#/components/examples/invalid_page"
|
||
invalid_query_parameter:
|
||
$ref: "#/components/examples/invalid_query_parameter"
|
||
/api/store/{id}/:
|
||
get:
|
||
description: |-
|
||
Получения полной информации об одном файле
|
||
|
||
Требуемые права:
|
||
- 'Can view storage'
|
||
parameters:
|
||
- $ref: "#/components/parameters/idParam"
|
||
tags:
|
||
- store
|
||
responses:
|
||
200:
|
||
description: ""
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/Storage"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
delete:
|
||
description: 'Удаления файла'
|
||
parameters:
|
||
- $ref: "#/components/parameters/idParam"
|
||
tags:
|
||
- store
|
||
responses:
|
||
200:
|
||
$ref: "#/components/responses/200_no_content"
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
/api/store/{id}/download/:
|
||
get:
|
||
description: 'Скачивание файла'
|
||
parameters:
|
||
- $ref: "#/components/parameters/idParam"
|
||
tags:
|
||
- store
|
||
responses:
|
||
200:
|
||
description: Возвращает файл
|
||
403:
|
||
$ref: "#/components/responses/403"
|
||
404:
|
||
$ref: "#/components/responses/404"
|
||
/en/api/settings/events/set/:
|
||
post:
|
||
operationId: api_settings_events_set_create
|
||
description: |
|
||
Permisions requred:
|
||
- can_change_rotation_settings
|
||
parameters:
|
||
- in: query
|
||
name: format
|
||
schema:
|
||
type: string
|
||
enum:
|
||
- datatables
|
||
- json
|
||
tags:
|
||
- settings
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/RotationSettings'
|
||
application/x-www-form-urlencoded:
|
||
schema:
|
||
$ref: '#/components/schemas/RotationSettings'
|
||
multipart/form-data:
|
||
schema:
|
||
$ref: '#/components/schemas/RotationSettings'
|
||
required: true
|
||
responses:
|
||
'200':
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/RotationSettings'
|
||
description: ''
|
||
/en/api/settings/incidents/set/:
|
||
post:
|
||
operationId: api_settings_incidents_set_create
|
||
description: |
|
||
Permisions requred:
|
||
- can_change_rotation_settings
|
||
parameters:
|
||
- in: query
|
||
name: format
|
||
schema:
|
||
type: string
|
||
enum:
|
||
- datatables
|
||
- json
|
||
tags:
|
||
- settings
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/RotationSettings'
|
||
application/x-www-form-urlencoded:
|
||
schema:
|
||
$ref: '#/components/schemas/RotationSettings'
|
||
multipart/form-data:
|
||
schema:
|
||
$ref: '#/components/schemas/RotationSettings'
|
||
required: true
|
||
responses:
|
||
'200':
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/RotationSettings'
|
||
description: ''
|
||
/api/incident_export/receivers/opcua/:
|
||
get:
|
||
tags:
|
||
- export
|
||
description: Список получателей (по протоколу OPCUA) сообщений об инцидентах
|
||
parameters:
|
||
- $ref: "#/components/parameters/page"
|
||
- $ref: "#/components/parameters/page_size"
|
||
responses:
|
||
200:
|
||
description: ''
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
- $ref: "#/components/schemas/Pagination"
|
||
- properties:
|
||
results:
|
||
items:
|
||
$ref: '#/components/schemas/OPCUAReceiver'
|
||
403:
|
||
$ref: '#/components/responses/403'
|
||
post:
|
||
tags:
|
||
- export
|
||
description: Создание получателя событий об инцидентах по протоколу OPCUA
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/OPCUAReceiver'
|
||
responses:
|
||
201:
|
||
description: ''
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/OPCUAReceiver'
|
||
/api/incident_export/receivers/opcua/{id}/:
|
||
parameters:
|
||
- $ref: '#/components/parameters/idParam'
|
||
get:
|
||
tags:
|
||
- export
|
||
responses:
|
||
200:
|
||
description: ''
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/OPCUAReceiver'
|
||
404:
|
||
$ref: '#/components/responses/404'
|
||
403:
|
||
$ref: '#/components/responses/403'
|
||
patch:
|
||
tags:
|
||
- export
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/OPCUAReceiver'
|
||
responses:
|
||
200:
|
||
description: ''
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/OPCUAReceiver'
|
||
404:
|
||
$ref: '#/components/responses/404'
|
||
403:
|
||
$ref: '#/components/responses/403'
|
||
delete:
|
||
tags:
|
||
- export
|
||
responses:
|
||
404:
|
||
$ref: '#/components/responses/404'
|
||
403:
|
||
$ref: '#/components/responses/403'
|
||
/api/incident_export/receivers/syslog/:
|
||
get:
|
||
tags:
|
||
- export
|
||
description: Список получателей (по протоколу syslog) сообщений об инцидентах
|
||
parameters:
|
||
- $ref: "#/components/parameters/page"
|
||
- $ref: "#/components/parameters/page_size"
|
||
responses:
|
||
200:
|
||
description: ''
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
- $ref: "#/components/schemas/Pagination"
|
||
- properties:
|
||
results:
|
||
items:
|
||
$ref: '#/components/schemas/SyslogReceiver'
|
||
post:
|
||
tags:
|
||
- export
|
||
description: Создание получателя событий об инцидентах по протоколу syslog
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/SyslogReceiver'
|
||
responses:
|
||
201:
|
||
description: ''
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/SyslogReceiver'
|
||
403:
|
||
$ref: '#/components/responses/403'
|
||
/api/incident_export/receivers/syslog/{id}/:
|
||
parameters:
|
||
- $ref: '#/components/parameters/idParam'
|
||
get:
|
||
tags:
|
||
- export
|
||
responses:
|
||
200:
|
||
description: ''
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/SyslogReceiver'
|
||
404:
|
||
$ref: '#/components/responses/404'
|
||
patch:
|
||
tags:
|
||
- export
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/SyslogReceiver'
|
||
responses:
|
||
200:
|
||
description: ''
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/SyslogReceiver'
|
||
404:
|
||
$ref: '#/components/responses/404'
|
||
403:
|
||
$ref: '#/components/responses/403'
|
||
delete:
|
||
tags:
|
||
- export
|
||
responses:
|
||
404:
|
||
$ref: '#/components/responses/404'
|
||
403:
|
||
$ref: '#/components/responses/403'
|
||
|
||
components:
|
||
securitySchemes:
|
||
token_auth:
|
||
type: apiKey
|
||
in: header
|
||
name: Authorization
|
||
description: Для использования API необходимо в header запроса положить токен авторизации пользователя в виде "Token ХХХХХХХ"
|
||
responses:
|
||
200_celery:
|
||
description: Задача celery успешно запущена
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: "#/components/schemas/Celery"
|
||
200_no_content:
|
||
description: No content
|
||
403:
|
||
description: Forbidden
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
detail:
|
||
type: string
|
||
example:
|
||
detail: "Учетные данные не были предоставлены."
|
||
404:
|
||
description: Not found
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
detail:
|
||
type: string
|
||
example:
|
||
detail: "Не найдено."
|
||
405:
|
||
description: Method not allowed
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
detail:
|
||
type: string
|
||
example:
|
||
detail: "Метод 'PATCH' не разрешен."
|
||
examples:
|
||
invalid_page:
|
||
summary: Ошибка при указании номера страницы
|
||
value:
|
||
detail: "Неправильная страница"
|
||
invalid_query_parameter:
|
||
description: Ключ в ответе обозначает параметр, в котором допущена ошибка. Значение это список строк описывающих ошибки
|
||
summary: Ошибка при указании query параметра
|
||
value:
|
||
incidents:
|
||
- "Введите правильный UUID."
|
||
invalid_body:
|
||
description: Каждый ключ в ответе обозначает поле, в котором допущена ошибка. Значение ключа это список строк описывающих ошибки
|
||
summary: Ошибка при валидации данных
|
||
value:
|
||
field:
|
||
- "Недопустимый первичный ключ - объект не существует."
|
||
parameters:
|
||
idParam:
|
||
name: id
|
||
in: path
|
||
description: 'Идентификатор "Primary key" инстанса модели. >= 1'
|
||
required: true
|
||
schema:
|
||
type: integer
|
||
minimum: 1
|
||
example: 17654
|
||
uuidParam:
|
||
name: uuid
|
||
in: path
|
||
description: "Instance uuid Primary Key"
|
||
required: true
|
||
schema:
|
||
type: string
|
||
page:
|
||
name: page
|
||
in: query
|
||
description: "Page number"
|
||
schema:
|
||
type: integer
|
||
page_size:
|
||
name: page_size
|
||
in: query
|
||
description: "Maximum page size"
|
||
schema:
|
||
type: integer
|
||
incidents:
|
||
name: incidents
|
||
in: query
|
||
description: "Фильтрация списка по переданному uuid инцидента"
|
||
schema:
|
||
type: string
|
||
assets:
|
||
name: assets
|
||
in: query
|
||
description: Фильтрация списка инцидентов по переданному `id` актива как по одному `1` так и списком `1,2,3`
|
||
schema:
|
||
type: string
|
||
example: 1,2,3
|
||
schemas:
|
||
Pagination:
|
||
properties:
|
||
count:
|
||
type: integer
|
||
example: 123
|
||
next:
|
||
type: string
|
||
nullable: true
|
||
previous:
|
||
type: string
|
||
nullable: true
|
||
results:
|
||
type: array
|
||
items:
|
||
type: object
|
||
AssetType:
|
||
type: string
|
||
enum:
|
||
- user
|
||
- arma_industrial_firewall
|
||
- plc
|
||
- pc
|
||
- server
|
||
- network_device
|
||
nullable: True
|
||
AssetStatus:
|
||
type: integer
|
||
enum:
|
||
- 0
|
||
- 1
|
||
nullable: true
|
||
description: "Статус актива: 1 - разрешенный, 0 - недоверенный"
|
||
NameDescriptionModel:
|
||
properties:
|
||
id:
|
||
type: integer
|
||
readOnly: true
|
||
name:
|
||
type: string
|
||
maxLength: 128
|
||
description:
|
||
type: string
|
||
nullable: true
|
||
AssetBase:
|
||
properties:
|
||
id:
|
||
type: integer
|
||
readOnly: true
|
||
name:
|
||
type: string
|
||
maxLength: 128
|
||
asset_type:
|
||
$ref: "#/components/schemas/AssetType"
|
||
status:
|
||
$ref: "#/components/schemas/AssetStatus"
|
||
ip:
|
||
type: string
|
||
description: Asset's IPv4 or IPv6 address.
|
||
updated:
|
||
type: string
|
||
format: date-time
|
||
readOnly: true
|
||
AssetGroup:
|
||
allOf:
|
||
- $ref: "#/components/schemas/NameDescriptionModel"
|
||
- properties:
|
||
collapsed:
|
||
type: boolean
|
||
description: Схлопнута ли данная группа на карте сети
|
||
default: false
|
||
Asset:
|
||
allOf:
|
||
- $ref: "#/components/schemas/AssetBase"
|
||
- properties:
|
||
description:
|
||
type: string
|
||
nullable: true
|
||
sensor:
|
||
type: string
|
||
maxLength: 128
|
||
nullable: true
|
||
model:
|
||
description: Asset model
|
||
type: string
|
||
nullable: true
|
||
mac:
|
||
type: string
|
||
nullable: true
|
||
description: Asset's MAC address
|
||
maxLength: 17
|
||
ports:
|
||
type: array
|
||
nullable: true
|
||
items:
|
||
type: integer
|
||
description: List of open ports
|
||
AssetList:
|
||
allOf:
|
||
- $ref: "#/components/schemas/AssetBase"
|
||
- properties:
|
||
incidents:
|
||
type: integer
|
||
readOnly: true
|
||
description: Count of incidents
|
||
AssetDetail:
|
||
allOf:
|
||
- $ref: "#/components/schemas/Asset"
|
||
- properties:
|
||
os:
|
||
$ref: "#/components/schemas/Os"
|
||
group:
|
||
$ref: "#/components/schemas/AssetGroup"
|
||
manufacturer:
|
||
$ref: "#/components/schemas/AssetManufacturer"
|
||
incidents:
|
||
type: array
|
||
items:
|
||
$ref: "#/components/schemas/Incident"
|
||
AssetPatch:
|
||
allOf:
|
||
- $ref: "#/components/schemas/Asset"
|
||
- properties:
|
||
os:
|
||
type: integer
|
||
nullable: true
|
||
minimum: 1
|
||
description: Operating system primary key
|
||
group:
|
||
type: integer
|
||
nullable: true
|
||
minimum: 1
|
||
description: Asset group primary key
|
||
manufacturer:
|
||
type: integer
|
||
nullable: true
|
||
minimum: 1
|
||
description: Asset manufacturer primary key
|
||
AssetManufacturer:
|
||
properties:
|
||
id:
|
||
type: integer
|
||
readOnly: true
|
||
name:
|
||
type: string
|
||
maxLength: 128
|
||
description:
|
||
type: string
|
||
nullable: true
|
||
description: Description
|
||
required:
|
||
- id
|
||
- name
|
||
nullable: true
|
||
Os:
|
||
properties:
|
||
id:
|
||
type: integer
|
||
readOnly: true
|
||
description:
|
||
type: string
|
||
nullable: true
|
||
description: Description
|
||
name:
|
||
type: string
|
||
maxLength: 128
|
||
required:
|
||
- id
|
||
- name
|
||
nullable: true
|
||
example:
|
||
id: 2345
|
||
description: MS Windows
|
||
name: Windows
|
||
Incident:
|
||
type: object
|
||
properties:
|
||
user_friendly_id:
|
||
type: integer
|
||
maximum: 2147483647
|
||
minimum: 0
|
||
nullable: true
|
||
readOnly: true
|
||
timestamp:
|
||
type: string
|
||
format: date-time
|
||
description: Date and time, when incident occurs
|
||
incident_id:
|
||
type: string
|
||
format: uuid
|
||
title: ID
|
||
description: ID of incident
|
||
title:
|
||
type: string
|
||
description: Title
|
||
maxLength: 128
|
||
category:
|
||
$ref: "#/components/schemas/IncidentCategory"
|
||
importance:
|
||
type: integer
|
||
maximum: 100
|
||
minimum: 0
|
||
description: Hazard level of incident
|
||
status:
|
||
$ref: "#/components/schemas/IncidentStatusEnum"
|
||
assigned_to:
|
||
type: string
|
||
readOnly: true
|
||
event_count:
|
||
type: integer
|
||
maximum: 2147483647
|
||
minimum: 1
|
||
title: Event's number
|
||
description: Amount of events in the incident
|
||
created:
|
||
type: string
|
||
format: date-time
|
||
readOnly: true
|
||
description: Date and time, when incident was created
|
||
updated:
|
||
type: string
|
||
format: date-time
|
||
readOnly: true
|
||
description: Date and time, when incident was updated
|
||
events:
|
||
type: array
|
||
items:
|
||
$ref: "#/components/schemas/Event"
|
||
deadline:
|
||
type: string
|
||
format: date-time
|
||
readOnly: true
|
||
description: Deadline. Deadline when incident must be resolved
|
||
comment:
|
||
type: string
|
||
readOnly: true
|
||
description: Incident comment
|
||
nullable: true
|
||
required:
|
||
- assigned_to
|
||
- category
|
||
- created
|
||
- event_count
|
||
- events
|
||
- importance
|
||
- title
|
||
- updated
|
||
IncidentCategory:
|
||
type: object
|
||
properties:
|
||
name:
|
||
type: string
|
||
maxLength: 128
|
||
description:
|
||
type: string
|
||
nullable: true
|
||
description: Description
|
||
id:
|
||
type: integer
|
||
readOnly: true
|
||
required:
|
||
- id
|
||
- name
|
||
IncidentStatusEnum:
|
||
enum:
|
||
- 0
|
||
- 1
|
||
- 2
|
||
- 3
|
||
- 4
|
||
description:
|
||
0 - Not assigned (Не назначен)
|
||
1 - Assigned (Назначен)
|
||
2 - Delayed (Отложен)
|
||
3 - Resolved (Решен)
|
||
4 - False_alarm (Ложное срабатывание)
|
||
type: integer
|
||
IncidentEdit:
|
||
type: object
|
||
properties:
|
||
status:
|
||
$ref: "#/components/schemas/IncidentStatusEnum"
|
||
deadline:
|
||
type: string
|
||
format: date-time
|
||
description: Deadline. Метка времени, до которого инцидент должен быть решен
|
||
comment:
|
||
type: string
|
||
description: Комментарии к инциденту
|
||
nullable: true
|
||
category:
|
||
type: integer
|
||
assigned_to:
|
||
type: integer
|
||
minimum: 0
|
||
Celery:
|
||
type: object
|
||
properties:
|
||
task_id:
|
||
type: string
|
||
format: uuid
|
||
readOnly: true
|
||
finished:
|
||
type: boolean
|
||
result:
|
||
type: integer
|
||
minimum: 0
|
||
readOnly: true
|
||
IncidentEffect:
|
||
type: object
|
||
properties:
|
||
name:
|
||
type: string
|
||
maxLength: 128
|
||
description:
|
||
type: string
|
||
nullable: true
|
||
description: Description
|
||
id:
|
||
type: integer
|
||
readOnly: true
|
||
required:
|
||
- id
|
||
- name
|
||
IncidentRecommendations:
|
||
type: object
|
||
properties:
|
||
name:
|
||
type: string
|
||
maxLength: 128
|
||
description:
|
||
type: string
|
||
nullable: true
|
||
description: Description
|
||
id:
|
||
type: integer
|
||
readOnly: true
|
||
required:
|
||
- id
|
||
- name
|
||
Event:
|
||
type: object
|
||
properties:
|
||
type:
|
||
type: string
|
||
Index:
|
||
type: string
|
||
sign_id:
|
||
type: string
|
||
"@created":
|
||
type: string
|
||
event_id:
|
||
type: string
|
||
rule_tags:
|
||
type: string
|
||
format: nullable
|
||
sign_name:
|
||
type: string
|
||
source_ip:
|
||
type: string
|
||
"@timestamp":
|
||
type: string
|
||
event_hash:
|
||
type: string
|
||
event_last:
|
||
type: string
|
||
source_mac:
|
||
type: string
|
||
celery_done:
|
||
type: boolean
|
||
event_count:
|
||
type: integer
|
||
format: int32
|
||
event_first:
|
||
type: string
|
||
source_host:
|
||
type: string
|
||
source_port:
|
||
type: integer
|
||
format: int32
|
||
source_user:
|
||
type: string
|
||
aggregated_id:
|
||
type: string
|
||
device_action:
|
||
type: string
|
||
device_vendor:
|
||
type: string
|
||
event_src_msg:
|
||
type: string
|
||
sign_category:
|
||
type: string
|
||
destination_ip:
|
||
type: string
|
||
device_product:
|
||
type: string
|
||
device_version:
|
||
type: string
|
||
event_protocol:
|
||
type: string
|
||
event_severity:
|
||
type: integer
|
||
format: int32
|
||
event_timestamp:
|
||
type: string
|
||
destination_host:
|
||
type: string
|
||
destination_port:
|
||
type: integer
|
||
format: int32
|
||
destination_user:
|
||
type: string
|
||
sign_subcategory:
|
||
type: string
|
||
UserInfo:
|
||
properties:
|
||
user:
|
||
$ref: '#/components/schemas/User'
|
||
comment:
|
||
type: string
|
||
example: asdasd
|
||
timezone:
|
||
type: string
|
||
example: "Europe/Moscow"
|
||
expire_date:
|
||
type: string
|
||
format: nullable
|
||
modified:
|
||
readOnly: true
|
||
type: string
|
||
example: "2022-04-13T14:49:41.810932+03:00"
|
||
User:
|
||
type: object
|
||
properties:
|
||
id:
|
||
readOnly: true
|
||
type: integer
|
||
format: int32
|
||
example: 3
|
||
username:
|
||
type: string
|
||
example: new_user_2
|
||
password:
|
||
description: "В случае если не нужно менять пароль - данное поле не стоит включать в body"
|
||
writeOnly: true
|
||
type: string
|
||
first_name:
|
||
type: string
|
||
example: asdasd
|
||
is_active:
|
||
type: boolean
|
||
email:
|
||
type: string
|
||
example: asdf@mail.ru
|
||
StorageTypeEnum:
|
||
type: integer
|
||
enum: [0, 1, 2, 3, 4]
|
||
description: Тип файла в хранилище.
|
||
0 - Unknown
|
||
1 - DB dump
|
||
2 - CSV export
|
||
3 - JSON export
|
||
4 - ClamAV updates
|
||
default: 0
|
||
StorageFormatEnum:
|
||
type: string
|
||
enum: ['Unknown','Plain','JSON','CSV','ZIP']
|
||
description: Формат файла в хранилище.
|
||
default: 'Unknown'
|
||
StorageList:
|
||
properties:
|
||
id:
|
||
type: integer
|
||
minimum: 1
|
||
format:
|
||
$ref: '#/components/schemas/StorageFormatEnum'
|
||
size:
|
||
type: integer
|
||
description:
|
||
type: string
|
||
created:
|
||
type: string
|
||
format: date-time
|
||
Storage:
|
||
allOf:
|
||
- $ref: '#/components/schemas/StorageList'
|
||
- properties:
|
||
last_access:
|
||
type: string
|
||
format: date-time
|
||
type:
|
||
$ref: '#/components/schemas/StorageTypeEnum'
|
||
crc:
|
||
type: object
|
||
properties:
|
||
crc:
|
||
type: string
|
||
type:
|
||
type: string
|
||
enum: ['sha256sum', 'sha512sum']
|
||
RotationSettings:
|
||
type: object
|
||
properties:
|
||
rotation_type:
|
||
$ref: '#/components/schemas/RotationTypeEnum'
|
||
size_rotation:
|
||
type: integer
|
||
schedule:
|
||
$ref: '#/components/schemas/Schedule'
|
||
required:
|
||
- rotation_type
|
||
- schedule
|
||
- size_rotation
|
||
RotationTypeEnum:
|
||
enum:
|
||
- 0
|
||
- 1
|
||
- 2
|
||
type: integer
|
||
Schedule:
|
||
type: object
|
||
properties:
|
||
period:
|
||
$ref: '#/components/schemas/PeriodEnum'
|
||
time:
|
||
type: string
|
||
format: time
|
||
week_day:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/WeekDayEnum'
|
||
month:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/MonthEnum'
|
||
required:
|
||
- period
|
||
PeriodEnum:
|
||
enum:
|
||
- day
|
||
- week
|
||
- month
|
||
type: string
|
||
WeekDayEnum:
|
||
enum:
|
||
- sunday
|
||
- monday
|
||
- tuesday
|
||
- wednesday
|
||
- thursday
|
||
- friday
|
||
- saturday
|
||
type: string
|
||
MonthEnum:
|
||
enum:
|
||
- january
|
||
- february
|
||
- march
|
||
- april
|
||
- may
|
||
- june
|
||
- july
|
||
- august
|
||
- september
|
||
- october
|
||
- november
|
||
- december
|
||
type: string
|
||
SyslogProtocol:
|
||
type: string
|
||
enum:
|
||
- UDP
|
||
- TCP
|
||
default: UDP
|
||
TypeReceiver:
|
||
type: string
|
||
enum:
|
||
- OPC_UA
|
||
- syslog
|
||
SeverityLevel:
|
||
type: integer
|
||
enum:
|
||
- 0
|
||
- 10
|
||
- 40
|
||
- 70
|
||
- 90
|
||
- 100
|
||
description: |
|
||
Уровень критичности инцидента.
|
||
|
||
0 - Minimal severity,
|
||
10 - Info severity,
|
||
40 - Low severity,
|
||
70 - Medium severity,
|
||
90 - High severity,
|
||
100 - Critical severity
|
||
default: 0
|
||
BaseReceiver:
|
||
properties:
|
||
id:
|
||
type: integer
|
||
readOnly: true
|
||
type:
|
||
$ref: '#/components/schemas/TypeReceiver'
|
||
cef_format:
|
||
type: boolean
|
||
default: true
|
||
message_filter:
|
||
type: string
|
||
default: ''
|
||
message_min_severity:
|
||
$ref: '#/components/schemas/SeverityLevel'
|
||
export_status:
|
||
type: boolean
|
||
default: true
|
||
OPCUAReceiver:
|
||
properties:
|
||
id:
|
||
type: integer
|
||
readOnly: true
|
||
host:
|
||
type: string
|
||
port:
|
||
type: integer
|
||
node_number:
|
||
type: integer
|
||
receiver:
|
||
$ref: '#/components/schemas/BaseReceiver'
|
||
SyslogReceiver:
|
||
properties:
|
||
id:
|
||
type: integer
|
||
readOnly: true
|
||
host:
|
||
type: string
|
||
port:
|
||
type: integer
|
||
protocol:
|
||
$ref: '#/components/schemas/SyslogProtocol'
|
||
receiver:
|
||
$ref: '#/components/schemas/BaseReceiver'
|