15.Настраиваемые интерфейсы
1. Добавлено правило
Адрес интерфейса: /v1/rule
Метод запроса:POST
Тип данных запроса:application/json
Тип данных ответа:*/*,application/json
Поддерживаемая версия:v1.9.0
Описание интерфейса: поддерживается только при использовании firewall H3C
Добавить правило firewall
Параметры запроса:
| Имя параметра | Описание параметра | Местоположение | Обязательно ли | Тип данных | Описание |
|---|---|---|---|---|---|
| name | Название правила | body | true | string | Название правила |
| protocolType | Тип протокола | body | true | integer | 1:udp 2:tcp |
| internalPort | Внутренний порт | body | true | integer | Пример [5555] |
| remark | Примечание | body | false | string |
Пример запроса, в фактическом запросе замените значения параметров:
POST "/openapi/v1/rule"
body:
{
"name": "测试",
"protocolType": 1,
"internalPort": 5555,
"remark": "test"
}
Параметры ответа:
| Имя параметра | Описание параметра | Тип | Описание |
|---|---|---|---|
| code | Код возврата | integer(int32) | |
| message | Возвращаемое сообщение обработки | string | |
| result | Возвращаемый объект данных | list<object> | |
| uuid | uuid правила | string | |
| timestamp | Временная метка | integer(int64) | |
| traceId | ID обработки запроса | string |
Пример ответа:
{
"message": "操作成功!",
"code": 200,
"result": {
"uuid": "55c185fd3e3d6d3adcffc17c54a1ddbf"
},
"timestamp": 1718608913954,
"traceId": "C20240617152153954008"
}
2. Сведения о правиле
Адрес интерфейса: /v1/rule/{uuid}
Метод запроса:GET
Тип данных запроса:application/json
Тип данных ответа:*/*,application/json
Поддерживаемая версия:v1.9.0
Описание интерфейса: поддерживается только при использовании firewall H3C
Подробная информация о правиле
Параметры запроса:
| Имя параметра | Описание параметра | Местоположение | Обязательно ли | Тип данных | Описание |
|---|---|---|---|---|---|
| uuid | uuid правила | path | true | string |
Пример запроса, в фактическом запросе замените значения параметров:
Параметры ответа:
| Имя параметра | Описание параметра | Тип | Описание |
|---|---|---|---|
| code | Код возврата | integer(int32) | |
| message | Возвращаемое сообщение обработки | string | |
| result | Возвращаемый объект данных | list<object> | |
| uuid | uuid правила | string | |
| name | Название правила | string | |
| protocolType | Тип протокола | integer | 1:udp 2:tcp |
| internalPort | Внутренний порт | integer | |
| remark | Примечание | string | |
| createTime | Время создания | string | |
| timestamp | Временная метка | integer(int64) | |
| traceId | ID обработки запроса | string |
Пример ответа:
{
"message": "操作成功!",
"code": 200,
"result": {
"uuid": "b1573a97c152f4d24208a28c7aba7dd9",
"name": "测试",
"protocolType": 1,
"internalPort": 5555,
"remark": "test",
"createTime": "2024-06-14 17:59:55"
},
"timestamp": 1718609053301,
"traceId": "C20240617152413301345"
}
3. Список правил
Адрес интерфейса: /v1/rule/list
Метод запроса:POST
Тип данных запроса:application/json
Тип данных ответа:*/*,application/json
Поддерживаемая версия:v1.9.0
Описание интерфейса: поддерживается только при использовании firewall H3C
Постраничный список правил
Параметры запроса:
| Имя параметра | Описание параметра | Местоположение | Обязательно ли | Тип данных | Описание |
|---|---|---|---|---|---|
| name | Название правила | body | false | string | |
| pageSize | Количество данных на текущей странице | body | false | integer | |
| pageNum | Номер текущей страницы | body | false | integer |
Пример запроса, в фактическом запросе замените значения параметров:
Параметры ответа:
| Имя параметра | Описание параметра | Тип | Описание |
|---|---|---|---|
| code | Код возврата | integer(int32) | |
| message | Возвращаемое сообщение обработки | string | |
| result | Возвращаемый объект данных | IPage<object> | |
| records | Список данных текущей страницы | list<object> | |
| uuid | uuid правила | string | |
| name | Название правила | string | |
| protocolType | Тип протокола | integer | 1:udp 2:tcp |
| internalPort | Внутренний порт | integer | |
| remark | Примечание | string | |
| createTime | Время создания | sting | |
| bindInstanceNum | Количество привязанных контейнеров | integer | |
| total | Общее количество записей | integer | |
| current | Номер текущей страницы | integer | |
| pages | Общее количество страниц | integer | |
| size | Количество строк на странице | integer | |
| timestamp | Временная метка | integer(int64) | |
| traceId | ID обработки запроса | string |
Пример ответа:
{
"message": "操作成功!",
"code": 200,
"result": {
"records": [
{
"uuid": "b1573a97c152f4d24208a28c7aba7dd9",
"name": "测试",
"protocolType": 1,
"internalPort": 5555,
"remark": "test",
"createTime": "2024-06-14 17:59:55",
"bindInstanceNum": 1
}
],
"total": 1,
"current": 1,
"size": 10,
"pages": 1
},
"timestamp": 1718431861571,
"traceId": "C20240615141101571003"
}
4. Удалить правило
Адрес интерфейса: /v1/rule/{uuid}
Метод запроса:DELETE
Тип данных запроса:application/json
Тип данных ответа:*/*,application/json
Поддерживаемая версия:v1.9.0
Описание интерфейса: поддерживается только при использовании firewall H3C
Удалить правило
Параметры запроса:
| Имя параметра | Описание параметра | Местоположение | Обязательно ли | Тип данных | Описание |
|---|---|---|---|---|---|
| uuid | uuid правила | path | true | string |
Пример запроса, в фактическом запросе замените значения параметров:
Параметры ответа:
| Имя параметра | Описание параметра | Тип | Описание |
|---|---|---|---|
| code | Код возврата | integer(int32) | |
| message | Возвращаемое сообщение обработки | string | |
| result | Возвращаемый объект данных | IPage<object> | |
| timestamp | Временная метка | integer(int64) | |
| traceId | ID обработки запроса | string |
Пример ответа:
{
"message": "操作成功!",
"code": 200,
"result": null,
"timestamp": 1718431861571,
"traceId": "C20240615141101571003"
}
5. Изменить правило
Адрес интерфейса: /v1/rule
Метод запроса:PUT
Тип данных запроса:application/json
Тип данных ответа:*/*,application/json
Поддерживаемая версия:v1.9.0
Описание интерфейса: поддерживается только при использовании firewall H3C
Изменить примечание к правилу
Параметры запроса:
| Имя параметра | Описание параметра | Местоположение | Обязательно ли | Тип данных | Описание |
|---|---|---|---|---|---|
| uuid | uuid правила | body | true | string | |
| remark | Примечание | body | false | string |
Пример запроса, в фактическом запросе замените значения параметров:
Параметры ответа:
| Имя параметра | Описание параметра | Тип | Описание |
|---|---|---|---|
| code | Код возврата | integer(int32) | |
| message | Возвращаемое сообщение обработки | string | |
| result | Возвращаемый объект данных | IPage<object> | |
| timestamp | Временная метка | integer(int64) | |
| traceId | ID обработки запроса | string |
Пример ответа:
{
"message": "操作成功!",
"code": 200,
"result": null,
"timestamp": 1718431861571,
"traceId": "C20240615141101571003"
}
6. Привязка сопоставления портов контейнера (вызов интерфейса брандмауэра)
[!CAUTION]
Поддерживается только при использовании firewall H3C
Адрес интерфейса:/v2/instance/binding
Метод запроса:POST
Тип данных запроса:application/json
Тип данных ответа:*/*,application/json
Поддерживаемая версия:v1.9.0
Описание интерфейса: поддерживается только при использовании firewall H3C
Выполнить привязку правила сопоставления портов для контейнера
Параметры запроса:
| Имя параметра | Описание параметра | Местоположение | Обязательно ли | Тип данных | Описание |
|---|---|---|---|---|---|
| instanceUuids | uuid контейнера | body | true | list | Одна или несколько записей данных контейнера |
| ruleUuid | uuid правила | body | true | string | |
| callbackUrl | Адрес callback уведомления | body | false | string | POST-запрос |
Пример запроса:
POST "/openapi/v2/instance/binding"
body:
{
"instanceUuids": ["f4d2fccea3e341dcba0bf0d6ec40455e"],
"ruleUuid": "b1573a97c152f4d24208a28c7aba7dd9"
}
Параметры ответа:
| Имя параметра | Описание параметра | Тип | Описание |
|---|---|---|---|
| code | Код возврата | integer(int32) | |
| message | Возвращаемое сообщение обработки | string | |
| success | Признак успешности | boolean | |
| result | Возвращаемый объект данных | List | |
| jobId | ID задачи | string | |
| uuid | uuid контейнера | string | |
| code | Код статуса отправки задачи | integer | Соответствует [1.4 Таблица кодов состояния ответа] |
| message | Описание отправки задачи | string | |
| timestamp | Временная метка | integer(int64) | |
| traceId | ID обработки запроса | string |
Пример ответа:
{
"message": "操作成功",
"code": 200,
"result": [
{
"jobId": "406f1720dc7b4fbda540ad48206628ee",
"code": 200,
"message": "success",
"uuid": "f4d2fccea3e341dcba0bf0d6ec40455e"
}
],
"timestamp": 1691372308394,
"traceId": "E76220230807093828363"
}
7. Отвязка сопоставления портов контейнера (вызов интерфейса брандмауэра)
[!CAUTION]
Поддерживается только при использовании firewall H3C
Адрес интерфейса:/v2/instance/unbinding
Метод запроса:POST
Тип данных запроса:application/json
Тип данных ответа:*/*,application/json
Поддерживаемая версия:v1.9.0
Описание интерфейса: поддерживается только при использовании firewall H3C
Выполнить отвязку правила сопоставления портов для контейнера
Параметры запроса:
| Имя параметра | Описание параметра | Местоположение | Обязательно ли | Тип данных | Описание |
|---|---|---|---|---|---|
| instanceUuids | uuid контейнера | body | true | list | Одна или несколько записей данных контейнера |
| ruleUuid | uuid правила | body | true | string | |
| callbackUrl | Адрес callback уведомления | body | false | string | POST-запрос |
Пример запроса:
POST "/openapi/v2/instance/unbinding"
body:
{
"instanceUuids": ["f4d2fccea3e341dcba0bf0d6ec40455e"],
"ruleUuid": "b1573a97c152f4d24208a28c7aba7dd9"
}
Параметры ответа:
| Имя параметра | Описание параметра | Тип | Описание |
|---|---|---|---|
| code | Код возврата | integer(int32) | |
| message | Возвращаемое сообщение обработки | string | |
| success | Признак успешности | boolean | |
| result | Возвращаемый объект данных | List | |
| jobId | ID задачи | string | |
| code | Код статуса отправки задачи | integer | СоответствуетТаблица кодов статуса ответа |
| message | Описание отправки задачи | string | |
| uuid | uuid контейнера | string | |
| timestamp | Временная метка | integer(int64) | |
| traceId | ID обработки запроса | string |
Пример ответа:
{
"message": "操作成功",
"code": 200,
"result": [
{
"jobId": "406f1720dc7b4fbda540ad48206628ee",
"code": 200,
"message": "success",
"uuid": "f4d2fccea3e341dcba0bf0d6ec40455e"
}
],
"timestamp": 1691372308394,
"traceId": "E76220230807093828363"
}
8. Постраничный список привязанных контейнеров
Адрес интерфейса: /v1/rule/bind/instance/list
Метод запроса:POST
Тип данных запроса:application/json
Тип данных ответа:*/*,application/json
Поддерживаемая версия:v1.9.0
Описание интерфейса: поддерживается только при использовании firewall H3C
Постраничный запрос списка привязанных контейнеров по uuid правила
Параметры запроса:
| Имя параметра | Описание параметра | Местоположение | Обязательно ли | Тип данных | Описание |
|---|---|---|---|---|---|
| uuid | uuid правила | body | true | string | |
| pageSize | Количество данных на текущей странице | body | false | integer | |
| pageNum | Номер текущей страницы | body | false | integer |
Пример запроса, в фактическом запросе замените значения параметров:
Параметры ответа:
| Имя параметра | Описание параметра | Тип | Описание |
|---|---|---|---|
| code | Код возврата | integer(int32) | |
| message | Возвращаемое сообщение обработки | string | |
| result | Возвращаемый объект данных | IPage<object> | |
| records | Список данных текущей страницы | list<object> | |
| instanceUuid | uuid контейнера | string | |
| ip | ip контейнера | string | |
| armCardUuid | uuid принадлежащей платы | string | |
| armCardSn | sn принадлежащей платы | string | |
| total | Общее количество записей | integer | |
| current | Номер текущей страницы | integer | |
| pages | Общее количество страниц | integer | |
| size | Количество строк на странице | integer | |
| timestamp | Временная метка | integer(int64) | |
| traceId | ID обработки запроса | string |
Пример ответа:
{
"message": "操作成功!",
"code": 200,
"result": {
"records": [
{
"instanceUuid": "i-2c57bd70f9017e11ed538a6abe669362",
"ip": "10.255.0.110",
"armCardUuid": "c-87ed3a458c7b53d2e01089bae58b2280",
"armCardSn": "OR65M22QC1E223700085"
}
],
"total": 0,
"size": 10,
"current": 1,
"pages": 0
},
"timestamp": 1718610490575,
"traceId": "C20240617154810575375"
}
9. Удалить сопоставление портов контейнера (для использования персоналом эксплуатации)
Адрес интерфейса:/v2/instance/delete/mapping
Метод запроса:POST
Тип данных запроса:application/json
Тип данных ответа:*/*,application/json
Поддерживаемая версия:v2.1.0
Описание интерфейса:
Выполнить удаление правила сопоставления портов для контейнера; эта операция удалит соответствующее контейнеру правило сопоставления портов из базы данных, правила брандмауэра по-прежнему необходимо удалить вручную.
Параметры запроса:
| Имя параметра | Описание параметра | Местоположение | Обязательно ли | Тип данных | Описание |
|---|---|---|---|---|---|
| instanceUuids | uuid контейнера | body | true | list | Одна или несколько записей данных контейнера |
Пример запроса:
POST "/openapi/v2/instance/delete/mapping"
body:
{
"instanceUuids": ["f4d2fccea3e341dcba0bf0d6ec40455e"]
}
Параметры ответа:
| Имя параметра | Описание параметра | Тип | Описание |
|---|---|---|---|
| code | Код возврата | integer(int32) | |
| message | Возвращаемое сообщение обработки | string | |
| success | Признак успешности | boolean | |
| timestamp | Временная метка | integer(int64) | |
| traceId | ID обработки запроса | string |
Пример ответа: