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

4.Контейнер

1. Создать контейнер

Адрес интерфейса:/v2/instance/create

Метод запроса:POST

Тип данных запроса:application/json

Тип данных ответа:*/*,application/json

Поддерживаемая версия:v1.18.0

callbackUrl предоставляется версией v1.19.0

Описание интерфейса:

Запланировать создание контейнера на уже запрошенной плате; количество создания представляет количество плат, фактическое количество созданных контейнеров=количество плат*число открытий. Максимальное количество создания за один раз зависит от конфигурации среды, по умолчанию 200;создание завершается в течение 60 минут

Требования к формату переменных окружения: поддерживаемые символы включают буквы (верхнего и нижнего регистра), цифры и подчеркивание _, при этом имя должно начинаться с буквы или подчеркивания. Максимальная длина — 100 символов. Бизнес-правила: 1、 Поддерживаются переменные окружения, начинающиеся с AIC_; при создании контейнера эта переменная окружения передается через параметр docker create, а при запуске контейнера, если обнаружена переменная окружения, начинающаяся с AIC_, она преобразуется в свойство. Особое примечание: 1)В системе Android максимальная длина ключа свойства (key) составляет 32 символа. Это жестко заданное системное ограничение; ключи, превышающие эту длину, не смогут нормально задавать свойства. 2) Максимальная длина значения свойства (value) составляет 92 символа. Это также жестко заданное системное ограничение; если заданное значение превышает эту длину, система обрежет лишнюю часть. 2、Системные зарезервированные переменные окружения задавать запрещено. 3、Зарезервированные переменные окружения, начинающиеся с AIC_, настраивать запрещено.

Параметры запроса:

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
projectId Id проекта body false string По умолчанию проект по умолчанию текущего пользователя
nodeUuid uuid узла body true string
armCardOfferingUuid uuid вычислительной спецификации платы body true string Пройдено Получить вычислительную спецификацию платы Получить через интерфейс
os Система body true string Например: Android
osVersion Версия системы body true string Например "10"
createType Стратегия создания body false integer 1:случайное планирование 2:указанная плата [по умолчанию случайное планирование]
snList Список SN плат body false list Длина списка не может превышать 200. Когда createType=2, список не может быть пустым
offeringUuid uuid вычислительной спецификации контейнера body true string Спецификация контейнера по умолчанию включает разрешение, ориентацию экрана, частоту обновления и плотность экрана; получается через вычислительную спецификацию контейнера
layoutUuid UUID макета экрана body false string Пройдено Список раскладок экрана контейнера Получить через интерфейс. Если не пусто, заменить соответствующие спецификации контейнера: разрешение, ориентацию экрана, частоту обновления и плотность экрана
imageId id образа body true string
networkUuid uuid бизнес-сети body false string Поддерживает несколько бизнес-сетей, несколько значений разделяются с помощью ,, networkUuid и subnetUuid нельзя указывать одновременно; если не заполнено, система выберет случайно.
subnetUuid uuid бизнес-подсети body false string Поддерживает несколько подсетей, несколько значений разделяются с помощью ,, networkUuid и subnetUuid нельзя указывать одновременно; если не заполнено, система выберет случайно.
num Количество создаваемых плат body true integer Максимум 200. И удовлетворяет: 1. num <= [4.12 Получить количество плат, на которых можно создать контейнеры]; 2. num * количество запусков <= [4.13 Получить количество доступных ip]
tagIds Тег body false List<integer>
environment Переменные окружения body false object Пара ключ-значение. Общее количество не более 20, длина ключа и значения не более 100
root root ли body false integer 0:нет 1:да [по умолчанию нет]
stopStatus Выключать ли после создания, по умолчанию не выключать body false boolean true означает выключить,false означает не выключать
instanceLimit Количество контейнеров превышает квоту (0:не превышает, 1:превышает, по умолчанию не превышает) body false integer Если значение превышения равно “1”, это означает общее количество контейнеров, созданных на плате, на которой находится данный контейнер>Количество запусков; в этом случае количество запускаемых контейнеров будет ограничено и не должно превышать максимальное количество, разрешенное платой (то есть количество запусков). Когда превышение равно “0”, это означает, что общее количество контейнеров, созданных на плате, где находится этот контейнер = количество запусков.
instanceLimitNum Количество создаваемых контейнеров на плате body false integer Когда instanceLimit является лимитом, это поле обязательно; должно быть больше level количества запусков спецификации контейнера и меньше либо равно instanceLimitMax максимального количества контейнеров спецификации платы
storeType Тип хранилища body false integer Тип хранилища: 1.локальный диск, 2.облачный диск (по умолчанию выбран локальный диск; контейнеры с типом хранилища облачный диск можно запустить только после подключения облачного диска)
idGenerateType Правило генерации ID контейнера body false integer По умолчанию:узел-16-значный uuid;1.узел-16-значный uuid;2.32-значный uuid,3.префикс-16-значный uuid
prefix Префикс ID контейнера body false string Когда idGenerateType равен 3, это поле обязательно; максимум 10 символов; поддерживаются только: цифры, буквы, дефис -, подчеркивание _
callbackUrl Адрес callback уведомления body false string POST-запрос

Пример запроса:

POST "/openapi/v2/instance/create"
body:
{
    "projectId":"7b5a664173f526309e43faf775f09d1d",
    "nodeUuid":"81f62329436eed8f36d0595bf81b63db",
    "armCardOfferingUuid":"f64a987692a711ef9b070242ac12000d",
    "os":"Android",
    "osVersion":"10",
    "createType":1,
    "snList":["ORG2M32QC2J231400077"],
    "offeringUuid":"6d6e456aecdb9d4a89c1712e8f7fc759",
    "layoutUuid":"6197fc3d5e1140028cb18159b096247a",
    "imageId":"192.168.130.241:3734/7b5a664173f526309e43faf775f09d1d/img-1728651639344:latest",
    "networkUuid":"943da341eede495282278cd06ccd1623",
    "num":1,
    "tagIds":[200,257],
    "root":0,
    "stopStatus":true,
    "idGenerateType":3,
    "prefix":"abc",
    "callbackUrl": "http://127.0.0.1/notice"
}

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

Имя параметра Описание параметра Тип Описание
code Код возврата integer(int32)
message Возвращаемое сообщение обработки string
success Признак успешности boolean
result Возвращаемый объект данных list<object>
  jobs Результат задачи list<object>
    jobId ID задачи string
    code Код статуса отправки задачи integer СоответствуетТаблица кодов статуса ответа
    message Описание отправки задачи string
    uuid uuid платы string
    sn SN платы string
    projectId id проекта string
timestamp Временная метка integer(int64)
traceId ID обработки запроса string

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

{
    "message": "操作成功",
    "code": 200,
    "result": {
        "jobs": [
            {
                "jobId": "e1d8895789114132a568a85873f35625",
                "code": 200,
                "sn": "OR65T31QC2D221000072",
                "message": "success",
                "uuid": "0b4294e92763a79283def0e83bb9303a",
                "projectId": "7b5a664173f526309e43faf775f09d1d"
            }
        ]
    },
    "timestamp": 1734679127799,
    "traceId": "E20241220151847733892"
}

2. Удалить контейнер

Адрес интерфейса:/v1/arm/card/apply/destroy/container

Метод запроса:POST

Тип данных запроса:application/json

Тип данных ответа:*/*,application/json

Поддерживаемая версия:v1.18.0

callbackUrl предоставляется версией v1.19.0

Описание интерфейса:

Удалить контейнеры платы

Параметры запроса:

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
nodeUuid uuid узла body true string
batchMap Пара ключ-значение uuid платы/название платы body true object
uuids Список uuid плат body false List
callbackUrl Адрес callback уведомления body false string POST-запрос

