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

3.Плата

1. Запрос платы

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

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

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

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

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

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

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

Запрос ресурсов плат в системе

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

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
nodeUuid uuid узла body true string
projectId Id проекта body false string По умолчанию проект по умолчанию текущего пользователя
name Название платы body true string Название не должно повторяться [ при пакетном создании правило именования: {name}-1,{name}-2 и так далее ]
createType Тип body true integer 1:плата&Контейнер 2:голая плата
armCardOfferingUuid uuid спецификации платы body true string Пройдено Получить вычислительную спецификацию платы Получить через интерфейс
num Количество запрашиваемых плат body true integer За один раз не более 10000.
Можно через Получить доступное количество плат Получить через интерфейс максимальное доступное для заявки количество
snList Список SN плат body false list Длина списка не может превышать 200
armServerUuids Список uuid серверов body false list Список uuid серверов
os Операционная система body false string В настоящее время поддерживаются только Android、debian
osVersion Версия операционной системы body false string Номер версии операционной системы
tagIds id тега body false Set<Long>
callbackUrl Адрес callback уведомления body false string POST-запрос

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

POST "/openapi/v1/arm/card/apply/add"
body:
{
    "nodeUuid":"81f62329436eed8f36d0595bf81b63db",
    "projectId":"7b5a664173f526309e43faf775f09d1d",
    "name":"test-api",s
    "createType":1,
    "armCardOfferingUuid":"f64a987692a711ef9b070242ac12000d",
    "num":1,
    "snList":["ORG2M32QC2J231400077"],
    "armServerUuids":["s-08f5fb859a9d9161c2727bf57e586f02"],
    "os":"Android",
    "osVersion":"13",
    "tagIds":[200,257],
    "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
    projectId Id проекта string
timestamp Временная метка integer(int64)
traceId ID обработки запроса string

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

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

2. Отписать плату

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

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

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

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

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

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

Отписать плату

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

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

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

POST "/openapi/v1/arm/card/apply/unsubscribe"
body:
{
    "uuids": ["e123de61c90d0abbd503c48c769bb38a"],
    "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": "c5ebec444805454c97f8884804796dde",
                "code": 200,
                "sn": "OR65Q61QC2D240403252",
                "message": "success",
                "uuid": "ef8f33d103ffc9b79af8709397e3d559"
            }
        ]
    },
    "timestamp": 1742985329522,
    "traceId": "E20250326183529385229"
}

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

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

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

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

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

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

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

Постраничный запрос списка запрошенных плат

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

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

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

POST "/openapi/v2/card/page/list?time=1720774436&sign=3bbf04e6c524bc028d543148ea55447cad066f896431980e01d80488d1212807"
body:
{
    "pageNum": 1,
    "pageSize": 10,
    "projectId": "project_admin"
}

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

Имя параметра Описание параметра Тип Описание
code Код возврата integer(int32)
message Возвращаемое сообщение обработки string
result Возвращаемый объект данных IPage<object>
  records Список данных текущей страницы list<object>
    uuid uuid платы string
    sn SN платы string
    ip IP платы string
    name Название платы string
    status Статус платы integer 1нормально、3аномалия、30NMS офлайн、40выключено
    areaUuid uuid региона string
    areaName Название региона string
    nodeUuid uuid узла string
    nodeName Название узла string
    armServerUuid uuid сервера string
    position Аппаратное расположение платы string
    sortIndex Аппаратная сортировка платы integer
    level Количество запусков integer 1 - 6 экземпляров
    hardwareModel Модель оборудования String Orion865;Orion8G2;Cruise10
    hardwareCode Вычислительная спецификация контейнера string Orion865_8C_12G;Cruise10_4C_4G
    rom версия rom string
    tagNames Тег list
    createType Тип платы integer Тип платы: 1 - плата с контейнерами, 2 - голая плата
armCardOfferingUuid uuid вычислительной спецификации платы String
    createTime Время создания string
    instanceNum Количество контейнеров integer Количество контейнеров, фактическое количество контейнеров на плате
    instanceLimit Количество контейнеров превышает квоту integer Если значение превышения равно “-1”, это означает плату с несозданным контейнером или голую плату; если значение превышения равно “1”, это означает общее количество контейнеров, созданных на плате>Количество запусков; когда превышение равно “0”, это означает, что общее количество контейнеров, созданных на плате = количество запусков
  total Общее количество записей integer
  current Номер текущей страницы integer
  pages Общее количество страниц integer
  size Количество строк на странице integer
traceId ID обработки запроса string
timestamp Временная метка integer(int64)

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

