Tasks

Scheme: tasks.

GET
/api/tasks
Получение списка задач

Запрос

Параметры запроса:

Name

In

Type

Description

where (Optional)

url parameters

JSON object

Фильтр элементов. Используется синтаксис mongo запросов.

sort (Optional)

url parameters

string

Сортировка элементов.

projection (Optional)

url parameters

JSON object

Скрытие полей.

embedded (Optional)

url parameters

JSON object

Встраивание элементов в поля.

page (Optional)

url parameters

integer

Номер страницы элементов.

max_results (Optional)

url parameters

integer

Максимальное число элементов на одной странице.

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

curl -X GET http://tkcontrol/api/tasks

Ответ

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

{
    "_items": [
        {
            "_id": "5eb55bc3f0e593e6ec94f3ca",
            "salt_client": "local_async",
            "name": "New Task",
            "fun": "cmd.run",
            "kwarg": {
               "cmd": "uname"
            },
           "start": "Fri, 08 May 2020 00:00:00 GMT",
            "status": "scheduled",
            "tgt": [
                "medpc-fe5f87.localdomain",
                "medpc-6616cd.localdomain"
            ],
            "interval": 180,
            "end": "Sat, 09 May 2020 00:00:00 GMT",
            "next": "Fri, 08 May 2020 13:20:00 GMT",
            "count_of_execution": 1,
            "_updated": "Fri, 08 May 2020 13:17:23 GMT",
            "_created": "Fri, 08 May 2020 13:16:51 GMT",
            "_links": {
                "self": {
                    "title": "Task",
                    "href": "tasks/5eb55bc3f0e593e6ec94f3ca"
                }
            }
        }
    ],
    "_links": {
        "parent": {
            "title": "home",
            "href": "/"
        },
        "self": {
            "title": "tasks",
            "href": "tasks"
        }
    },
    "_meta": {
        "page": 1,
        "max_results": 25,
        "total": 1
    }
}
GET
/api/tasks/{id}
Получение задачи по id

Запрос

Параметры запроса:

Name

In

Type

Description

projection (Optional)

url parameters

JSON object

Скрытие полей.

embedded (Optional)

url parameters

JSON object

Встраивание элементов в поля.

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

curl -X GET http://tkcontrol/api/tasks/5eb55bc3f0e593e6ec94f3ca

Ответ

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

{
    "_id": "5eb55bc3f0e593e6ec94f3ca",
    "salt_client": "local_async",
    "name": "New Task",
    "fun": "cmd.run",
    "kwarg": {
        "cmd": "uname"
     },
    "start": "Fri, 08 May 2020 00:00:00 GMT",
    "status": "scheduled",
     "tgt": [
        "medpc-fe5f87.localdomain",
        "medpc-6616cd.localdomain"
    ],
    "interval": 180,
    "end": "Sat, 09 May 2020 00:00:00 GMT",
    "next": "Fri, 08 May 2020 13:20:00 GMT",
    "count_of_execution": 1,
    "_updated": "Fri, 08 May 2020 13:17:23 GMT",
    "_created": "Fri, 08 May 2020 13:16:51 GMT",
    "_links": {
        "self": {
            "title": "Task",
            "href": "tasks/5eb55bc3f0e593e6ec94f3ca"
        },
        "parent": {
            "title": "home",
            "href": "/"
        },
        "collection": {
            "title": "tasks",
            "href": "tasks"
        }
    }
}
POST
/api/tasks
Создание новой задачи

Запрос

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

curl -X POST http://tkcontrol/api/tasks -H "Content-Type: application/json" -d '{ \
     { \
         "salt_client": "local_async", \
         "name": "Super task", \
         "fun": "cmd.run", \
         "kwarg": { \
             "cmd": "ls /" \
         }, \
         "start": "2020-05-14 00:03", \
         "status": "scheduled", \
         "tgt": [ \
             "salt-minion-staging-1" \
         ] \
     }'
PATCH
/api/tasks/{id}/{status}
Изменение статуса задачи

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

curl -X PATCH http://tkcontrol/api/tasks/5eb55c83f0e593e6ec94f3cb/paused
PUT
/api/tasks
Изменение задачи

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

curl -X PUT http://tkcontrol/api/tasks -H "Content-Type: application/json" -d '{ \
     { \
         "tgt": [ \
             "salt-minion-staging-1", \
             "salt-minion-2" \
         ] \
     }'
DELETE
/api/tasks/{id}
Удаление задачи по id

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

curl -X DELETE http://tkcontrol/api/tasks/5eb55c83f0e593e6ec94f3cb