REST API

Примечание

Для получения доступа к REST API необходим токен. Получение токена описано во вкладке с дополнительной информацией.


SchedulerAPI

Позволяет осуществлять запуск функций модулей TIONIX или платформы OpenStack в необходимый период времени или по расписанию.

Информация о модуле

Подробная информация о модуле.

GET
/tnx-scheduler/
Получение подробной информации о модуле.
Пример запроса:
curl -X GET -H "X-Auth-Token: $token" -H "Content-Type: application/json" http://controller:10001/tnx-scheduler/ | python -m json.tool
Ответ
Параметры ответа:
Name In Type Description
info body object Информация.
version body string Версия.

Пример получения информации о модуле в JSON формате:

{
    "info": {
        "version": "2.0"
    }
}

Запланированные задачи

Действия с запланированными задачами.

GET
/timetable/task_objects/
Получение списка объектов для планирования задач.

Просмотр перечня типов и групп объектов, доступных для планирования задач.

Пример запроса:
curl -X GET -H "X-Auth-Token: $token" -H "Content-Type: application/json" http://controller:10001/timetable/task_objects/ | python -m json.tool
Ответ
Параметры ответа:
Name In Type Description
object_types body object Перечень типов и групп объектов.
hypervisor body array Гипервизор.
instance body array Виртуальная машина.
project body array Проект.
volume body array Диск.

Пример результата в JSON формате:

HTTP 200 OK
Content-Type: application/json

{
    "object_types": {
        "all": [
            "admin",
            "project",
            "identity",
            "vdi"
        ],
        "hypervisor": [
            "admin"
        ],
        "instance": [
            "admin",
            "vdi",
            "project"
        ],
        "project": [
            "vdi",
            "identity"
        ],
        "volume": [
            "admin",
            "project"
        ]
    }
}
GET
/timetable/tasks_list/
Получение списка функций для планирования задач.

Просмотр списка доступных функций для планирования задач.

Запрос
Параметры запроса:
Name In Type Description
type query string

Тип объекта для планирования. Возможные значения:

  • hypervisor - гипервизор;
  • instance - виртуальная машина;
  • volume - диск;
  • project - проект.
groups query string

Группа типа объекта для планирования. Возможные значения:

  • admin администратор;
  • project - проект;
  • vdi - VDI.
locale (Optional) query string Выбор языка.
Пример запроса:
curl -X GET -H "X-Auth-Token: $token" -H "Content-Type: application/json" http://controller:10001/timetable/tasks_list/?type=hypervisor'&'groups=admin | python -m json.tool
Ответ

Пример результата в JSON формате:

HTTP 200 OK
Content-Type: application/json

[
    [
        "node_power_on",
        "Power on"
    ],
    [
        "run_request",
        "Run curl request"
    ],
    [
        "host_shutdown",
        "Shutdown"
    ],
    [
        "node_power_off",
        "Power off"
    ],
    [
        "run_command",
        "Run openstack shell command"
    ]
]
GET
/timetable/tasks_monitoring/
Получение списка выполняющихся задач.

Получение списка выполняющихся задач.

Запрос
Параметры запроса:
Name In Type Description
tenant_id query string Идентификатор проекта.
offset (Optional) query string Номер позиции для получения данных.
limit (Optional) query string Ограничение количества получаемых данных.
all_tenants (Optional) query bool Получение списка задач, запланированных во всех проектах, доступных пользователю, или только в текущем проекте. По умолчанию: False.
sort_key (Optional) query string Наименование поля для сортировки.
locale (Optional) query string Выбор языка.
filter_tenants (Optional) query list Фильтрация задач по идентификаторам проектов.
start_date (Optional) query string Фильтрация задач по дате создания (начальная дата).
end_date (Optional) query string Фильтрация задач по дате создания (конечная дата).
show_deleted (Optional) query bool Вывод удаленных задач. По умолчанию: False.
subject_id (Optional) query string Идентификатор субъекта задачи.
subject_type (Optional) query string

