REST API
Примечание
Для получения доступа к REST API необходим токен. Получение токена описано во вкладке с дополнительной информацией.
Scheduler API
Позволяет осуществлять запуск функций модулей или платформы OpenStack в необходимый период времени или по расписанию.
Информация о модуле
Подробная информация о модуле.
Пример запроса:
curl -X GET -H "X-Auth-Token: $token" -H "Content-Type: application/json" http://controller:10001/info/ | python -m json.tool
Ответ
Параметры ответа:
Name |
In |
Type |
Description |
|---|---|---|---|
info |
body |
object |
Информация. |
version |
body |
string |
Версия. |
Пример получения информации о модуле в JSON формате:
{
"info": {
"version": "2.0"
}
}
Запланированные задачи
Действия с запланированными задачами.
Просмотр перечня типов и групп объектов, доступных для планирования задач.
Пример запроса:
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",
"trs"
],
"hypervisor": [
"admin"
],
"instance": [
"admin",
"trs",
"project"
],
"project": [
"trs",
"identity"
],
"volume": [
"admin",
"project"
]
}
}
Просмотр списка доступных функций для планирования задач.
Запрос
Параметры запроса:
Name |
In |
Type |
Description |
|---|---|---|---|
type |
query |
string |
Тип объекта для планирования. Возможные значения:
|
groups |
query |
string |
Группа типа объекта для планирования. Возможные значения:
|
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"
]
]
Получение списка выполняющихся задач.
Запрос
Параметры запроса:
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 |
Фильтрация по типу субъекта. Возможные значения:
|
subject_group (Optional) |
query |
string |
Фильтрация по группе объекта. Возможные значения:
|
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 |
Тип объекта. Возможные значения:
|
subject_group |
body |
string |
Группа объекта. Возможные значения:
|
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
}
Получение подробной информации о задаче.
Запрос
Параметры запроса:
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. Пример: |
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 |
Тип объекта. Возможные значения:
|
subject_group |
body |
string |
Группа объекта. Возможные значения:
|
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": "cloud_manager.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"
}
Создание задачи с определенными параметрами.
Запрос
Name |
In |
Type |
Description |
|---|---|---|---|
unique_name |
body |
string |
Наименование действия. |
subject_type |
body |
string |
Тип объекта. Возможные значения:
|
subject_group |
body |
string |
Группа объекта. Возможные значения:
|
description |
body |
string |
Название задачи. |
author_name |
body |
string |
Пользователь, создавший задачу. |
expires |
body |
string |
Время действия запланированной задачи. |
repeat |
body |
string |
Флаг, указывающий на то, является ли задача периодической. |
run_count_limit (Optional) |
body |
string |
Максимальное количество повторений. |
crontab (Optional) |
body |
string |
Настройки cron. Пример: |
begin_time |
body |
string |
Время начала выполнения задачи. |
timezone |
body |
string |
Часовой пояс. |
subject |
body |
string |
Наименование субъекта задачи. |
begin_date |
body |
string |
Дата начала выполнения задачи. |
subject_id |
body |
string |
Идентификатор субъекта задачи. |
key_arguments |
body |
list |
Параметры аутентификации и дополнительные параметры задачи. Пример: |
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. Пример: |
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 |
Тип объекта. Возможные значения:
|
subject_group |
body |
string |
Группа объекта. Возможные значения:
|
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": "cloud_manager.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"
}
Запрос
Параметры запроса:
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. Пример: |
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 |
Тип объекта. Возможные значения:
|
subject_group |
body |
string |
Группа объекта. Возможные значения:
|
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": "cloud_manager.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"
}
Запрос
Параметры запроса:
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. Пример: |
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 |
Тип объекта. Возможные значения:
|
subject_group |
body |
string |
Группа объекта. Возможные значения:
|
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": "cloud_manager.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"
}
Удаление конкретной задачи.
Запрос
Параметры запроса:
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/
Эта операция не имеет содержания ответа.
Запрос
Name |
In |
Type |
Description |
|---|---|---|---|
subject_type |
path |
string |
Тип объекта. Возможные значения:
|
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"
Эта операция не имеет содержания ответа.