Пример запроса

POST "/openapi/v1/arm/card/apply/destroy/container"
body:
{
    "batchMap":{
        "a438e3d6a5d57083385fb6ee21c267fc":"fjz-api-1"
    },
    "uuids": ["a438e3d6a5d57083385fb6ee21c267fc"],
    "nodeUuid":"81f62329436eed8f36d0595bf81b63db",
    "callbackUrl": "http://127.0.0.1/notice"
}

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

Имя параметра Описание параметра Тип Описание
code Код возврата integer(int32)
message Возвращаемое сообщение обработки string
result Возвращаемый объект данных object
  jobs Результат задачи list<object>
    jobId ID задачи string
    code Код статуса отправки задачи integer СоответствуетТаблица кодов статуса ответа
    message Описание отправки задачи string
    uuid uuid контейнера string
    sn SN платы string
timestamp Временная метка integer(int64)
traceId ID обработки запроса string

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

{
    "message": "操作成功",
    "code": 200,
    "result": {
        "jobs": [
            {
                "jobId": "9bc83f3703f245d2a8f98f39f560dbae",
                "code": 200,
                "sn": "OR65T31QC2D221000019",
                "message": "success",
                "uuid": "95b0cd8b672235f49224679a298f7bc8"
            }
        ]
    },
    "timestamp": 1730188041492,
    "traceId": "E20241029154721445265"
}

3. Постраничный список контейнеров

Адрес интерфейса:/v2/instance/page/list

Метод запроса:POST

Тип данных запроса:application/json

Тип данных ответа:*/*,application/json

Поддерживаемая версия:v1.1.1

Описание интерфейса:

Постраничный запрос контейнеров, возвращает образ контейнера, разрешение и другие данные

Параметры запроса:

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
projectId Id проекта body false string По умолчанию проект по умолчанию текущего пользователя
nodeUuids Список uuid узлов body false List<String>
armCardSns SN платы body false List<String> Запрос по указанным SN плат, максимум 200
instanceUuids Список uuid контейнеров body false List<String>
hardModels Вычислительная модель --планируется вывести из эксплуатации body false List<String>
imageNames Название образа body false List<String>
levels Количество запусков body false List 1 - 40
instanceOfferingUuids uuid спецификации контейнера body false List Фильтрация по указанной спецификации контейнера, получить через интерфейс 5.1
tagNames Название тега body false string Несколько значений разделяются запятыми
instanceLimits Количество контейнеров превышает квоту body false List Если значение превышения равно “1”, это означает общее количество контейнеров, созданных на плате, на которой находится данный контейнер>Количество запусков; в этом случае количество запускаемых контейнеров будет ограничено и не должно превышать максимальное количество, разрешенное платой (то есть количество запусков). Когда превышение равно “0”, это означает, что общее количество контейнеров, созданных на плате, где находится этот контейнер = количество запусков.
storeTypes Тип хранилища body false List Тип хранилища: 1.локальный диск, 2.облачный диск
pageNum Номер текущей страницы body false integer По умолчанию 1
pageSize Количество данных на текущей странице body false integer По умолчанию 10

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

POST "/openapi/v2/instance/page/list"
body:
{
    "instanceUuids": [
        "132322",
        "132322"
    ],
    "pageNum": 1,
    "pageSize": 10,
    "projectId": "project_admin"
}

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

Имя параметра Описание параметра Тип Описание
code Код возврата integer(int32)
message Возвращаемое сообщение обработки string
result Возвращаемый объект данных IPage<object>
  records Список данных текущей страницы list<object>
    uuid uuid вычислительного контейнера string
    name Название контейнера string
    armCardUuid uuid платы string
    armCardSn SN платы string
    armCardIp IP платы string
    imageId ID образа string ID инициализационного образа
    imageUuid UUID образа string
    imageName Название образа string
    cceImage Текущий образ контейнера string Фактический текущий образ контейнера
    ip IP string ip контейнера
    mac mac-адрес string
    dns DNS string
    gateway Шлюз string
    businessStatus бизнес-статус integer
    status Статус контейнера integer См. 1.9.1
    enableStatus Состояние доступности boolean false:недоступно true:доступно
    delStatus Состояние удаления boolean false:нормально true:удалено
    resolution Разрешение string 720x1280
    orientation Направление поворота integer 0:портретная ориентация 1:альбомная ориентация
    refreshRate Частота обновления integer целое число от 30 до 60
    root root ли integer 0:нет 1:да
    networkMode Сетевой режим string
    envVariable Переменные окружения string
    cceId ID контейнера string 64-битная строка
    ccePorts Группа открытых портов string ip платы:порт сопоставлен с внутренним портом контейнера
    cceStatus статус выполнения cce string Выполняется:Up Завершен:Exit Неизвестно:UnKnow
    level Количество запусков integer 1 - 40 экземпляров
    osVersion Операционная система образа контейнера string Android 10 Android 13
    gameImageId id игрового образа string
    properties Свойства string
    areaUuid uuid региона string
    areaName Название региона string
    nodeUuid uuid узла string
    nodeName Название узла string
    nodeIp ip узла string
    nodePort Порт узла string
    armServerUuid uuid сервера string
    armServerName Имя сервера sting
    hostIp IP-адрес хоста string
    hostUuid UUID хоста string
    projectId id проекта string
    remark Примечание string
    instanceOffering Объект вычислительной спецификации object
      uuid uuid вычислительной спецификации integer
hardwareCode Вычислительная спецификация контейнера --планируется вывести из эксплуатации string Например: Orion865_3C_4G
      name Название string
      level Количество запусков integer 1 - 40 экземпляров
      remark Примечание string
instanceOfferingName Спецификация контейнера string Например: один запуск - ограниченное хранилище - 8vCPU - 12GB памяти - 175GB
    tagNames Тег list
    dnat Список DNAT IP list
      ip Внутренний IP string
      port Номер внутреннего порта integer
      publicIp Публичный IP string
      publicPort Номер публичного порта integer
      protocol Протокол string
      isp Оператор string
      idc Машинный зал string
    snat Список SNAT IP list
      publicIp Публичный IP string
      isp Оператор string
    createTime Время создания string
    updateTime Время обновления string
    instanceLimit Количество контейнеров превышает квоту integer Если значение превышения равно “1”, это означает общее количество контейнеров, созданных на плате, на которой находится данный контейнер>Количество запусков; в этом случае количество запускаемых контейнеров будет ограничено и не должно превышать максимальное количество, разрешенное платой (то есть количество запусков). Когда превышение равно “0”, это означает, что общее количество контейнеров, созданных на плате, где находится этот контейнер = количество запусков.
    stopStatus Статус остановки контейнера boolean true:остановить,false:запустить
    natType Тип NAT integer 1-полноконусный, 2-DNAT, 3-полноконусный+DNAT, 0-не настроено
    storeType Тип хранилища integer Тип хранилища: 1.локальный диск, 2.облачный диск
    displayLayout Макет экрана string
  total Общее количество записей integer
  current Номер текущей страницы integer
  pages Общее количество страниц integer
  size Количество строк на странице integer
traceId ID обработки запроса string
timestamp Временная метка integer(int64)

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

{
    "message": "操作成功!",
    "code": 200,
    "result": {
        "records": [
            {
                "uuid": "nashan1-edzbbck35fbfp942",
                "areaUuid": "a8a4c72bb116e765d079e93c174e5b03",
                "areaName": "sz",
                "armServerName": "sz_nashan1_s-eb95057e3f1cb4aad656a9fb6492963f",
                "armServerUuid": "s-eb95057e3f1cb4aad656a9fb6492963f",
                "armCardUuid": "fa9ce25ee8c6f457ba8cfc29ac5689b5",
                "armCardId": "OR65Q61QC2D240402561",
                "armCardSn": "OR65Q61QC2D240402561",
                "nodeUuid": "1ddf1365dac9137cf77d6d0142ff7251",
                "nodeName": "nashan1",
                "armCardIp": "172.31.1.29",
                "name": "ZQtest_Auto-3-i3",
                "level": 3,
                "ip": "10.255.1.99",
                "cceId": "3051536e6c6714f72850cb8b0d7468a80e9077b5e77a7a1a49cbfbaa06614177",
                "cceImage": "orion865-android_10:img-1732526889678",
                "ccePorts": "",
                "cceStatus": "Up",
                "status": 2,
                "enableStatus": true,
                "delStatus": false,
                "createTime": "2025-07-03 16:37:34",
                "updateTime": "2025-07-03 16:37:34",
                "imageId": "orion865-android_10:img-1732526889678",
                "imageUuid": "ba9d06f249dd4cd39b56c81ac1ef60da",
                "imageName": "865_A10",
                "resolution": "1080x1920",
                "orientation": 0,
                "refreshRate": 60,
                "root": null,
                "networkMode": "macvlan",
                "envVariable": null,
                "remark": null,
                "hostIp": "172.31.1.29",
                "hostUuid": "fa9ce25ee8c6f457ba8cfc29ac5689b5",
                "mac": "06:8a:90:0a:6b:f3",
                "dns": null,
                "gateway": "10.255.0.1",
                "nodeIp": "192.168.40.88",
                "nodePort": "80",
                "gameImageId": null,
                "projectId": null,
                "businessStatus": 2,
                "osVersion": "Android 10",
                "properties": null,
                "instanceOffering": {
                    "uuid": "86e93b78d47f11efa27fd67956f2361b",
                    "name": "Orion865",
                    "remark": "三开-限存储",
                    "level": 3,
                    "hardwareCode": "Orion865_3C_4G",
                    "instanceOfferingName": "一开-限存储 | 8vCPU |12GB内存 | 175GB"
                },
                "tagNames": [
                    "电信公网IP"
                ],
                "dnat": [
                    {
                        "ip": "10.255.1.99",
                        "port": 10101,
                        "publicIp": "14.17.100.66",
                        "publicPort": 20512,
                        "protocol": "udp",
                        "isp": "电信",
                        "idc": "广州机房"
                    }
                ],
                "snat": [
                    {
                    "publicIp": "192.168.3.99",
                    "isp": "电信"
                    }
                ],
                "instanceLimit": 1,
                "stopStatus": false,
                "natType": 0,
                "storeType": 1,
                "displayLayout": "{\"height\":1920,\"pixelDensity\":320,\"refreshRate\":60,\"uuid\":\"cdd2c57c45a111f0bfdd0242ac12000d\",\"weight\":1080}"
            }
        ],
        "total": 1,
        "current": 1,
        "pages": 1,
        "size": 10
    },
    "timestamp": 1751597826079,
    "traceId": "C20250704105706079185"
}

4. Сведения о контейнере

Адрес интерфейса:/v2/instance/details/{uuid}

Метод запроса:GET

Тип данных запроса:application/json

Тип данных ответа:*/*,application/json