Фильтрация по типу субъекта. Возможные значения:

  • hypervisor - гипервизор;
  • instance - виртуальная машина;
  • volume - диск;
  • project - проект.
subject_group (Optional) query string

Фильтрация по группе объекта. Возможные значения:

  • admin - администратор;
  • project - проект;
  • vdi - VDI;
  • identity - идентификация.
name (Optional) query string Фильтрация по описанию задачи.
status (Optional) query bool Фильтрация по полю enabled периодической задачи.
type (Optional) query string

Фильтрация по типу задачи. Возможные значения:

  • разовая;
  • повторяющаяся.
action (Optional) query string Фильтрация по наименованию действия.
Пример запроса:
curl -X GET -H "X-Auth-Token: $token" -H "Content-Type: application/json" http://controller:10001/timetable/tasks_monitoring/?tenant_id=$tenant | python -m json.tool
Ответ
Параметры ответа:
Name In Type Description
rows body array Список задач планировщика.
action body string Наименование действия.
author_name body string Пользователь, создавший задачу.
begin_date body string Дата начала выполнения задачи.
begin_time body string Время начала выполнения задачи.
created_at body string Дата и время создания.
deleted body bool Флаг, указывающий на то, что задача удалена.
deleted_at (Optional) body string Дата и время удаления.
enabled body bool Флаг, показывающий, активна ли задача.
expires body string Время действия запланированной задачи.
timetable_id query string Идентификатор задачи.
last_run_at (Optional) body string Дата и время последнего запуска задачи.
name (Optional) query string Фильтрация по описанию задачи.
repeat body string Флаг, указывающий на то, является ли задача периодической.
schedule body string Дополнительная информация.
subject body string Наименование субъекта задачи.
subject_id body string Идентификатор субъекта задачи.
subject_type body string

Тип объекта. Возможные значения:

  • hypervisor - гипервизор;
  • instance - виртуальная машина;
  • volume - диск;
  • project - проект.
subject_group body string

Группа объекта. Возможные значения:

  • admin - администратор;
  • project - проект;
  • vdi - VDI;
  • identity - идентификация.
tenant_id body string Идентификатор проекта.
timezone body string Часовой пояс.
total_run_count body integer Общее количество запусков задачи.
last_run_result body string Результат последнего запуска.
unique_name body string Наименование действия.
total_count body integer Общее количество задач.

Пример результата в JSON формате:

HTTP 200 OK
Content-Type: application/json

{
    "rows": [
        {
            "action": "Suspend Instance",
            "author_name": "admin",
            "begin_date": "2018-11-23",
            "begin_time": "08:46:00",
            "created_at": "2018-11-23T08:43:04.311732Z",
            "deleted": false,
            "deleted_at": null,
            "enabled": false,
            "expires": "2018-11-23T23:59:59Z",
            "last_run_at": "2018-11-23T08:46:00.010190Z",
            "last_run_result": "success",
            "name": "test1",
            "repeat": false,
            "schedule": "<crontab: 46 8 * 23 11 (m/h/d/dM/MY)>",
            "subject": "test",
            "subject_group": "project",
            "subject_id": "19c06232-ee43-4e75-b4c9-3575bb17d753",
            "subject_type": "instance",
            "tenant_id": "db0d89f6c40c46b4a6879ee1b1a1d907",
            "timetable_id": 3,
            "timezone": "Europe/Moscow",
            "total_run_count": 1,
            "unique_name": "server_suspend"
        }
    ],
    "total_count": 1
}
GET
/timetable/{timetable_id}/
Получение подробной информации о задаче.

Получение подробной информации о задаче.

