Перейти к содержимому

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

Пример запроса, в фактическом запросе замените значения параметров:

GET "/openapi/v1/rule/b1573a97c152f4d24208a28c7aba7dd9"

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

Имя параметра Описание параметра Тип Описание
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

Пример запроса, в фактическом запросе замените значения параметров:

POST "/openapi/v1/rule/list"
body:
{
    "pageNum": 1,
    "pageSize": 10
}

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

Имя параметра Описание параметра Тип Описание
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

Пример запроса, в фактическом запросе замените значения параметров:

DELETE "/openapi/v1/rule/b1573a97c152f4d24208a28c7aba7dd9"

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

Имя параметра Описание параметра Тип Описание
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

Пример запроса, в фактическом запросе замените значения параметров:

PUT "/openapi/v1/rule"
body:
{
    "uuid": "123",
    "remark": ""
}

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

Имя параметра Описание параметра Тип Описание
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

Пример запроса, в фактическом запросе замените значения параметров:

POST "/openapi/v1/rule/bind/instance/list"
body:
{
    "uuid": "b1573a97c152f4d24208a28c7aba7dd9"
}

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

Имя параметра Описание параметра Тип Описание
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

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

{
    "message": "操作成功",
    "code": 200,
    "timestamp": 1691372308394,
    "traceId": "E76220230807093828363"
}