Поддерживаемая версия:v1.1.1

Описание интерфейса:

Запрос сведений об одном контейнере, включая образ контейнера, разрешение, открытые порты и т. д.

Параметры запроса:

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
uuid uuid контейнера path true string Один контейнер

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

POST "/openapi/v2/instance/details/qs-253-pqbe87m5fbzvutie"

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

Имя параметра Описание параметра Тип Описание
code Код возврата integer(int32)
message Возвращаемое сообщение обработки string
result Возвращаемый объект данных object
  uuid uuid контейнера string
  name Название контейнера string
  ip ip string
  mac mac-адрес string
  dns dns string
  gateway Шлюз string
  tagNames Тег List<string>
  armServerUuid uuid сервера string
  armServerName Имя сервера string
  areaUuid uuid региона string
  areaName Название региона string
  nodeUuid uuid узла string
  nodeName Название узла string
  armCardUuid uuid платы string
  armCardSn SN платы string
  armCardIp IP платы string
  level Вычислительная спецификация integer 1 - 40 экземпляров
  envVariable Переменные окружения string
  ports Группа портов string
  resolution Разрешение string 720x1280
  orientation Направление поворота integer 0:портретная ориентация 1:альбомная ориентация
  refreshRate Частота обновления integer целое число от 30 до 60
  networkMode Сетевой режим string bridge;macvlan
  imageId ID образа string
  imageName Название образа string
  cceId ID контейнера string
  cceImage образ, используемый при создании docker string
  cceStatus статус выполнения cce string Выполняется:Up;Завершен:Exit;Неизвестно:UnKnow
  createStatus Состояние создания integer 0:ожидает создания 1:создано успешно,2:ошибка создания
  enableStatus Статус включения boolean false:отключено true:включено
  status Статус контейнера integer См. 1.9.1
  createTime Время создания string
  updateTime Время последнего изменения string
  remark Примечание string
  osVersion Операционная система образа контейнера string Android 10 Android 13
  instanceOffering Объект вычислительной спецификации object
    uuid uuid вычислительной спецификации string
    name Название string
instanceOfferingName Спецификация контейнера string Например: один запуск - ограниченное хранилище - 8vCPU - 12GB памяти - 175GB
hardwareCode Вычислительная спецификация контейнера --планируется вывести из эксплуатации string
    remark Примечание string
    level Вычислительная спецификация integer 1 - 40 экземпляров
  dnat Список DNAT IP list
    ip Внутренний IP string
    port Номер внутреннего порта integer
    publicIp Публичный IP string
    publicPort Номер публичного порта integer
    protocol Протокол string
    isp Оператор string
  snat Список SNAT IP list
    publicIp Публичный IP string
    isp Оператор string
  instanceLimit Количество контейнеров превышает квоту integer Если значение превышения равно “1”, это означает общее количество контейнеров, созданных на плате, на которой находится данный контейнер>Количество запусков; в этом случае количество запускаемых контейнеров будет ограничено и не должно превышать максимальное количество, разрешенное платой (то есть количество запусков). Когда превышение равно “0”, это означает, что общее количество контейнеров, созданных на плате, где находится этот контейнер = количество запусков.
  natType Тип NAT integer 1-полноконусный, 2-DNAT, 3-полноконусный+DNAT, 0-не настроено
  storeType Тип хранилища integer Тип хранилища: 1.локальный диск, 2.облачный диск
  displayLayout Макет экрана string
  mounts Информация монтирования облачного диска list
    cloudDriveUuid uuid облачного диска string
traceId ID обработки запроса string
timestamp Временная метка integer(int64)

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