Запрос
Параметры запроса:
Name In Type Description
timetable_id query string Идентификатор задачи.
Пример запроса:
curl -X GET -H "X-Auth-Token: $token" -H "Content-Type: application/json" http://controller:10001/timetable/5/ | python -m json.tool
Ответ
Параметры ответа:
Name In Type Description
author_name body string Пользователь, создавший задачу.
begin_date body string Дата начала выполнения задачи.
begin_time body string Время начала выполнения задачи.
created_at body string Дата и время создания.
description body string Название задачи.
timetable_id query string Идентификатор задачи.
periodic_task body object Свойства периодичности.
args body string Дополнительные аргументы.
crontab (Optional) body string Настройки cron. Пример: "crontab":{"month_of_year": "5", "day_of_week": "*", "hour": "10", "minute": "35", "day_of_month": "17"}.
day_of_month body string День месяца.
day_of_week body string День недели.
hour body string Час.
minute body string Минута.
month_of_year body string Месяц.
date_changed body string Дата и время изменения.
description body string Название задачи.
enabled body bool Флаг, показывающий, активна ли задача.
exchange (Optional) body string Изменение.
expires body string Время действия запланированной задачи.
task_id body integer Идентификатор запуска периодической задачи.
interval (Optional) body string Интервал периодичности выполнения задачи.
kwargs body string Дополнительные аргументы.
last_run_at (Optional) body string Дата и время последнего запуска задачи.
name (Optional) query string Фильтрация по описанию задачи.
next_run_time body string Дата и время следующего запуска.
queue (Optional) body string Очередь задач.
routing_key (Optional) body string Ключ маршрутизации.
task body string Имя задачи.
total_run_count body integer Общее количество запусков задачи.
repeat body string Флаг, указывающий на то, является ли задача периодической.
run_count_limit (Optional) body string Максимальное количество повторений.
last_run_message body string Сообщение после последнего запуска.
last_run_result body string Результат последнего запуска.
subject body string Наименование субъекта задачи.
subject_id body string Идентификатор субъекта задачи.
subject_type body string

Тип объекта. Возможные значения:

  • hypervisor - гипервизор;
  • instance - виртуальная машина;
  • volume - диск;
  • project - проект.
subject_group body string

Группа объекта. Возможные значения:

  • admin - администратор;
  • project - проект;
  • vdi - VDI;
  • identity - идентификация.
tenant_id body string Идентификатор проекта.
timezone body string Часовой пояс.
unique_name body string Наименование действия.

Пример результата в JSON формате:

HTTP 200 OK
Content-Type: application/json

{
    "author_name": "admin",
    "begin_date": "2018-11-23",
    "begin_time": "08:46:00",
    "created_at": "2018-11-23T08:43:04.311732Z",
    "deleted": false,
    "description": "test1",
    "id": 3,
    "last_run_message": "Instance \"test\" is successfully suspended.",
    "last_run_result": "success",
    "periodic_task": {
        "args": "[]",
        "crontab": {
            "day_of_month": "23",
            "day_of_week": "*",
            "hour": "8",
            "minute": "46",
            "month_of_year": "11"
        },
        "date_changed": "2018-11-23T08:46:01.920124Z",
        "description": "",
        "enabled": false,
        "exchange": null,
        "expires": "2018-11-23T23:59:59Z",
        "id": 4,
        "interval": null,
        "kwargs": "{\"user_domain_name\": \"Default\", \"object_id\": \"19c06232-ee43-4e75-b4c9-3575bb17d753\", \"timetable_id\": \"3\", \"object_name\": \"test\", \"repeatable\": false, \"trust_id\": \"52fc433d2a24400b906bd223001a400a\", \"periodic_task_uuid_name\": \"df205e30-33fd-486a-8be4-bcdb536c18de\", \"user_name\": \"admin\", \"tenant\": \"db0d89f6c40c46b4a6879ee1b1a1d907\"}",
        "last_run_at": "2018-11-23T08:46:00.010190Z",
        "name": "df205e30-33fd-486a-8be4-bcdb536c18de",
        "next_run_time": null,
        "queue": null,
        "routing_key": null,
        "task": "tionix_node_control.scheduler_tasks.server_suspend.server_suspend",
        "total_run_count": 1
    },
    "repeat": false,
    "run_count_limit": null,
    "subject": "test",
    "subject_group": "project",
    "subject_id": "19c06232-ee43-4e75-b4c9-3575bb17d753",
    "subject_type": "instance",
    "tenant_id": "db0d89f6c40c46b4a6879ee1b1a1d907",
    "timetable_id": 3,
    "timezone": "Europe/Moscow",
    "unique_name": "server_suspend"
}
POST
/timetable/
Создание задачи.

