Перейти к содержанию

Создание правила соответствия ПО

Запрос

Тип Метод
POST /rules/create

Описание: При выполнении запроса будет создано правило соответствия ПО с заданными параметрами.

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

POST
http://127.0.0.1/cruddy/v2/rules/create

Тело запроса:

Параметр Тип данных Обязательность Описание
trace_id string Required Идентификатор трассировки действия пользователя для аудиа
name string Required Уникальное название правила соответствия (<= 250 знаков)
query string Required Регулярное выражение, описывающее правило соответствия ПО. Должно соответствовать требованиям postgres tsquery
blacklist_entry boolean Optional Флаг, проверки ПО в черном списке. Если флаг включен, то для соответствия данному правилу программное обеспечение не должно быть установлено
_relations object Optional Словарь описывающий связанные модели через идентификаторы
_relations{rule_sets} Array<string> Optional Массив ID наборов правил соответствия ПО
Пример тела запроса

{
  "trace_id": "uuid",
  "name": "test-rule",
  "query": "(adobe & photoshop) | (gnu & gimp)",
  "blacklist_entry": false,
  "_relations": {
    "rule_sets": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ]
  }
}

Успешный ответ

Статус код: 201 - успешное создание правила соответствия ПО.

Формат: JSON.

Тело ответа: модель созданного правила.

Пример ответа

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created_at": "2023-12-20T00:00:01.652259Z",
  "updated_at": "2023-12-20T00:00:01.652259Z",
  "name": "test-rule",
  "query": "(adobe & photoshop) | (gnu & gimp)",
  "blacklist_entry": false,
  "rule_sets": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "created_at": "2023-12-20T00:00:01.652259Z",
      "updated_at": "2023-12-20T00:00:01.652259Z",
      "name": "New rule set",
      "create_service_asset_findings": false
    }
  ],
  "_relations": {
    "rule_sets": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ]
  }
}

Другие возможные ответы

Код Ответ Описание
400 1. Bad Request
2. invalid query
3. name should not be empty
4. incorrect relation identifiers for ‘rule_sets’
5. exceeded maximum length for a value
1. Неверный тип параметра запроса, либо отсутствует обязательный параметр
2. Поле query не прошло валидацию
3. Поле name не может быть пустым
4. Ошибка при создании связи: набор правил не найден или ID имеет недопустимый формат
5. Превышена максимальная длина поля name
409 name_already_used Попытка создать объект с существующим уникальным атрибутом
500 Internal Server Error Другие ошибки при создании объекта

Примечание: Текст ошибки не фиксированный, может изменяться в зависимости от фактического ответа получателя запроса.

Пример ответа

Код 400

{
  "error": "Bad Request",
  "error_code": 400
}

Код 409

{
  "error": "name_already_used",
  "error_code": 409,
  "extra": {
    "fields": [
      "name"
    ]
  }
}

Код 500

{
  "error": "Internal Server Error",
  "error_code": 500
}