{
  "message": "操作成功",
  "code": 200,
  "result": {
    "armServerUuid": "s-8c2c9cca5853789031ac60d332a2bdfd",
    "uuid": "qs-fs-pre-bmjf5xy6ieq9fvuw",
    "resolution": "720x1280",
    "dnat": null,
    "areaName": "华南",
    "refreshRate": 30,
    "instanceOffering": {
      "level": 4,
      "hardwareCode": "Orion865_2C_4G",
      "name": "Orion865",
      "remark": "四开-限存储",
      "uuid": "86e9f4a3d47f11efa27fd67956f2361b",
      "instanceOfferingName": "一开-限存储 | 8vCPU |12GB内存 | 175GB"
    },
    "armCardSn": "OR65M62QC2D242400557",
    "networkMode": "macvlan",
    "cceId": "f7930793fa41fa89ec2eaa8f9132cfe3e826a5495c54cd5dceff6752f154403a",
    "imageId": "img-1743489439031:latest",
    "imageName": "20250401-api",
    "level": 4,
    "ip": "10.20.2.37",
    "dns": null,
    "nodeUuid": "beb95a81559b894a92c9f1bb13c7aeba",
    "name": "hf_auto_test-9-i4",
    "envVariable": null,
    "armCardUuid": "0511f641304a4c82f4ab67bfa4cc5a74",
    "enableStatus": true,
    "status": 2,
    "nodeName": "qs-fs-pre",
    "cceStatus": "Up",
    "remark": null,
    "mac": "ec:ad:be:c0:b8:cc",
    "tagNames": [
      "HF自动化测试专用-勿动"
    ],
    "armCardIp": "172.30.0.36",
    "osVersion": "Android 10",
    "areaUuid": "f2a584df5e91724a94a31a4a68b5dcd0",
    "orientation": 0,
    "updateTime": "2025-08-21 16:27:52",
    "armServerName": "华南_qs-fs-pre_s-01cde1e2894191fd5bc05764f5318a19",
    "createTime": "2025-08-21 16:27:52",
    "cceImage": "img-1743489439031:latest",
    "snat": [
      {
        "isp": "电信",
        "publicIp": "192.168.4.110"
      }
    ],
    "gateway": "10.20.2.1",
    "instanceLimit": 0,
    "natType": 0,
    "storeType": 1,
    "displayLayout": "{\"height\":1920,\"pixelDensity\":320,\"refreshRate\":60,\"uuid\":\"cdd2c57c45a111f0bfdd0242ac12000d\",\"weight\":1080}",
    "mounts": [
            {
                "cloudDriveUuid": "3e25ec2f7103483b8abc8e3cde49ebca"
            },
            {
                "cloudDriveUuid": "088234e7fbd149b0945d6428913577be"
            }
        ]
  },
  "timestamp": 1755765048991,
  "traceId": "E20250821163048991023"
}

5. Перезагрузить контейнер

Адрес интерфейса:/v2/instance/restart

Метод запроса:POST

Тип данных запроса:application/json

Тип данных ответа:*/*,application/json

Поддерживаемая версия:v1.1.1

callbackUrl предоставляется версией v1.7.4

Описание интерфейса:

Интерфейс пакетной перезагрузки контейнеров

Параметры запроса:

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
instanceUuids uuid контейнера body true list Одна или несколько записей данных контейнера
callbackUrl Адрес callback уведомления body false string POST-запрос

Пример запроса:

POST "/openapi/v2/instance/restart"
body:
{
    "instanceUuids": ["348504568b904b7eb64264e488a2f79d","ae674f4546c74bf48c00c211334f214a"]
}

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

Имя параметра Описание параметра Тип Описание
code Код возврата integer(int32)
message Возвращаемое сообщение обработки string
success Признак успешности boolean
result Возвращаемый объект данных List
  jobId ID задачи string
  code Код статуса отправки задачи integer СоответствуетТаблица кодов статуса ответа
  message Описание отправки задачи string
  uuid uuid контейнера string
  command Команда string
  nodeUuid UUID узла string
timestamp Временная метка integer(int64)
traceId ID обработки запроса string

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

{
    "message": "操作成功",
    "code": 200,
    "result": [
        {
            "jobId": "fb3e172cbbc847e6ba18bdd991b79e72",
            "code": 200,
            "message": "success",
            "uuid": "348504568b904b7eb64264e488a2f79d",
            "command": "restartInstance",
            "nodeUuid": "7a3eacab1939fefec0c1998e37d87ae2"
        },
        {
            "jobId": "1e3388fddf3e4c1496fa109986c05383",
            "code": 200,
            "message": "success",
            "uuid": "ae674f4546c74bf48c00c211334f214a",
            "command": "restartInstance",
            "nodeUuid": "7a3eacab1939fefec0c1998e37d87ae2"
        }
    ],
    "timestamp": 1691369821823,
    "traceId": "E75320230807085701790"
}

6. Запустить контейнер

Адрес интерфейса:/v2/instance/start

Метод запроса:POST

Тип данных запроса:application/json

Тип данных ответа:*/*,application/json

Поддерживаемая версия:v1.1.1

callbackUrl предоставляется версией v1.7.4

Описание интерфейса:

Интерфейс пакетного запуска контейнеров (при запуске контейнера добавляется проверка, превышает ли количество запущенных контейнеров на плате лимит экземпляров)

Параметры запроса:

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
instanceUuids uuid контейнера body true list Одна или несколько записей данных контейнера
callbackUrl Адрес callback уведомления body false string POST-запрос

Пример запроса:

POST "/openapi/v2/instance/start"
body:
{
    "instanceUuids": ["21f8ec0beadc46b0bd0a437e7a74ea14","2256ed29c9f7464aaac65cacb2843e12"]
}

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

Имя параметра Описание параметра Тип Описание
code Код возврата integer(int32)
message Возвращаемое сообщение обработки string
success Признак успешности boolean
result Возвращаемый объект данных List
  jobId ID задачи string
  code Код статуса отправки задачи integer СоответствуетТаблица кодов статуса ответа
  message Описание отправки задачи string
  uuid uuid контейнера string
  command Команда string
  nodeUuid UUID узла string
timestamp Временная метка integer(int64)
traceId ID обработки запроса string

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

{
    "message": "操作成功",
    "code": 200,
    "result": [
        {
            "jobId": "f07e77c4dcd04359b56730dbd7d1162e",
            "code": 200,
            "message": "success",
            "uuid": "21f8ec0beadc46b0bd0a437e7a74ea14",
            "command": "startInstance",
            "nodeUuid": "7a3eacab1939fefec0c1998e37d87ae2"
        },
        {
            "jobId": "610d31b12f58487b884775078682427c",
            "code": 200,
            "message": "success",
            "uuid": "2256ed29c9f7464aaac65cacb2843e12",
            "command": "startInstance",
            "nodeUuid": "7a3eacab1939fefec0c1998e37d87ae2"
        }
    ],
    "timestamp": 1691369668713,
    "traceId": "E75020230807085428674"
}

7. Остановить контейнер

Адрес интерфейса:/v2/instance/stop

Метод запроса:POST

Тип данных запроса:application/json

Тип данных ответа:*/*,application/json

Поддерживаемая версия:v1.1.1

callbackUrl предоставляется версией v1.7.4

Описание интерфейса:

Интерфейс пакетной остановки контейнеров

Параметры запроса:

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
instanceUuids uuid контейнера body true list Одна или несколько записей данных контейнера
callbackUrl Адрес callback уведомления body false string POST-запрос

Пример запроса:

POST "/openapi/v2/instance/stop"
body:
{
    "instanceUuids": ["f4d2fccea3e341dcba0bf0d6ec40455e"]
}

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

Имя параметра Описание параметра Тип Описание
code Код возврата integer(int32)
message Возвращаемое сообщение обработки string
success Признак успешности boolean
result Возвращаемый объект данных List
  jobId ID задачи string
  code Код статуса отправки задачи integer СоответствуетТаблица кодов статуса ответа
  message Описание отправки задачи string
  uuid uuid контейнера string
  command Команда string
  nodeUuid UUID узла string
timestamp Временная метка integer(int64)
traceId ID обработки запроса string

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

{
    "message": "操作成功",
    "code": 200,
    "result": [
        {
            "jobId": "406f1720dc7b4fbda540ad48206628ee",
            "code": 200,
            "message": "success",
            "uuid": "f4d2fccea3e341dcba0bf0d6ec40455e",
            "command": "stopInstance",
            "nodeUuid": "7a3eacab1939fefec0c1998e37d87ae2"
        }
    ],
    "timestamp": 1691372308394,
    "traceId": "E76220230807093828363"
}

8. Сбросить контейнер

Адрес интерфейса:/v2/instance/reset

Метод запроса:POST

Тип данных запроса:application/json

Тип данных ответа:*/*,application/json