Создание задачи с определенными параметрами.

Запрос
Name In Type Description
unique_name body string Наименование действия.
subject_type body string

Тип объекта. Возможные значения:

  • hypervisor - гипервизор;
  • instance - виртуальная машина;
  • volume - диск;
  • project - проект.

Примечание

При выборе типа volume необходимо иметь ввиду, что создание задачи для диска возможно только если он находится в статусе «Доступен».

subject_group body string

Группа объекта. Возможные значения:

  • admin - администратор;
  • project - проект;
  • vdi - VDI;
  • identity - идентификация.
description body string Название задачи.
author_name body string Пользователь, создавший задачу.
expires body string Время действия запланированной задачи.
repeat body string Флаг, указывающий на то, является ли задача периодической.
run_count_limit (Optional) body string Максимальное количество повторений.
crontab (Optional) body string Настройки cron. Пример: "crontab":{"month_of_year": "5", "day_of_week": "*", "hour": "10", "minute": "35", "day_of_month": "17"}.
begin_time body string Время начала выполнения задачи.
timezone body string Часовой пояс.
subject body string Наименование субъекта задачи.
begin_date body string Дата начала выполнения задачи.
subject_id body string Идентификатор субъекта задачи.
key_arguments body list Параметры аутентификации и дополнительные параметры задачи. Пример: "key_arguments":"{\"user_domain_name\": \"default\", \"user_name\": \"admin\", \"user_password\": \"password\", \"tenant\": \"70ac61efe4a64d29a3839a17cd31e393\"}".
tenant_id body string Идентификатор проекта.
object_id body string Идентификатор объекта задачи. Аргумент запроса, необходимый для дополнительной валидации.
object_name body string Имя объекта задачи. Аргумент запроса, необходимый для дополнительной валидации.
Пример запроса:
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"unique_name":"server_suspend", "subject_type":"instance", "subject_group":"project", "begin_date":"2018-12-05", "description":"xz", "key_arguments":"{\"user_domain_name\": \"default\", \"user_name\": \"admin\", \"user_password\": \"password\", \"tenant\": \"db0d89f6c40c46b4a6879ee1b1a1d907\"}", "subject_id":"19c06232-ee43-4e75-b4c9-3575bb17d753", "expires":"2018-12-20 23:59:59", "author_name":"admin", "ending":"2018-12-20", "repeat":"False", "crontab": {"day_of_month":"*", "minute":"0", "hour":"0", "day_of_week":"*", "month_of_year":"*" }, "begin_time":"16:30:00", "timezone":"UTC", "tenant_id":"db0d89f6c40c46b4a6879ee1b1a1d907", "author_name":"admin", "subject":"test"}' http://controller:10001/timetable/ | python -m json.tool
Ответ
Параметры ответа:
Name In Type Description
timetable_id query string Идентификатор задачи.
author_name body string Пользователь, создавший задачу.
tenant_id body string Идентификатор проекта.
description body string Название задачи.
unique_name body string Наименование действия.
repeat body string Флаг, указывающий на то, является ли задача периодической.
run_count_limit (Optional) body string Максимальное количество повторений.
subject body string Наименование субъекта задачи.
begin_date body string Дата начала выполнения задачи.
begin_time body string Время начала выполнения задачи.
timezone body string Часовой пояс.
created_at body string Дата и время создания.
periodic_task body object Свойства периодичности.
task_id body integer Идентификатор запуска периодической задачи.
name (Optional) query string Фильтрация по описанию задачи.
task body string Имя задачи.
args body string Дополнительные аргументы.
kwargs body string Дополнительные аргументы.
queue (Optional) body string Очередь задач.
exchange (Optional) body string Изменение.
routing_key (Optional) body string Ключ маршрутизации.
expires body string Время действия запланированной задачи.
enabled body bool Флаг, показывающий, активна ли задача.
last_run_at (Optional) body string Дата и время последнего запуска задачи.
total_run_count body integer Общее количество запусков задачи.
date_changed body string Дата и время изменения.
description body string Название задачи.
crontab (Optional) body string Настройки cron. Пример: "crontab":{"month_of_year": "5", "day_of_week": "*", "hour": "10", "minute": "35", "day_of_month": "17"}.
id body integer Идентификатор.
minute body string Минута.
hour body string Час.
day_of_week body string День недели.
day_of_month body string День месяца.
month_of_year body string Месяц.
subject_type body string