{
  "message": "操作成功!",
  "code": 200,
  "result": {
    "total": 10,
    "current": 1,
    "pages": 10,
    "size": 1,
    "records": [
      {
        "uuid": "03d0b1e9f4a90e067a3b92b338d586b9",
        "sn": "OR65M62QC2D242406627",
        "ip": "172.30.0.67",
        "armServerUuid": "s-8c2c9cca5853789031ac60d332a2bdfd",
        "status": 1,
        "createTime": "2025-01-11 14:04:02",
        "level": 4,
        "position": "1-8",
        "sortIndex": "7",
        "areaUuid": "f2a584df5e91724a94a31a4a68b5dcd0",
        "areaName": "华南",
        "nodeUuid": "beb95a81559b894a92c9f1bb13c7aeba",
        "nodeName": "qs-fs-pre",
        "hardwareCode": "Orion865_2C_4G",
        "name": "hf_auto_test-1",
        "rom": "OR65L10CDA_V2.2.55_20250715_1708",
        "tagNames": [
          "HF自动化测试专用-勿动"
        ],
        "createType": 1,
        "armCardOfferingUuid": "f64a987692a711ef9b070242ac12000d",
        "hardwareModel": "Orion865",
        "status": 1,
        "instanceNum": 4,
        "instanceLimit": 0
      }
    ]
  },
  "timestamp": 1755765049212,
  "traceId": "C20250821163049212129"
}

4. Детали платы

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

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

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

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

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

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

Запрос ресурсов плат в системе

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

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

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

Имя параметра Описание параметра Тип Описание
code Код возврата integer(int32)
message Возвращаемое сообщение обработки string
result Возвращаемый объект данных object
  uuid uuid платы string
  name Название платы string
  sn SN платы string SN платы
  cloudVirtualIp IP платы string IP платы
  createType Тип платы integer Тип платы: 1 - плата с контейнерами, 2 - голая плата
  refreshRate Частота обновления integer
  onlineStatus Онлайн-статус integer
  status Статус платы integer 1нормально、3аномалия、30NMS офлайн、40выключено
  tagNames Название тега List
armCardOfferingUuid uuid вычислительной спецификации платы string
  nodeName Название узла string
  nodeUuid uuid узла string
  areaUuid uuid региона string
  areaName Название региона string
  instanceNum Количество контейнеров, созданных под платой integer
  instanceOffering Вычислительная спецификация контейнера list<object> Если количество контейнеров равно 0, то пусто
    uuid uuid вычислительной спецификации string
    name Название вычислительной спецификации string
    level Количество запусков integer
    cpu количество cpu integer
    memory Память integer
  instances Коллекция контейнеров list<object>
    uuid uuid контейнера string
    name Название контейнера string
    ip IP контейнера string
    cceStatus статус контейнера cce string исходный статус контейнера, видимый командой docker ps
    cceImage образ cce string
  mounts Информация монтирования облачного диска object
    cloudDriveUuid uuid облачного диска string
    mountPath Каталог монтирования string
  instanceLimit Количество контейнеров превышает квоту integer Если значение превышения равно “-1”, это означает плату с несозданным контейнером или голую плату; если значение превышения равно “1”, это означает общее количество контейнеров, созданных на плате>Количество запусков; когда превышение равно “0”, это означает, что общее количество контейнеров, созданных на плате = количество запусков
  ssh информация ssh-подключения list<object>
    password Пароль string
    expired Время истечения срока действия string
    port Порт integer
    ip ip string
    username Учетная запись string
timestamp Временная метка integer(int64)
traceId ID обработки запроса string

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