Поддерживаемая версия:v1.1.1

callbackUrl предоставляется версией v1.7.4

Описание интерфейса:

Интерфейс пакетного сброса контейнеров, очистка раздела data

Параметры запроса:

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
instanceUuids uuid контейнера body true list Одна или несколько записей данных контейнера
appPersistedType Стратегия сохранения предустановленных приложений, по умолчанию 0 body false integer 0: полная очистка, 1: сохранить приложение, очистить данные приложения
callbackUrl Адрес callback уведомления body false string POST-запрос
Пример запроса:
POST "/openapi/v2/instance/reset"
body:
{
    "instanceUuids": ["348504568b904b7eb64264e488a2f79d","ae674f4546c74bf48c00c211334f214a"]
}

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

Имя параметра Описание параметра Тип Описание
code Код возврата integer(int32)
message Возвращаемое сообщение обработки string
result Возвращаемый объект данных List
  jobId ID задачи string
  code Код статуса отправки задачи integer СоответствуетТаблица кодов статуса ответа
  message Описание отправки задачи string
  uuid uuid контейнера string
  command Команда string
  nodeUuid UUID узла string
timestamp Временная метка integer(int64)
traceId ID обработки запроса string

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

{
    "code": 0,
    "message": "操作成功",
    "result":[
        {
            "jobId": "b59b5f35f7d743d3ad740b8df05277bf",
            "code": 200,
            "message": "success",
            "uuid": "ae674f4546c74bf48c00c211334f214a",
            "command": "resetInstance",
            "nodeUuid": "7a3eacab1939fefec0c1998e37d87ae2"
        },
        {
            "jobId": "b59b5f35f7d743d3ad740b8df05274f3",
            "code": 50003,
            "message": "容器未找到",
            "uuid": "348504568b904b7eb64264e488a2f79d",
            "command": "resetInstance",
            "nodeUuid": "7a3eacab1939fefec0c1998e37d87ae2"
        }  
    ],
    "timestamp": 1749452586155,
    "traceId": "C20250609150306154764"
}

9. Обновление образа контейнера

Адрес интерфейса:/v2/instance/upgradeImage

Метод запроса:POST

Тип данных запроса:application/json

Тип данных ответа:*/*,application/json

Поддерживаемая версия:v1.1.1

callbackUrl предоставляется версией v1.7.4

Описание интерфейса:

Пакетное обновление образов контейнеров

Параметры запроса:

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
instanceUuids uuid контейнера body true list Одна или несколько записей данных контейнера
imageId ID образа body true string
wipeData Очищать ли данные контейнера(раздел data) body true boolean true очистить;false не очищать
callbackUrl Адрес callback уведомления body false string POST-запрос
statusStartType Тип запуска контейнера body false integer 0:запустить(параметр по умолчанию)1:сохранить исходное состояние(запущено/остановлено)

Пример запроса:

POST "/openapi/v2/instance/upgradeImage"
body:
{
    "imageId": "qsandroid:1.0.78",
    "wipeData": false,
    "instanceUuids": [
        "f4d2fccea3e341dcba0bf0d6ec40455e","ae674f4546c74bf48c00c211334f214a"
    ]
}

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

Имя параметра Описание параметра Тип Описание
code Код возврата integer(int32)
message Возвращаемое сообщение обработки string
success Признак успешности boolean
result Возвращаемый объект данных object
jobs Результат задачи list<object>
  jobId ID задачи string
  code Код статуса отправки задачи integer СоответствуетТаблица кодов статуса ответа
  message Описание отправки задачи string
  uuid uuid контейнера string
  command Команда string
  nodeUuid uuid узла string
timestamp Временная метка integer(int64)
traceId ID обработки запроса string

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

{
    "code": 0,
    "message": "操作成功",
    "result": [
        {
            "jobId": "b59b5f35f7d743d3ad740b8df05277bf",
            "code": 200,
            "message": "success",
            "uuid": "ae674f4546c74bf48c00c211334f214a",
            "command": "upgradeImageInstance",
            "nodeUuid": "7a3eacab1939fefec0c1998e37d87ae2"
        },
        {
            "jobId": "b59b5f35f7d743d3ad740b8df05274f3",
            "code": 50003,
            "message": "容器未找到",
            "uuid": "f4d2fccea3e341dcba0bf0d6ec40455e",
            "command": "upgradeImageInstance",
            "nodeUuid": "7a3eacab1939fefec0c1998e37d87ae2"
        }  
    ],
    "timestamp": 1749452601305,
    "traceId": "C20250609150321303778"
}

10. Установить ограничение скорости

Адрес интерфейса: /v1/arm/card/apply/network/limit

Метод запроса: POST

Тип данных запроса: application/json

Тип данных ответа: */*,application/json

Поддерживаемая версия: v1.19.0

Описание интерфейса:

Пакетная настройка ограничения скорости платы/контейнера

Параметры запроса

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
uuids Набор uuid плат или контейнеров body true list Пакетная операция
type Тип body true integer 1:плата;2:контейнер
txLimit Исходящая пропускная способность(Mbps) body false integer Диапазон:0~10000。0 или отсутствие параметра означает отсутствие ограничения скорости
rxLimit Входящая пропускная способность(Mbps) body false integer Диапазон:0~10000。0 или отсутствие параметра означает отсутствие ограничения скорости
callbackUrl Адрес callback уведомления body false string

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

POST "/openapi/v1/arm/card/apply/network/limit"
body:
{
    "callbackUrl": "https://baidu.com",
    "rxLimit": 0,
    "txLimit": 50,
    "type": 1,
    "uuids": [
        "35cdb073f6b143c27193cda1b1f5223f"
    ]
}

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

Имя параметра Описание параметра Тип Описание
code Код возврата integer(int32)
message Возвращаемое сообщение обработки string
success Признак успешности boolean
result Возвращаемый объект данных object
jobs Результат задачи list<object>
  jobId ID задачи string
  code Код статуса отправки задачи integer СоответствуетТаблица кодов статуса ответа
  sn sn платы string
  message Описание отправки задачи string
  uuid uuid ресурса string uuid платы или uuid контейнера
timestamp Временная метка integer(int64)
traceId ID обработки запроса string

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

{
    "message": "操作成功",
    "code": 200,
    "result": {
        "jobs": [
            {
                "jobId": "d33cf1faf04d46118e6863d67d4a5790",
                "code": 200,
                "sn": "OR65M22QC2D221101036",
                "message": "success",
                "uuid": "35cdb073f6b143c27193cda1b1f5223f"
            }
        ]
    },
    "timestamp": 1735635597561,
    "traceId": "C20241231165957548043"
}

11. Запрос ограничения скорости

Адрес интерфейса: /v1/arm/card/apply/query/network/limit

Метод запроса: POST

Тип данных запроса: application/json