Тип объекта. Возможные значения:

  • hypervisor - гипервизор;
  • instance - виртуальная машина;
  • volume - диск;
  • project - проект.
subject_group body string

Группа объекта. Возможные значения:

  • admin - администратор;
  • project - проект;
  • vdi - VDI;
  • identity - идентификация.
subject_id body string Идентификатор субъекта задачи.

Пример результата в JSON формате:

{
    "author_name": "admin",
    "begin_date": "2018-12-05",
    "begin_time": "16:30:00",
    "created_at": "2018-12-05T13:29:07.186864Z",
    "deleted": false,
    "description": "xz",
    "id": 9,
    "last_run_message": "",
    "last_run_result": "",
    "periodic_task": {
        "args": "[]",
        "crontab": {
            "day_of_month": "*",
            "day_of_week": "*",
            "hour": "0",
            "minute": "0",
            "month_of_year": "*"
        },
        "date_changed": "2018-12-05T13:29:07.223478Z",
        "description": "",
        "enabled": true,
        "exchange": null,
        "expires": "2018-12-20T23:59:59Z",
        "id": 10,
        "interval": null,
        "kwargs": "{\"user_domain_name\": \"default\", \"object_id\": \"19c06232-ee43-4e75-b4c9-3575bb17d753\", \"timetable_id\": \"9\", \"object_name\": \"test\", \"repeatable\": false, \"trust_id\": \"1891d3254e0f4a7e9e527cca3dc26235\", \"periodic_task_uuid_name\": \"d03fe52b-4af5-44a9-8738-b9f30e54d079\", \"user_name\": \"admin\", \"tenant\": \"db0d89f6c40c46b4a6879ee1b1a1d907\"}",
        "last_run_at": null,
        "name": "d03fe52b-4af5-44a9-8738-b9f30e54d079",
        "next_run_time": "2018-12-06T00:00:00.999148",
        "queue": null,
        "routing_key": null,
        "task": "tionix_node_control.scheduler_tasks.server_suspend.server_suspend",
        "total_run_count": 0
    },
    "repeat": false,
    "run_count_limit": null,
    "subject": "test",
    "subject_group": "project",
    "subject_id": "19c06232-ee43-4e75-b4c9-3575bb17d753",
    "subject_type": "instance",
    "tenant_id": "db0d89f6c40c46b4a6879ee1b1a1d907",
    "timetable_id": 9,
    "timezone": "UTC",
    "unique_name": "server_suspend"
}
PATCH
/timetable/{timetable_id}/
Обновление задачи.
Запрос
Параметры запроса:
Name In Type Description
offset (Optional) query string Номер позиции для получения данных.
limit (Optional) query string Ограничение количества получаемых данных.
tenant_id body string Идентификатор проекта.
timetable_id query string Идентификатор задачи.
Пример запроса:
Любые из атрибутов задачи, кроме crontab

