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

Создание макроса

Запрос

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

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

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

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

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

Параметр Тип Обязательность Описание
name string Required Название макроса
content string Required Код макроса
is_system boolean Required Флаг: является ли макрос системным
Пример тела запроса

{
  "name": "string",
  "content": "string",
  "is_system": true
}

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

Статус код: 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": "string",
  "content": "string",
  "is_system": true,
  "logmule_go_rules": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "created_at": "2023-12-20T00:00:01.652259Z",
      "updated_at": "2023-12-20T00:00:01.652259Z",
      "name": "string",
      "frontend_data": {
        "alert": {
          "id": "uuid",
          "trace_id": "uuid",
          "name": "string",
          "create_incident": true,
          "assign_to_customer": true,
          "risk_level": 5.35,
          "asset_ip": "string",
          "asset_hostname": "string",
          "asset_fqdn": "string",
          "asset_mac": "string",
          "first_and_last_logs": false,
          "trim_logs": 1,
          "template": "string",
          "mitre": ""
        },
        "grouper": {
          "id": "uuid",
          "trace_id": "uuid",
          "name": "string",
          "grouped_by": [
            "string"
          ],
          "aggregated_by": [
            "string"
          ],
          "grouped_time_field": "string",
          "grouped_time_type": "2023-12-20T00:00:01.652259Z",
          "detection_windows": 5,
          "detection_windows_unit": "ms",
          "aggregate_count": 1,
          "aggregate_unique": true
        },
        "actions": [
          {
            "TTL": "string",
            "key": {
              "_default": {
                "type": "value",
                "value": "string"
              }
            },
            "type": "store-set",
            "store": "string",
            "value": "string",
            "column": "string"
          }
        ],
        "conditions": [
          {
            "type": "compare-condition",
            "id": "uuid",
            "parentId": null,
            "negation": false,
            "compareFn": "eq",
            "expressions": [
              {
                "type": "logline-get",
                "value": "string"
              }
            ]
          }
        ],
        "version": 2
      },
      "test_data": [
        {}
      ],
      "settings": {
        "function_metrics": false,
        "is_constructor": false,
        "max_alerts": 1,
        "max_alerts_per_second": 1,
        "max_rule_memory_mb": 1
      },
      "active": true,
      "reload": true,
      "finding_id": "uuid",
      "description": "string",
      "lua": "string",
      "is_retro": false,
      "is_system": true,
      "stats": {
        "result_count": 1,
        "error_count": 0
      },
      "is_error": 0,
      "running_at": "2023-12-20T00:00:01.652259Z"
    }
  ],
  "_relations": {
    "logmule_go_rules": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ]
  }
}

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

Код Ответ Описание
400 Bad Request Неверный тип параметра запроса, либо отсутствует обязательный параметр
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
}