Тип данных ответа: */*,application/json

Поддерживаемая версия: v1.19.0

Описание интерфейса:

Пакетный запрос ограничения скорости платы/контейнера

Параметры запроса

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
uuids Набор uuid плат или контейнеров body true list Пакетная операция
type Тип body true integer 1:плата;2:контейнер

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

POST "/openapi/v1/arm/card/apply/query/network/limit"
body:
{
    "type": 1,
    "uuids": [
        "35cdb073f6b143c27193cda1b1f5223f"
    ]
}

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

Имя параметра Описание параметра Тип Описание
code Код возврата integer(int32)
message Возвращаемое сообщение обработки string
success Признак успешности boolean
result Возвращаемый объект данных object
  list Результат задачи list<object>
    uuid uuid string
      txLimit Исходящая пропускная способность(Mbps) integer
      rxLimit Входящая пропускная способность(Mbps) integer
timestamp Временная метка integer(int64)
traceId ID обработки запроса string

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

{
    "message": "操作成功",
    "code": 200,
    "result": {
        "list": {
            "2de6e9a68cd46c09a600a6e4ea70f6cb": {
                "rxLimit": 0,
                "txLimit": 0
            }
        }
    },
    "timestamp": 1736494048934,
    "traceId": "C20250110152728934900"
}

12. Инкрементная синхронизация списка контейнеров

Адрес интерфейса:/v2/instance/sync

Метод запроса:POST

Тип данных запроса:application/json

Тип данных ответа:*/*,application/json

Поддерживаемая версия:v2.0.0

Описание интерфейса:

Синхронизировать указанное количество записей изменений данных контейнера на основе временной базовой линии и id базовой линии

Параметры запроса:

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
projectId Id проекта body true string Синхронизировать данные указанного project id
timeLine Временная базовая линия, возвращаются только данные больше или равные этому времени body true long
uuid базовая линия uuid,поскольку существуют данные с одинаковым временем, сортировка по uuid используется для пропуска уже синхронизированных данных body false string
ticketId Номер заявки body true string Будет включено в возвращаемое содержимое
pageSize Размер пакета body false integer Максимальный объем данных запроса, возвращаемый за один раз, по умолчанию 10

Пример запроса:

POST "/openapi/v2/instance/sync"
body:
{
  "timeLine":1742288362249,
  "pageSize":3,
  "uuid": "nashan-ggca3oneqdqkr2vv",
  "ticketId":"xxxxxx",
  "projectId":"7b5a664173f526309e43faf775f09d1d",
}

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

Имя параметра Описание параметра Тип Описание
code Код возврата integer(int32)
message Возвращаемое сообщение обработки string
success Признак успешности boolean
result Возвращаемый объект данных list<object>
  records Список данных текущей страницы list<object>
    uuid uuid вычислительного контейнера string
    name Название контейнера string
    armCardId SN платы string
    armCardSn SN платы string
    armCardIp IP платы string
    imageId ID образа string Инициализационный образ для создания контейнера
    imageUuid UUID образа string
    cceImage Текущий образ контейнера string При обновлении образа это значение станет текущим образом
    ip ip string
    mac mac-адрес string
    dns dns string
    gateway Шлюз string
    businessStatus бизнес-статус integer
    status Статус контейнера integer См. 1.9.1
    enableStatus Состояние доступности boolean false:недоступно true:доступно
    delStatus Состояние удаления boolean false:нормально true:удалено
    resolution Разрешение string 720x1280
    orientation Направление поворота integer 0:портретная ориентация 1:альбомная ориентация
    refreshRate Частота обновления integer целое число от 30 до 60
    root root ли integer 0:нет 1:да
    networkMode Сетевой режим string
    envVariable Переменные окружения string
    cceId ID контейнера string 64-битная строка
    ccePorts Группа открытых портов string ip платы:порт сопоставлен с внутренним портом контейнера
    cceStatus статус выполнения cce string Выполняется:Up Завершен:Exit Неизвестно:UnKnow
    level Вычислительная спецификация integer 1 - 7 экземпляров
    areaUuid uuid региона string
    areaName Название региона string
    nodeUuid uuid узла string
    nodeName Название узла string
    armServerUuid uuid сервера string
    armServerName Имя сервера sting
    armCardUuid uuid платы string
    hostIp IP-адрес хоста string
    hostUuid UUID хоста string
    remark Примечание string
    osVersion Операционная система образа контейнера string Android 10 Android 13
    tagNames Тег List<string>
    dnat Список DNAT IP list
      ip Внутренний IP string
      port Номер внутреннего порта integer
      publicIp Публичный IP string
      publicPort Номер публичного порта integer
      protocol Протокол string
      isp Оператор string
      idc Машинный зал string
    createTime Время создания string
    instanceOffering Объект вычислительной спецификации object
      uuid uuid вычислительной спецификации integer
      name Название string
      remark Примечание string
instanceOfferingName Спецификация контейнера string Например: один запуск - ограниченное хранилище - 8vCPU - 12GB памяти - 175GB
hardwareCode Вычислительная спецификация контейнера --планируется вывести из эксплуатации string
      level Вычислительная спецификация integer 1 - 7 экземпляров
    updateTime Время обновления string
    nodeIp ip узла string
    nodePort Порт узла string
    gameImageId id игрового образа string
    properties Свойства string
    instanceLimit Количество контейнеров превышает квоту integer Если значение превышения равно “1”, это означает общее количество контейнеров, созданных на плате, на которой находится данный контейнер>Количество запусков; в этом случае количество запускаемых контейнеров будет ограничено и не должно превышать максимальное количество, разрешенное платой (то есть количество запусков). Когда превышение равно “0”, это означает, что общее количество контейнеров, созданных на плате, где находится этот контейнер = количество запусков.
    stopStatus Статус остановки контейнера boolean true:остановить,false:запустить
    natType Тип NAT integer 1-полноконусный, 2-DNAT, 3-полноконусный+DNAT, 0-не настроено
    storeType Тип хранилища integer Тип хранилища: 1.локальный диск, 2.облачный диск
    displayLayout Макет экрана string
  timeLine Максимальное время этой партии данных long
  uuid UUID последнего контейнера в этой партии данных string
  ticketId Номер заявки string
timestamp Временная метка integer(int64)
traceId ID обработки запроса string

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

{
  "message": "操作成功!",
  "code": 200,
  "result": {
    "records": [
      {
        "uuid": "qs-fs-pre-s9rf5snjhh97b8a1",
        "areaUuid": "f2a584df5e91724a94a31a4a68b5dcd0",
        "areaName": "华南",
        "armServerName": "华南_qs-fs-pre_s-8c2c9cca5853789031ac60d332a2bdfd",
        "armServerUuid": "s-8c2c9cca5853789031ac60d332a2bdfd",
        "armCardUuid": "46b635c9669ee824db9f19d64cca8c4e",
        "armCardId": "OR65M62QC2D242406460",
        "armCardSn": "OR65M62QC2D242406460",
        "nodeUuid": "beb95a81559b894a92c9f1bb13c7aeba",
        "nodeName": "qs-fs-pre",
        "armCardIp": "172.30.0.57",
        "name": "hf_auto_test-10-i2",
        "level": 4,
        "ip": "10.20.2.67",
        "cceId": "7d3632807bbd004f4086e76b9210f8da1c24e22343e945b7bac558ac2aae2efd",
        "cceImage": "img-1743489439031",
        "imageName": "20250401-api",
        "ccePorts": "",
        "cceStatus": "Up",
        "status": 6,
        "enableStatus": true,
        "delStatus": false,
        "createTime": "2025-08-21 16:27:54",
        "updateTime": "2025-08-21 16:31:25",
        "imageId": "img-1743489439031:latest",
        "imageUuid": "bf78f87b27d64cc88ad70b0cbe4dda16",
        "resolution": "720x1280",
        "orientation": 0,
        "refreshRate": 30,
        "root": null,
        "networkMode": "macvlan",
        "envVariable": null,
        "remark": null,
        "hostIp": "172.30.0.57",
        "hostUuid": "46b635c9669ee824db9f19d64cca8c4e",
        "mac": "48:17:8f:bb:de:8d",
        "dns": null,
        "gateway": "10.20.2.1",
        "nodeIp": "10.21.0.10",
        "nodePort": "80",
        "gameImageId": "",
        "projectId": null,
        "businessStatus": 6,
        "osVersion": "Android 10",
        "properties": null,
        "instanceLimit": 1,
        "stopStatus": false,
        "natType":1,
        "storeType":1,
        "displayLayout": "{\"height\":1920,\"pixelDensity\":320,\"refreshRate\":60,\"uuid\":\"cdd2c57c45a111f0bfdd0242ac12000d\",\"weight\":1080}",
        "instanceOffering": {
          "uuid": "86e9f4a3d47f11efa27fd67956f2361b",
          "name": "Orion865",
          "remark": "四开-限存储",
          "level": 4,
          "hardwareCode": "Orion865_2C_4G",
          "instanceOfferingName": "一开-限存储 | 8vCPU |12GB内存 | 175GB"
        },
        "tagNames": [
          "HF自动化测试专用-勿动"
        ],
        "dnat": [
          {
            "ip": "10.255.1.99",
            "port": 10101,
            "publicIp": "14.17.100.66",
            "publicPort": 20512,
            "protocol": "udp",
            "isp": "电信",
            "idc": "广州机房"
          }
        ],
        "snat": [
          {
            "publicIp": "192.168.4.110",
            "isp": "电信"
          }
        ]
      }
    ],
    "timeLine": 1755765085287,
    "uuid": "qs-fs-pre-s9rf5snjhh97b8a1",
    "ticketId": "1755765046889"
  },
  "timestamp": 1755765088019,
  "traceId": "C20250821163128019156"
}