curl -X PATCH -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"unique_name":"server_suspend", "subject_type":"instance", "subject_group":"project", "begin_date":"2018-12-05", "description":"new description", "key_arguments":"{\"user_domain_name\": \"default\", \"user_name\": \"admin\", \"user_password\": \"password\", \"tenant\": \"db0d89f6c40c46b4a6879ee1b1a1d907\"}", "subject_id":"19c06232-ee43-4e75-b4c9-3575bb17d753", "expires":"2018-12-20 23:59:59", "author_name":"admin", "ending":"2018-12-20", "repeat":"False", "begin_time":"16:30:00", "timezone":"UTC", "tenant_id":"db0d89f6c40c46b4a6879ee1b1a1d907", "author_name":"admin", "subject":"test"}' http://controller:10001/timetable/9/ | python -m json.tool
Ответ
Параметры ответа:
Name In Type Description
author_name body string Пользователь, создавший задачу.
begin_date body string Дата начала выполнения задачи.
begin_time body string Время начала выполнения задачи.
created_at body string Дата и время создания.
description body string Название задачи.
timetable_id query string Идентификатор задачи.
password body string Пароль пользователя, создавшего задачу.
periodic_task body object Свойства периодичности.
crontab (Optional) body string Настройки cron. Пример: "crontab":{"month_of_year": "5", "day_of_week": "*", "hour": "10", "minute": "35", "day_of_month": "17"}.
day_of_month body string День месяца.
day_of_week body string День недели.
hour body string Час.
task_id body integer Идентификатор запуска периодической задачи.
minute body string Минута.
month_of_year body string Месяц.
date_changed body string Дата и время изменения.
description body string Название задачи.
enabled body bool Флаг, показывающий, активна ли задача.
exchange (Optional) body string Изменение.
expires body string Время действия запланированной задачи.
id body integer Идентификатор.
kwargs body string Дополнительные аргументы.
last_run_at (Optional) body string Дата и время последнего запуска задачи.
name (Optional) query string Фильтрация по описанию задачи.
queue (Optional) body string Очередь задач.
routing_key (Optional) body string Ключ маршрутизации.
task body string Имя задачи.
total_run_count body integer Общее количество запусков задачи.
repeat body string Флаг, указывающий на то, является ли задача периодической.
subject body string Наименование субъекта задачи.
subject_id body string Идентификатор субъекта задачи.
subject_type body string

Тип объекта. Возможные значения:

  • hypervisor - гипервизор;
  • instance - виртуальная машина;
  • volume - диск;
  • project - проект.
subject_group body string

Группа объекта. Возможные значения:

  • admin - администратор;
  • project - проект;
  • vdi - VDI;
  • identity - идентификация.
tenant_id body string Идентификатор проекта.
timezone body string Часовой пояс.
unique_name body string Наименование действия.

Пример результата в JSON формате:

HTTP 200 OK
Content-Type: application/json

