REST API
Примечание
Для получения доступа к REST API необходим токен. Получение токена описано во вкладке с дополнительной информацией.
Journal API
Предоставляет API для доступа к журналу действий над облаком.
Сервис журналирования aos-journal-api
Предоставляет историю всех действий над объектами OpenStack.
Дает возможность получать подробную информацию обо всех действиях пользователей над объектами.
Запрос
Параметры запроса:
Name |
In |
Type |
Description |
|---|---|---|---|
id (Optional) |
path |
string |
Идентификатор записи в журнале. |
object_id (Optional) |
path |
string |
Идентификатор объекта. |
object_type (Optional) |
path |
string |
Тип объекта. |
action (Optional) |
path |
string |
Наименование действия. |
status (Optional) |
path |
string |
Статус действия. |
event_time (Optional) |
path |
string |
Дата и время выполнения действия. |
action_arguments |
path |
string |
Аргументы действия. |
response_code (Optional) |
path |
string |
Код ответа. |
message (Optional) |
path |
string |
Дополнительный комментарий к действию. |
user_id (Optional) |
path |
string |
Идентификатор пользователя. |
user_name (Optional) |
path |
string |
Имя пользователя. |
domain_id (Optional) |
query |
string |
Идентификатор домена, которому принадлежит пользователь. |
request_id (Optional) |
query |
string |
Идентификатор запроса. |
filter_project_id (Optional) |
query |
string |
Идентификатор проекта. Используется для фильтрации действий над указанным проектом и над виртуальными машинами проекта. |
filter_domain_id (Optional) |
query |
string |
Идентификатор домена. Используется для фильтрации действий над указанным доменом и действий, которые выполнены пользователем, принадлежащим указанному домену. |
offset (Optional) |
query |
string |
Номер позиции для получения данных. |
limit (Optional) |
query |
string |
Ограничение количества получаемых данных. |
Параметры, поддерживающие модификаторы: id, object_id, object_type, action, status, event_time, action_arguments, response_code, message, user_id, user_name, domain_id, request_id.
Пример запроса:
curl -X GET -H "X-Auth-Token: $token" -H "Content-Type: application/json" http://controller:9360/v1/journal/ | python -m json.tool
Ответ
Параметры ответа:
Name |
In |
Type |
Description |
|---|---|---|---|
id |
body |
integer |
Идентификатор. |
action |
body |
string |
Наименование действия. |
action_arguments (Optional) |
body |
string |
Аргументы в формате JSON, используемые при выполнении действия. Например: |
event_time (Optional) |
body |
string |
Дата и время выполнения действия. |
message (Optional) |
body |
string |
Дополнительный комментарий к действию. |
object_id |
body |
integer |
Идентификатор объекта. |
object_type (Optional) |
query |
string |
Тип объекта. |
request_id (Optional) |
body |
string |
Идентификатор запроса. |
parent_request_id (Optional) |
body |
string |
Идентификатор родительского запроса. |
response_code (Optional) |
body |
string |
Код ответа. |
status |
body |
string |
Статус действия. |
user_id (Optional) |
query |
string |
Идентификатор пользователя. |
user_name |
body |
string |
Имя пользователя. |
domain_id (Optional) |
body |
string |
Идентификатор домена. |
Пример результата в JSON формате:
{
"journal": [
{
"action": "dashboard.user.login",
"action_arguments": null,
"event_time": "2018-03-22T07:25:31",
"id": 47,
"message": "User \"admin\" was successfully logged in.",
"object_id": "2fee08b2c0ee4ca9ad2907c922c92261",
"object_type": "project",
"parent_request_id": null,
"request_id": "624fa546-e50b-4b7c-82be-8ed496de31a7",
"response_code": null,
"status": "success",
"user_id": "5e48b18b-844d-477c-ab8d-6789a5382a14",
"user_name": "admin",
"domain_id": "46790262d1de48228a53c8887a932f48"
}
]
}
Дает возможность получать количество действий пользователей над объектами.
Запрос
Параметры запроса:
Name |
In |
Type |
Description |
|---|---|---|---|
id (Optional) |
path |
string |
Идентификатор записи в журнале. |
object_id (Optional) |
path |
string |
Идентификатор объекта. |
object_type (Optional) |
path |
string |
Тип объекта. |
action (Optional) |
path |
string |
Наименование действия. |
status (Optional) |
path |
string |
Статус действия. |
event_time (Optional) |
path |
string |
Дата и время выполнения действия. |
action_arguments |
path |
string |
Аргументы действия. |
response_code (Optional) |
path |
string |
Код ответа. |
message (Optional) |
path |
string |
Дополнительный комментарий к действию. |
user_id (Optional) |
path |
string |
Идентификатор пользователя. |
user_name (Optional) |
path |
string |
Имя пользователя. |
domain_id (Optional) |
query |
string |
Идентификатор домена, которому принадлежит пользователь. |
request_id (Optional) |
query |
string |
Идентификатор запроса. |
filter_project_id (Optional) |
query |
string |
Идентификатор проекта. Используется для фильтрации действий над указанным проектом и над виртуальными машинами проекта. |
filter_domain_id (Optional) |
query |
string |
Идентификатор домена. Используется для фильтрации действий над указанным доменом и действий, которые выполнены пользователем, принадлежащим указанному домену. |
Параметры, поддерживающие модификаторы: id, object_id, object_type, action, status, event_time, action_arguments, response_code, message, user_id, user_name, domain_id, request_id.
Пример запроса:
curl -X GET -H "X-Auth-Token: $token" -H "Content-Type: application/json" http://controller:9360/v1/journal/count | python -m json.tool
Ответ
Параметры ответа:
Name |
In |
Type |
Description |
|---|---|---|---|
count |
body |
string |
Количество записей. |
Пример результата в JSON формате:
{
"count": 1
}
Дает возможность сохранять запись о действиях пользователей над объектами.
Запрос
Параметры запроса:
Name |
In |
Type |
Description |
|---|---|---|---|
tenant_id |
path |
string |
Идентификатор проекта, в котором авторизован пользователь. |
object_id |
body |
integer |
Идентификатор объекта. |
object_type (Optional) |
query |
string |
Тип объекта. |
action |
body |
string |
Наименование действия. |
status |
body |
string |
Статус действия. |
message (Optional) |
body |
string |
Дополнительный комментарий к действию. |
user_id (Optional) |
query |
string |
Идентификатор пользователя. |
user_name |
body |
string |
Имя пользователя. |
request_id (Optional) |
body |
string |
Идентификатор запроса. |
parent_request_id (Optional) |
body |
string |
Идентификатор родительского запроса. |
action_arguments (Optional) |
body |
string |
Аргументы в формате JSON, используемые при выполнении действия. Например: |
domain_id (Optional) |
body |
string |
Идентификатор домена. |
Пример запроса:
curl -X POST -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"journal": {"object_id": "4", "object_type": "node", "action": "node_control.power_on", "status": "Success"}}' http://controller:9360/v1/journal/ | python -m json.tool
Ответ
Параметры ответа:
Name |
In |
Type |
Description |
|---|---|---|---|
id |
body |
integer |
Идентификатор. |
action |
body |
string |
Наименование действия. |
action_arguments (Optional) |
body |
string |
Аргументы в формате JSON, используемые при выполнении действия. Например: |
event_time (Optional) |
body |
string |
Дата и время выполнения действия. |
message (Optional) |
body |
string |
Дополнительный комментарий к действию. |
object_id |
body |
integer |
Идентификатор объекта. |
object_type (Optional) |
query |
string |
Тип объекта. |
request_id (Optional) |
body |
string |
Идентификатор запроса. |
parent_request_id (Optional) |
body |
string |
Идентификатор родительского запроса. |
response_code (Optional) |
body |
string |
Код ответа. |
status |
body |
string |
Статус действия. |
user_id (Optional) |
query |
string |
Идентификатор пользователя. |
user_name |
body |
string |
Имя пользователя. |
domain_id (Optional) |
body |
string |
Идентификатор домена. |
Пример результата в JSON формате:
{
"journal": {
"action": "node_control.power_on",
"action_arguments": null,
"event_time": "2018-03-22T07:25:31",
"id": 47,
"message": null,
"object_id": "2",
"object_type": "node",
"parent_request_id": null,
"request_id": "624fa546-e50b-4b7c-82be-8ed496de31a7",
"response_code": null,
"status": "success",
"user_id": "5e48b18b-844d-477c-ab8d-6789a5382a14",
"user_name": "admin",
"domain_id": "46790262d1de48228a53c8887a932f48"
}
}