{
    "message": "操作成功",
    "code": 200,
    "result": {
        "nodeName": "office",
        "instanceNum": 3,
        "cloudVirtualIp": "172.31.1.18",
        "createType": 1,
        "nodeUuid": "91a07b982a616b5e5141247b1f6149bc",
        "uuid": "c-054154bc2a86f4a1a9464f3fd7675356",
        "refreshRate": 30,
        "onlineStatus": 1,
        "areaName": "TEST",
        "name": "TEST-2",
        "areaUuid": "1938e94db546063f258e4c8ecfb48871",
        "sn": "OR65M22QC1E223700085",
        "tagNames": [
          "HF自动化测试专用-勿动"
        ],
        "armCardOfferingUuid": "f64a987692a711ef9b070242ac12000d",
        "instanceOffering": {
            "uuid": "f06fba679ff711eea4070242ac120002",
            "name": "Orion865",
            "level": 3,
            "memory": 4,
            "cpu": 3
        },
        "instances": [
            {
                "cceStatus": "Up",
                "ip": "10.255.0.5",
                "name": "TEST-2-i1",
                "cceImage": "172.31.0.5:3735/android10:1.0.143",
                "uuid": "i-7685f9c1b819484bf15ddbaf643a6ae1"
            }
        ],
        "mounts": [
            {
                "mountPath": "/data/mount/mi802",
                "cloudDriveUuid": "3e25ec2f7103483b8abc8e3cde49ebca"
            },
            {
                "mountPath": "/data/mount/mi8029",
                "cloudDriveUuid": "088234e7fbd149b0945d6428913577be"
            }
        ],
        "ssh": {
                    "password": "eyJtZXRhIjoiZXlKdVlXMWxJam9pZW5GNUlpd2lkSGx3WlNJNklqSXdJbjA9Iiwic2lnbiI6InBFZGZLaUhQQUpoRE9qWDFhbDM3TFE9PSJ9",
                    "expired": "2026-04-23 18:41:11",
                    "port": 2226,
                    "ip": "192.168.40.86",
                    "username": "172.31.1.54_22_32_1776940871987"
                },
        "status": 1,
        "instanceLimit": 0
    },
    "timestamp": 1716969633383,
    "traceId": "E20240529160033383074"
}

5. Перезагрузка платы

Адрес интерфейса: /v2/card/powerReset

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

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

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

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

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

Пакетная перезагрузка указанной платы

Примечание:перезагрузка платы приведет к недоступности контейнеров под этой платой

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

POST "/openapi/v2/card/powerReset"
body:
{
    "uuids": [
        "uuid"
    ]
}

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

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

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

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

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

{
    "code": 0,
    "message": "操作成功",
    "result": [
        {
            "jobId": "b59b5f35f7d743d3ad740b8df05277bf",
            "code": 200,
            "message": "success",
            "nodeUuid": "91a07b982a616b5e5141247b1f6149bc",
            "uuid": "ae674f4546c74bf48c00c211334f214a",
            "sn": "OR65T31QC2D221000025"
        }
    ],
    "timestamp": 0,
    "traceId": "20220708171922A029"
}

6. Мягкая перезагрузка платы

Адрес интерфейса: /v2/card/reboot

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

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

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

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

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

Пакетная мягкая перезагрузка указанной платы

Примечание:перезагрузка платы приведет к недоступности контейнеров под этой платой

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

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

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

POST "/openapi/v2/card/reboot"
body:
{
    "uuids": [
        "uuid"
    ]
}

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

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

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

{
    "code": 0,
    "message": "操作成功",
    "result": [
        {
            "jobId": "b59b5f35f7d743d3ad740b8df05277bf",
            "code": 200,
            "message": "success",
            "nodeUuid": "91a07b982a616b5e5141247b1f6149bc",
            "uuid": "ae674f4546c74bf48c00c211334f214a",
            "sn": "OR65T31QC2D221000025"
        }
    ],
    "timestamp": 0,
    "traceId": "20220708171922A029"
}

7. Доступное количество плат (используется при заявке на плату)

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

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

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

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

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

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

Получить доступное количество плат

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

Имя параметра Описание параметра Местоположение Обязательно ли Тип данных Описание
nodeUuid uuid узла body true string
armServerUuid uuid сервера body false string Необязательно. Можно через Получить список серверов BMC Получить через интерфейс
offeringUuid uuid спецификации платы body true string Пройдено Получить вычислительную спецификацию платы Получить через интерфейс
snList Список SN плат body false list
armServerUuids Список uuid серверов body false list Список uuid серверов
os Операционная система body false string В настоящее время поддерживаются только Android、debian
osVersion Версия операционной системы body false string Номер версии операционной системы

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

POST "/openapi/v1/arm/card/apply/available/num"
body:
{
    "offeringUuid":"f64a987692a711ef9b070242ac12000d",
    "nodeUuid":"81f62329436eed8f36d0595bf81b63db",
    "armServerUuid":"s-08f5fb859a9d9161c2727bf57e586f02"
}

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

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

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

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

8. Список BMC-серверов(используется для запроса платы)

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

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

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

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

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

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

Получить список серверов BMC

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

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

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

POST "/openapi/v1/arm/card/apply/ip/list"
body:
{
    "nodeUuid":"81f62329436eed8f36d0595bf81b63db"
}

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

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

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

{
    "message": "操作成功",
    "code": 200,
    "result": {
        "ipList": [
            {
                "ip": "172.31.0.3",
                "uuid": "s-08f5fb859a9d9161c2727bf57e586f02"
            }
        ]
    },
    "timestamp": 1730100772241,
    "traceId": "E20241028153252241108"
}