{
    "author_name": "admin",
    "begin_date": "2018-12-05",
    "begin_time": "16:30:00",
    "created_at": "2018-12-05T13:29:07.186864Z",
    "deleted": false,
    "description": "new description",
    "id": 9,
    "last_run_message": "",
    "last_run_result": "",
    "periodic_task": {
        "args": "[]",
        "crontab": {
            "day_of_month": "*",
            "day_of_week": "*",
            "hour": "0",
            "minute": "0",
            "month_of_year": "*"
        },
        "date_changed": "2018-12-05T13:29:07.223478Z",
        "description": "",
        "enabled": true,
        "exchange": null,
        "expires": "2018-12-20T23:59:59Z",
        "id": 10,
        "interval": null,
        "kwargs": "{\"user_domain_name\": \"default\", \"object_id\": \"19c06232-ee43-4e75-b4c9-3575bb17d753\", \"timetable_id\": \"9\", \"object_name\": \"test\", \"repeatable\": false, \"trust_id\": \"1891d3254e0f4a7e9e527cca3dc26235\", \"periodic_task_uuid_name\": \"d03fe52b-4af5-44a9-8738-b9f30e54d079\", \"user_name\": \"admin\", \"tenant\": \"db0d89f6c40c46b4a6879ee1b1a1d907\"}",
        "last_run_at": null,
        "name": "d03fe52b-4af5-44a9-8738-b9f30e54d079",
        "next_run_time": "2018-12-06T00:00:00.999148",
        "queue": null,
        "routing_key": null,
        "task": "tionix_node_control.scheduler_tasks.server_suspend.server_suspend",
        "total_run_count": 0
    },
    "repeat": false,
    "run_count_limit": null,
    "subject": "test",
    "subject_group": "project",
    "subject_id": "19c06232-ee43-4e75-b4c9-3575bb17d753",
    "subject_type": "instance",
    "tenant_id": "db0d89f6c40c46b4a6879ee1b1a1d907",
    "timetable_id": 9,
    "timezone": "UTC",
    "unique_name": "server_suspend"
}
PUT
/timetable/{timetable_id}/
Обновление расписания задачи.
Запрос
Параметры запроса:
Name In Type Description
offset (Optional) query string Номер позиции для получения данных.
limit (Optional) query string Ограничение количества получаемых данных.
tenant_id body string Идентификатор проекта.
timetable_id query string Идентификатор задачи.
Пример запроса:
Любые из атрибутов задачи, включая crontab

curl -X PUT -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"unique_name":"server_suspend", "subject_type":"instance", "subject_group":"project", "begin_date":"2018-12-05", "description":"xz", "key_arguments":"{\"user_domain_name\": \"default\", \"user_name\": \"admin\", \"user_password\": \"password\", \"tenant\": \"db0d89f6c40c46b4a6879ee1b1a1d907\"}", "subject_id":"19c06232-ee43-4e75-b4c9-3575bb17d753", "expires":"2018-12-20 23:59:59", "author_name":"admin", "ending":"2018-12-20", "repeat":"False", "crontab": {"day_of_month":"*", "minute":"0", "hour":"0", "day_of_week":"*", "month_of_year":"*" }, "begin_time":"16:30:00", "timezone":"UTC", "tenant_id":"db0d89f6c40c46b4a6879ee1b1a1d907", "author_name":"admin", "subject":"test"}' http://controller:10001/timetable/ | python -m json.tool
Ответ
Параметры ответа:
Name In Type Description
timetable_id query string Идентификатор задачи.
author_name body string Пользователь, создавший задачу.
tenant_id body string Идентификатор проекта.
description body string Название задачи.
unique_name body string Наименование действия.
repeat body string Флаг, указывающий на то, является ли задача периодической.
run_count_limit (Optional) body string Максимальное количество повторений.
subject body string Наименование субъекта задачи.
begin_date body string Дата начала выполнения задачи.
begin_time body string Время начала выполнения задачи.
timezone body string Часовой пояс.
created_at body string Дата и время создания.
periodic_task body object Свойства периодичности.
task_id body integer Идентификатор запуска периодической задачи.
name (Optional) query string Фильтрация по описанию задачи.
task body string Имя задачи.
args body string Дополнительные аргументы.
kwargs body string Дополнительные аргументы.
queue (Optional) body string Очередь задач.
exchange (Optional) body string Изменение.
routing_key (Optional) body string Ключ маршрутизации.
expires body string Время действия запланированной задачи.
enabled body bool Флаг, показывающий, активна ли задача.
last_run_at (Optional) body string Дата и время последнего запуска задачи.
total_run_count body integer Общее количество запусков задачи.
date_changed body string Дата и время изменения.
description body string Название задачи.
crontab (Optional) body string Настройки cron. Пример: "crontab":{"month_of_year": "5", "day_of_week": "*", "hour": "10", "minute": "35", "day_of_month": "17"}.
id body integer Идентификатор.
minute body string Минута.
hour body string Час.
day_of_week body string День недели.
day_of_month body string День месяца.
month_of_year body string Месяц.
subject_type body string