13. Информация ssh-подключения контейнера

Адрес интерфейса: /v2/instance/ssh-info

Метод запроса:POST

Тип данных запроса:application/json

Тип данных ответа:*/*,application/json

Поддерживаемая версия:v1.19.0

Описание интерфейса:

Получить информацию для ssh-подключения к контейнеру

Параметры запроса:

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
uuid uuid контейнера body true string uuid контейнера
liveTime Срок действия подключения body true integer Срок действия подключения, единица: секунды, диапазон:[1, 86400]

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

POST "/openapi/v2/instance/ssh-info"
body:
{
  "uuid":1742288362249,
  "liveTime":86400
}

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

Имя параметра Описание параметра Тип Описание
code Код возврата integer
message Возвращаемое сообщение обработки string
result Возвращаемый объект данных list<object>
  type Целевая операционная система подключения integer 1 означает android,2 означает debain
  uuid uuid контейнера string integer uuid android-контейнера
  sshCommand Команда подключения string
  host Адрес подключения string
  port Порт подключения integer
  username Имя пользователя подключения string
  sshPwd Пароль подключения string
  expireTime Метка времени истечения срока long Единица измерения ms
timestamp Временная метка integer
traceId ID обработки запроса string

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

{
  "message": "操作成功!",
  "code": 200,
  "result": {
    "type": 1,
    "uuid": "nashan1-0i5thpnoliqyjnwy",
    "sshCommand": "ssh 10.255.1.13_22_1_1752133964400@192.168.40.86 -p 2226",
    "sshPwd": "eyJtZXRhIjoiZXlKdVlXMWxJam9pWVdSdGFXNGlMQ0owZVhCbElqb2lNVEFpZlE9PSIsInNpZ24iOiJ3VXFMcHRFRmFaVFQ0TmVZRHBiclJBPT0ifQ==",
    "expireTime": 1752133964400,
    "host": "192.168.40.86",
    "port": 2226,
    "username": "10.255.1.13_22_1_1752133964400"
  },
  "timestamp": 1752047564479,
  "traceId": "C20250709155244479102"
}

14. Количество плат, на которых можно создать контейнеры (используется для создания контейнера)

Адрес интерфейса: /v1/arm/card/apply/available/apply/num

Метод запроса: POST

Тип данных запроса: application/json

Тип данных ответа: */*,application/json

Поддерживаемая версия: v1.18.0

Описание интерфейса:

Получить количество плат, доступных для создания контейнеров

Параметры запроса:

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
projectId id проекта body false string По умолчанию проект по умолчанию текущего пользователя
nodeUuid uuid узла body true string
offeringUuid uuid спецификации платы body true string Пройдено Получить вычислительную спецификацию платы Получить через интерфейс
snList Список SN плат body false list
storageIsolation Требуется ли изоляция хранилища body false boolean По умолчанию false, то есть поддержка изоляции хранилища не требуется

Пример запроса

POST "/openapi/v1/arm/card/apply/available/apply/num"
body:
{
    "nodeUuid":"81f62329436eed8f36d0595bf81b63db",
    "projectId":"7b5a664173f526309e43faf775f09d1d",
    "offeringUuid":"f64a987692a711ef9b070242ac12000d"
}

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

Имя параметра Описание параметра Тип Описание
code Код возврата integer(int32)
message Возвращаемое сообщение обработки string
result Возвращаемый объект данных object
  applyNum Количество плат, на которых можно создать контейнеры integer(int32)
timestamp Временная метка integer(int64)
traceId ID обработки запроса string

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

{
    "message": "操作成功",
    "code": 200,
    "result": {
        "applyNum": 5
    },
    "timestamp": 1730201010116,
    "traceId": "E20241029192330116567"
}

15. Количество доступных IP (используется при создании контейнера) Планируется вывод из эксплуатации

Адрес интерфейса: /v1/arm/card/apply/available/ip/num

Метод запроса: POST

Тип данных запроса: application/json

Тип данных ответа: */*,application/json

Поддерживаемая версия: v1.18.0

Описание интерфейса:

Получить количество ip, доступных для создания контейнеров

Используется при создании контейнера для определения, соответствует ли пул ip количеству контейнеров

Параметры запроса:

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
nodeUuid uuid узла body true string
subnetUuid uuid подсети body true string Поддерживает несколько сетевых сегментов, разделять запятыми

Пример запроса

POST "/openapi/v1/arm/card/apply/available/ip/num"
body:
{
    "nodeUuid":"81f62329436eed8f36d0595bf81b63db",
    "subnetUuid":"943da341eede495282278cd06ccd1623"
}

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

Имя параметра Описание параметра Тип Описание
code Код возврата integer(int32)
message Возвращаемое сообщение обработки string
result Возвращаемый объект данных object
  ipNum Количество доступных ip integer(int32)
timestamp Временная метка integer(int64)
traceId ID обработки запроса string

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

{
    "message": "操作成功",
    "code": 200,
    "result": {
        "ipNum": 5
    },
    "timestamp": 1730201010116,
    "traceId": "E20241029192330116567"
}

16. Получить бизнес-сеть и подсети(используется при создании контейнера)

Адрес интерфейса: /v1/network/list

Метод запроса:POST

Тип данных запроса:application/json

Тип данных ответа:*/*,application/json

Поддерживаемая версия:v1.7.4

Описание интерфейса:

Получить бизнес-сеть и ее подсети указанного узла в проекте

Параметры запроса:

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
projectId Id проекта body false string По умолчанию проект по умолчанию текущего пользователя
nodeUuid uuid узла body true string Запрос сети под узлом

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

POST "/openapi/v1/network/list"
body:
{
    "nodeUuid":"161d73a7470b797fec133df3b5bbf20b"
}

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