Тип объекта. Возможные значения:

  • hypervisor - гипервизор;
  • instance - виртуальная машина;
  • volume - диск;
  • project - проект.
subject_group body string

Группа объекта. Возможные значения:

  • admin - администратор;
  • project - проект;
  • vdi - VDI;
  • identity - идентификация.
subject_id body string Идентификатор субъекта задачи.

Пример результата в JSON формате:

HTTP 200 OK
Content-Type: application/json

{
    "author_name": "admin",
    "begin_date": "2018-12-05",
    "begin_time": "16:30:00",
    "created_at": "2018-12-05T13:29:07.186864Z",
    "deleted": false,
    "description": "xz",
    "id": 9,
    "last_run_message": "",
    "last_run_result": "",
    "periodic_task": {
        "args": "[]",
        "crontab": {
            "day_of_month": "*",
            "day_of_week": "*",
            "hour": "0",
            "minute": "0",
            "month_of_year": "*"
        },
        "date_changed": "2018-12-05T13:29:07.223478Z",
        "description": "",
        "enabled": true,
        "exchange": null,
        "expires": "2018-12-20T23:59:59Z",
        "id": 10,
        "interval": null,
        "kwargs": "{\"user_domain_name\": \"default\", \"object_id\": \"19c06232-ee43-4e75-b4c9-3575bb17d753\", \"timetable_id\": \"9\", \"object_name\": \"test\", \"repeatable\": false, \"trust_id\": \"1891d3254e0f4a7e9e527cca3dc26235\", \"periodic_task_uuid_name\": \"d03fe52b-4af5-44a9-8738-b9f30e54d079\", \"user_name\": \"admin\", \"tenant\": \"db0d89f6c40c46b4a6879ee1b1a1d907\"}",
        "last_run_at": null,
        "name": "d03fe52b-4af5-44a9-8738-b9f30e54d079",
        "next_run_time": "2018-12-06T00:00:00.999148",
        "queue": null,
        "routing_key": null,
        "task": "tionix_node_control.scheduler_tasks.server_suspend.server_suspend",
        "total_run_count": 0
    },
    "repeat": false,
    "run_count_limit": null,
    "subject": "test",
    "subject_group": "project",
    "subject_id": "19c06232-ee43-4e75-b4c9-3575bb17d753",
    "subject_type": "instance",
    "tenant_id": "db0d89f6c40c46b4a6879ee1b1a1d907",
    "timetable_id": 9,
    "timezone": "UTC",
    "unique_name": "server_suspend"
}
DELETE
/timetable/{timetable_id}/
Удаление задачи.

Удаление конкретной задачи.

Запрос
Параметры запроса:
Name In Type Description
offset (Optional) query string Номер позиции для получения данных.
limit (Optional) query string Ограничение количества получаемых данных.
timetable_id query string Идентификатор задачи.
Пример запроса:
curl -X DELETE -H "X-Auth-Token: $token" -H "Content-Type: application/json" http://controller:10001/timetable/5/

Эта операция не имеет содержания ответа.

DELETE
/timetable/tasks_monitoring/
Удаление задач заданного объекта.
Запрос
Name In Type Description
subject_type path string

Тип объекта. Возможные значения:

  • hypervisor - гипервизор;
  • instance - виртуальная машина;
  • volume - диск;
  • project - проект.
subject_id path string Идентификатор объекта задачи. Аргумент запроса, необходимый для дополнительной валидации.
Пример запроса:
curl -X DELETE -H "X-Auth-Token: $token" "http://controller:10001/timetable/tasks_monitoring/?subject_type=instance&subject_id=19c06232-ee43-4e75-b4c9-3575bb17d753"

Эта операция не имеет содержания ответа.

Подробное описание кодов ответа на запросы доступно во вкладке с дополнительной информацией.