Имя параметра Описание параметра Тип Описание
code Код возврата integer(int32)
message Возвращаемое сообщение обработки string
result Возвращаемый объект данных list<object>
  networkUuid uuid сети string
  name Название сети string
  ipv4 ipv4 string
  cidr длина префикса cidr string
  ipv4Cidr ipv4Cidr string
  dns1 dns1 string
  dns2 dns2 string
  gateway Шлюз string
  vlan vlan integer
  subnetCount Количество подсетей integer Количество подсетей, созданных в сети
  availableIpTotal общее количество доступных IP в подсети бизнес-сети integer общее количество доступных IP в подсети бизнес-сети
  natType Тип NAT integer 1-полноконусный, 2-DNAT, 3-полноконусный+DNAT, 0-не настроено
  subnets Список подсетей list<object>
    subnetUuid uuid подсети string
    ipv4 ipv4 string
    cidr длина префикса cidr string Есть значение при типе сетевого сегмента
    ipv4Cidr ipv4Cidr string Есть значение при типе сетевого сегмента
    startIp startIp string имеет значение при типе диапазона ip
    endIp endIp string имеет значение при типе диапазона ip
    gateway Адрес шлюза string
    availableNum Количество доступных IP в подсети integer
timestamp Временная метка integer(int64)
traceId ID обработки запроса string

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

{
  "message": "操作成功!",
  "code": 200,
  "result": [
    {
      "networkUuid": "3c81e61a35de401bv076bdb0d6675ee3",
      "name": "business1",
      "ipv4": "10.255.0.0",
      "cidr": "25",
      "ipv4Cidr": "10.255.0.0/25",
      "dns1": "8.8.8.8",
      "dns2": "114.114.114.114",
      "vlan": 101,
      "gateway": "10.255.0.1",
      "subnetCount": 3,
      "availableIpTotal": 8,
      "natType":1,
      "subnets": [
        {
          "subnetUuid": "943da341eede495282278cd06ccd1623",
          "ipv4": "10.255.0.0",
          "cidr": "29",
          "ipv4Cidr": "10.255.0.0/29",
          "gateway": "10.255.0.1",
          "availableNum": 3,
          "startIp": null,
          "endIp": null
        },
        {
          "subnetUuid": "64e261771e8a43edb27e70f7185c9702",
          "ipv4": "10.255.0.10",
          "cidr": null,
          "ipv4Cidr": null,
          "gateway": "10.255.0.1",
          "availableNum": 2,
          "startIp": "10.255.0.10",
          "endIp": "10.255.0.69"
        },
        {
          "subnetUuid": "091e0e26816945029c00adf463f8e73d",
          "ipv4": "10.255.0.70",
          "cidr": null,
          "ipv4Cidr": null,
          "gateway": "10.255.0.1",
          "availableNum": 3,
          "startIp": "10.255.0.70",
          "endIp": "10.255.0.127"
        }
      ]
    }
  ],
  "timestamp": 1736499769597,
  "traceId": "C20250110170249597948"
}

17. Список раскладок экрана контейнера

Адрес интерфейса:/v1/layout/page/list

Метод запроса:POST

Тип данных запроса:application/json

Тип данных ответа:*/*,application/json

Поддерживаемая версия:v2.4.0

Описание интерфейса:

Список раскладок экрана контейнера

Параметры запроса:

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
projectId Id проекта body false string По умолчанию проект по умолчанию текущего пользователя

Пример запроса:

POST "/openapi/v1/layout/page/list"
body:
{
    "projectId": "b4302f88b4f46b5e434b999eda2483db"
}

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

Имя параметра Описание параметра Тип Описание
code Код возврата integer(int32)
message Возвращаемое сообщение обработки string
result Возвращаемый объект данных IPage«Информация о регионе»
  records Список данных текущей страницы list<object>
    uuid UUID макета string
    name Название макета string
    weight Ширина integer Единица измерения: px
    height Высота integer Единица измерения: px
    pixelDensity Плотность пикселей integer Единица измерения: dpi
    refreshRate Частота обновления экрана integer Единица измерения: fps
    projectId Id проекта string project_pubilc:макет по умолчанию
Другое: пользовательский макет
    createTime Время создания string
    updateTime Время обновления string
  total Общее количество записей integer
  current Номер текущей страницы integer
  pages Общее количество страниц integer
  size Количество строк на странице integer
timestamp Временная метка integer(int64)
traceId ID обработки запроса boolean

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

{
    "message": "操作成功!",
    "code": 200,
    "result": {
        "records": [
            {
                "uuid": "c0e226e745a111f0bfdd0242ac12000d",
                "name": "ID1",
                "projectId": "project_public",
                "createTime": "2025-06-13 12:58:16",
                "updateTime": "2025-06-13 12:58:16",
                "weight": 720,
                "height": 1280,
                "pixelDensity": 320,
                "refreshRate": 30
            },
            {
                "uuid": "c9a17ece45a111f0bfdd0242ac12000d",
                "name": "ID2",
                "projectId": "project_public",
                "createTime": "2025-06-13 12:58:16",
                "updateTime": "2025-06-13 12:58:16",
                "weight": 1280,
                "height": 720,
                "pixelDensity": 320,
                "refreshRate": 30
            },
            {
                "uuid": "cdd2c57c45a111f0bfdd0242ac12000d",
                "name": "ID3",
                "projectId": "project_public",
                "createTime": "2025-06-13 12:58:16",
                "updateTime": "2025-06-13 12:58:16",
                "weight": 1080,
                "height": 1920,
                "pixelDensity": 320,
                "refreshRate": 60
            },
            {
                "uuid": "cfa7b8c745a111f0bfdd0242ac12000d",
                "name": "ID4",
                "projectId": "project_public",
                "createTime": "2025-06-13 12:58:16",
                "updateTime": "2025-06-13 12:58:16",
                "weight": 1920,
                "height": 1080,
                "pixelDensity": 320,
                "refreshRate": 60
            }
        ],
        "total": 4,
        "current": 1,
        "pages": 1,
        "size": 10
    },
    "timestamp": 1750044687220,
    "traceId": "C20250616113127220345"
}

18. Список статусов запуска/остановки контейнеров на плате

Адрес интерфейса:/v2/instance/stopStatus/list

Метод запроса:POST

Тип данных запроса:application/json

Тип данных ответа:*/*,application/json

Поддерживаемая версия:v2.7.0

Описание интерфейса:

Постраничный запрос статуса запуска/остановки контейнеров, возвращает соответствующий статус запуска/остановки контейнеров

Параметры запроса:

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
armCardSns SN платы body false List<String> Запрос по указанным SN плат, максимум 200
pageNum Номер текущей страницы body false integer По умолчанию 1
pageSize Количество данных на текущей странице body false integer По умолчанию 10

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

POST "/openapi/v2/instance/stopStatus/list"
body:
{
    "armCardSns": [
        "132322",
        "132322"
    ],
    "pageNum": 1,
    "pageSize": 10
}

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

Имя параметра Описание параметра Тип Описание
code Код возврата integer(int32)
message Возвращаемое сообщение обработки string
result Возвращаемый объект данных IPage<object>
  records Список данных текущей страницы list<object>
    sn sn платы string
    uuid uuid вычислительного контейнера string
    stopStatus Статус остановки контейнера boolean true:остановить,false:запустить
  total Общее количество записей integer
  current Номер текущей страницы integer
  pages Общее количество страниц integer
  size Количество строк на странице integer
traceId ID обработки запроса string
timestamp Временная метка integer(int64)

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

{
    "message": "操作成功!",
    "code": 200,
    "result": {
        "records": [
            {
                "sn": "OR65Q61QC2D240402563",
                "uuid": "c0e226e745a111f0bfdd0242ac12000a",
                "stopStatus": true
            },
            {
                "sn": "OR65Q61QC2D240402564",
                "uuid": "c0e226e745a111f0bfdd0242ac12000c",
                "stopStatus": true
            }
        ],
        "total": 1,
        "current": 1,
        "pages": 1,
        "size": 10
    },
    "timestamp": 1751597826079,
    "traceId": "C20250704105706079185"
}