Общие сведения

Продукт «Служба управления конфигурациями» предоставляет RESTful API для:

  • логического модуля «Каталог конфигураций» — реализует управление конфигурациями и формулами модуля координации;

  • логического модуля «Инвентаризация» — реализует управление инвентаризацией устройств.

Авторизация

Для доступа к конечным точкам (endpoints) API необходимо в заголовке HTTP-запроса Authorization предоставить билет (ticket) Kerberos.

Чтобы получить билет (ticket) Kerberos, выполните шаги:

  1. Убедитесь, что на машине, с которой вы будете выполнять вызов API-методов, настроено окружение для аутентификации Kerberos — установлен и настрен Kerberos-клиент.

  1. Получите билет (ticket) Kerberos, используя команду kinit.

    kinit -v <имя пользователя>@<имя домена>

    Пример команды:

    kinit -v vivanov@LCM.TERRA.INNO.TECH

    Пример вывода:

    Placing tickets for `vivanov@LCM.TERRA.INNO.TECH` in cache `API:AS8FAF0V-AS4S-V39T-T4ZE-12DE34N4N77JA`
  2. Для проверки валидности полученного билета (ticket), отобразите список кэшированных билетов (tickets) Kerberos, выполнив команду klist.

    Пример вывода:

    Credentials cache: API:EC59A7DE-43A4-43E3-A349-56F92E31A71D
            Principal: aarshavin@LCM.TERRA.INNO.TECH
    
      Issued                Expires               Principal
    Feb 13 12:51:40 2024  Feb 13 22:51:40 2024  krbtgt/LCM.TERRA.INNO.TECH@LCM.TERRA.INNO.TECH
    Feb 13 12:51:47 2024  Feb 13 22:51:40 2024  HTTP/staging-lcm.terra.inno.tech@LCM.TERRA.INNO.TECHH

Чтобы подставить значение полученного билета (ticket) в заголовок Authorization при вызове API-метода, используйте утилиту cURL.

Ниже рассмотрен вызов API-метода на примере getConfigurationList — получение списка конфигураций:

curl -x POST --location "https://"staging-lcm-terra-inno-tech/api/v1/configurations/search"
-Н "Content-type: application/json" --negotiate --user : | jq

Где:

  • curl — утилита командной строки, которая позволяет отправлять HTTP-запросы на сервер и получать ответы;

  • -x POST — флаг, указывающий метод запроса, который используется для отправки данных на сервер;

  • --location — флаг, указывающий curl на необходимость следовать перенаправлениям, если сервер возвращает HTTP-код 3xx;

  • https://staging-rt-terra-inno-tech — URL-адрес сервера, на который будет отправлен запрос;

  • -H "Content-type: application/json" — флаг, который добавляет заголовок к запросу. В данном примере заголовок Content-type устанавливается в значение application/json, что указывает на то, что тело запроса будет передано в формате JSON;

  • --negotiate — флаг, указывающий на использование аутентификации по протоколу Kerberos (Negotiate);

  • --user : — флаг, который определяет имя пользователя для аутентификации. Двоеточие в сочетании с флагом --negotiate указывает curl, что необходимо получить билет (ticket) для указанного хоста от имени данного пользователя и подставить в заголовок Authorization.

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

{
  "configurations": [
    {
      "id": 5467,
      "displayName": "Яндекс браузер",
      "description": "Браузер от компании Яндекс",
      "fullDescription": "Браузер от компании Яндекс.(...)",
      "guide": "Если вы не сделали его основным, при его запуске может появляться окно Сделать этот браузер основным?  Чтобы окно больше не показывалось, включите опцию Больше не спрашивать и нажмите Не сейчас.",
      "isApplication": true,
      "tags": [
        "Сертификаты банка"
      ],
      "categories": [
        "Network_Browser123"
      ],
      "createdAt": "2023-08-27T09:37:40.000Z",
      "updatedAt": "2023-08-27T09:37:40.000Z",
      "createdBy": "vivanov@domain.local",
      "updatedBy": "vivanov@domain.local",
      "iconPath": "icons/123321-7cb06ef0-87ab-4a60-b20e-33c2d9725a09-open-office.png",
      "imagesPaths": [
        "images/123321-7cb06ef0-87ab-4a60-b20e-33c2d9725a09-open-office-screen03.jpg"
      ],
      "defaultVersion": 1234,
      "isActive": true
    }
  ],
  "meta": {
    "totalRecords": 1729,
    "pageSize": 20,
    "totalPages": 87,
    "currentPage": 2,
    "hasNext": true,
    "hasPrev": true
  }
}

API логического модуля «Каталог конфигураций»

API-интерфейс модуля «Каталог конфигураций» разбит на несколько библиотек согласно назначению операций:

Управление конфигурациями

Для управления конфигурациями используются методы:

Метод getConfigurationById

Получение конфигурации по идентификатору.

GET /v1/configurations/{configurationId}

Параметр пути
Имя Описание Обязательный Тип Пример

configurationId

Идентификатор конфигурации

Да

integer(int64)

5467

Ответы
Код Сообщение Тип данных / объект схемы (DTO) Пример

200

Набор параметров конфигурации

{
  "id": 5467,
  "displayName": "Яндекс браузер",
  "description": "Браузер от компании Яндекс",
  "fullDescription": "Браузер от компании Яндекс.(...)",
  "guide": "Если вы не сделали его основным, при его запуске может появляться окно Сделать этот браузер основным?  Чтобы окно больше не показывалось, включите опцию Больше не спрашивать и нажмите Не сейчас.",
  "isApplication": true,
  "tags": [
    "Сертификаты банка"
  ],
  "categories": [
    "Network_Browser123"
  ],
  "createdAt": "2023-08-27T09:37:40.000Z",
  "updatedAt": "2023-08-27T09:37:40.000Z",
  "createdBy": "vivanov@domain.local",
  "updatedBy": "vivanov@domain.local",
  "iconPath": "icons/123321-7cb06ef0-87ab-4a60-b20e-33c2d9725a09-open-office.png",
  "imagesPaths": [
    "images/123321-7cb06ef0-87ab-4a60-b20e-33c2d9725a09-open-office-screen03.jpg"
  ],
  "defaultVersion": 1234,
  "isActive": true
}

400

Incorrect request params (некорректные параметры запроса)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

401

Auth exception (ошибка аутентификации)

404

Object not found (объект не найден)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

500

Internal error (внутренняя ошибка)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}
Метод updateConfigurationById

Изменение конфигурации по идентификатору.

PUT /v1/configurations/{configurationId}

Параметр пути
Имя Описание Обязательный Тип Пример

configurationId

Идентификатор конфигурации

Да

integer(int64)

5467

Параметры тела запроса
Пример запроса
{
  "displayName": "Яндекс браузер",
  "description": "Браузер от компании Яндекс",
  "fullDescription": "Браузер от компании Яндекс.(...)",
  "guide": "Если вы не сделали его основным, при его запуске может появляться окно Сделать этот браузер основным?  Чтобы окно больше не показывалось, включите опцию Больше не спрашивать и нажмите Не сейчас.",
  "isApplication": true,
  "tags": [
    "Сертификаты банка"
  ],
  "categories": [
    "Network_Browser123"
  ],
  "iconPath": "icons/123321-7cb06ef0-87ab-4a60-b20e-33c2d9725a09-open-office.png",
  "imagesPaths": [
    "images/123321-7cb06ef0-87ab-4a60-b20e-33c2d9725a09-open-office-screen03.jpg"
  ],
  "defaultVersion": 1234
}
Тип контента

application/json

Ответы
Код Сообщение Тип данных / объект схемы (DTO) Пример

200

Перечень параметров конфигурации

{
  "id": 5467,
  "displayName": "Яндекс браузер",
  "description": "Браузер от компании Яндекс",
  "fullDescription": "Браузер от компании Яндекс.(...)",
  "guide": "Если вы не сделали его основным, при его запуске может появляться окно Сделать этот браузер основным?  Чтобы окно больше не показывалось, включите опцию Больше не спрашивать и нажмите Не сейчас.",
  "isApplication": true,
  "tags": [
    "Сертификаты банка"
  ],
  "categories": [
    "Network_Browser123"
  ],
  "createdAt": "2023-08-27T09:37:40.000Z",
  "updatedAt": "2023-08-27T09:37:40.000Z",
  "createdBy": "vivanov@domain.local",
  "updatedBy": "vivanov@domain.local",
  "iconPath": "icons/123321-7cb06ef0-87ab-4a60-b20e-33c2d9725a09-open-office.png",
  "imagesPaths": [
    "images/123321-7cb06ef0-87ab-4a60-b20e-33c2d9725a09-open-office-screen03.jpg"
  ],
  "defaultVersion": 1234,
  "isActive": true
}

400

Incorrect request params (некорректные параметры запроса)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

401

Auth exception (ошибка аутентификации)

404

Object not found (объект не найден)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

500

Internal error (внутренняя ошибка)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}
Метод getConfigurationList

Получение списка конфигураций.

POST /v1/configurations/search

Параметры запроса
Имя Описание Обязательный Тип Пример

page

Общее количество страниц

Нет

integer

2

pageSize

Количество элементов, возвращаемых в запросе

Нет

integer

20

Параметры тела запроса
Пример запроса
{
  "displayName": "Яндекс браузер",
  "description": "Браузер от компании Яндекс",
  "category": "Network_Browser123",
  "tag": "Сертификаты банка",
  "isApplication": true,
  "createdAtStartDate": "2023-08-27T09:37:40.000Z",
  "createdAtEndDate": "2023-08-27T09:37:40.000Z",
  "createdBy": "vivanov@domain.local",
  "updatedBy": "vivanov@domain.local",
  "showOnlyActive": true
}
Тип контента

application/json

Ответы
Код Сообщение Тип данных / объект схемы (DTO) Пример

200

Список конфигураций

{
  "configurations": [
    {
      "id": 5467,
      "displayName": "Яндекс браузер",
      "description": "Браузер от компании Яндекс",
      "fullDescription": "Браузер от компании Яндекс.(...)",
      "guide": "Если вы не сделали его основным, при его запуске может появляться окно Сделать этот браузер основным?  Чтобы окно больше не показывалось, включите опцию Больше не спрашивать и нажмите Не сейчас.",
      "isApplication": true,
      "tags": [
        "Сертификаты банка"
      ],
      "categories": [
        "Network_Browser123"
      ],
      "createdAt": "2023-08-27T09:37:40.000Z",
      "updatedAt": "2023-08-27T09:37:40.000Z",
      "createdBy": "vivanov@domain.local",
      "updatedBy": "vivanov@domain.local",
      "iconPath": "icons/123321-7cb06ef0-87ab-4a60-b20e-33c2d9725a09-open-office.png",
      "imagesPaths": [
        "images/123321-7cb06ef0-87ab-4a60-b20e-33c2d9725a09-open-office-screen03.jpg"
      ],
      "defaultVersion": 1234,
      "isActive": true
    }
  ],
  "meta": {
    "totalRecords": 1729,
    "pageSize": 20,
    "totalPages": 87,
    "currentPage": 2,
    "hasNext": true,
    "hasPrev": true
  }
}

400

Incorrect request params (некорректные параметры запроса)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

401

Auth exception (ошибка аутентификации)

500

Internal error (внутренняя ошибка)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}
Метод createConfiguration

Создание конфигурации.

POST /v1/configurations

Параметры тела запроса
Пример запроса
{
  "displayName": "Яндекс браузер",
  "description": "Браузер от компании Яндекс",
  "fullDescription": "Браузер от компании Яндекс.(...)",
  "guide": "Если вы не сделали его основным, при его запуске может появляться окно Сделать этот браузер основным?  Чтобы окно больше не показывалось, включите опцию Больше не спрашивать и нажмите Не сейчас.",
  "isApplication": true,
  "tags": [
    "Сертификаты банка"
  ],
  "categories": [
    "Network_Browser123"
  ],
  "iconPath": "icons/123321-7cb06ef0-87ab-4a60-b20e-33c2d9725a09-open-office.png",
  "imagesPaths": [
    "images/123321-7cb06ef0-87ab-4a60-b20e-33c2d9725a09-open-office-screen03.jpg"
  ]
}
Тип контента

application/json

Ответы
Код Сообщение Тип данных / объект схемы (DTO) Пример

200

Набор параметров конфигурации

{
  "id": 5467,
  "displayName": "Яндекс браузер",
  "description": "Браузер от компании Яндекс",
  "fullDescription": "Браузер от компании Яндекс.(...)",
  "guide": "Если вы не сделали его основным, при его запуске может появляться окно Сделать этот браузер основным?  Чтобы окно больше не показывалось, включите опцию Больше не спрашивать и нажмите Не сейчас.",
  "isApplication": true,
  "tags": [
    "Сертификаты банка"
  ],
  "categories": [
    "Network_Browser123"
  ],
  "createdAt": "2023-08-27T09:37:40.000Z",
  "updatedAt": "2023-08-27T09:37:40.000Z",
  "createdBy": "vivanov@domain.local",
  "updatedBy": "vivanov@domain.local",
  "iconPath": "icons/123321-7cb06ef0-87ab-4a60-b20e-33c2d9725a09-open-office.png",
  "imagesPaths": [
    "images/123321-7cb06ef0-87ab-4a60-b20e-33c2d9725a09-open-office-screen03.jpg"
  ],
  "defaultVersion": 1234,
  "isActive": true
}

400

Incorrect request params (некорректные параметры запроса)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

401

Auth exception (ошибка аутентификации)

404

Object not found (объект не найден)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

500

Internal error (внутренняя ошибка)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

Управление формулами

Для управления формулами используется метод:

  • importFormulas — импорт Salt-формулы в хранилище S3.

Метод importFormulas

Импорт формулы в S3-совместимое хранилище.

POST /v1/formulas

Параметр тела запроса
Имя Описание Обязательный

formula

Файл с формулой в формате base64.

Контент архива должен соответствовать структуре формулы, которая задана в модуле координации, поэтому файл должен быть в формате <name>-formula.tar.gz

Да

Тип контента

multipart/form-data

Ответы
Код Сообщение Тип данных / объект схемы (DTO) Пример

200

Формула добавлена в S3-совместимое хранилище

{
  "ignoredFilesCount": 3,
  "errors": [
    "string"
  ]
}

401

Auth exception (ошибка аутентификации)

404

Object not found (объект не найден)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

500

Internal error (внутренняя ошибка)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

Управление категориями конфигураций

Для управления категориями конфигураций используются методы:

  • getCategoryById — получение категории конфигурации по идентификатору;

  • updateCategoryById — изменение категории конфигурации по идентификатору;

  • deleteCategoryById — удаление категории конфигурации по идентификатору;

  • createCategory — создание категории конфигурации;

  • getCategoriesList — получение списка категорий.

Метод getCategoryById

Получение категории конфигураций по идентификатору.

GET /v1/categories/{categoryId}

Параметр пути
Имя Описание Обязательный Тип Пример

categoryId

Идентификатор категории конфигурации

Да

string

Network_Browser123

Ответы
Код Сообщение Тип данных / объект схемы (DTO) Пример

200

Перечень параметров категории конфигурации

{
  "id": "Network_Browser123",
  "name": "Офис",
  "description": "Категория программ для работы в сети Интернет",
  "color": "00ff00",
  "iconCode": "ms_office_icon",
  "createdAt": "2023-08-27T09:37:40.000Z",
  "updatedAt": "2023-08-27T09:37:40.000Z"
}

400

Incorrect request params (некорректные параметры запроса)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

401

Auth exception (ошибка аутентификации)

404

Object not found (объект не найден)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

500

Internal error (внутренняя ошибка)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}
Метод updateCategoryById

Изменение категории конфигураций по идентификатору.

PUT /v1/categories/{categoryId}

Параметр пути
Имя Описание Обязательный Тип Пример

categoryId

Идентификатор категории конфигурации

Да

string

Network_Browser123

Параметры тела запроса
Пример запроса
{
  "name": "Офис",
  "description": "Категория программ для работы в сети Интернет",
  "color": "00ff00",
  "iconCode": "ms_office_icon"
}
Тип контента

application/json

Ответы
Код Сообщение Тип данных / объект схемы (DTO) Пример

200

Представление категории конфигурации

{
  "id": "Network_Browser123",
  "name": "Офис",
  "description": "Категория программ для работы в сети Интернет",
  "color": "00ff00",
  "iconCode": "ms_office_icon",
  "createdAt": "2023-08-27T09:37:40.000Z",
  "updatedAt": "2023-08-27T09:37:40.000Z"
}

400

Incorrect request params (некорректные параметры запроса)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

401

Auth exception (ошибка аутентификации)

404

Object not found (объект не найден)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

500

Internal error (внутренняя ошибка)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}
Метод deleteCategoryById

Удаление категории конфигурации по идентификатору.

DELETE /v1/categories/{categoryId}

Параметр пути
Имя Описание Обязательный Тип Пример

categoryId

Идентификатор категории конфигурации

Да

string

Network_Browser123

Ответы
Код Сообщение Тип данных / объект схемы (DTO) Пример

204

Категория удалена

400

Incorrect request params (некорректные параметры запроса)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

401

Auth exception (ошибка аутентификации)

404

Object not found (объект не найден)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

500

Internal error (внутренняя ошибка)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}
Метод createCategory

Создание категории конфигурации.

POST /v1/categories

Параметры тела запроса
Пример запроса
{
  "id": "Network_Browser123",
  "name": "Офис",
  "description": "Категория программ для работы в сети Интернет",
  "color": "00ff00",
  "iconCode": "ms_office_icon"
}
Тип контента

application/json

Ответы
Код Сообщение Тип данных / объект схемы (DTO) Пример

200

Набор параметров созданной категории конфигурации

{
  "id": "Network_Browser123",
  "name": "Офис",
  "description": "Категория программ для работы в сети Интернет",
  "color": "00ff00",
  "iconCode": "ms_office_icon",
  "createdAt": "2023-08-27T09:37:40.000Z",
  "updatedAt": "2023-08-27T09:37:40.000Z"
}

400

Incorrect request params (некорректные параметры запроса)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

401

Auth exception (ошибка аутентификации)

500

Internal error (внутренняя ошибка)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}
Метод getCategoryList

Получение списка категорий конфигураций.

POST /v1/categories/search

Параметры запроса
Имя Описание Обязательный Тип Пример

page

Общее количество страниц

Нет

integer

2

pageSize

Количество элементов, возвращаемых в запросе

Нет

integer

20

Ответы
Код Сообщение Тип данных / объект схемы (DTO) Пример

200

Список категорий

{
  "categories": [
    {
      "id": "Network_Browser123",
      "name": "Офис",
      "description": "Категория программ для работы в сети Интернет",
      "color": "00ff00",
      "iconCode": "ms_office_icon",
      "createdAt": "2023-08-27T09:37:40.000Z",
      "updatedAt": "2023-08-27T09:37:40.000Z"
    }
  ],
  "meta": {
    "totalRecords": 1729,
    "pageSize": 20,
    "totalPages": 87,
    "currentPage": 2,
    "hasNext": true,
    "hasPrev": true
  }
}

400

Incorrect request params (некорректные параметры запроса)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

401

Auth exception (ошибка аутентификации)

500

Internal error (внутренняя ошибка)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

Описание параметров схемы

BasicError

Информация об ошибке.

Имя поля Обязательное Тип Описание Пример

code

Да

string

Код ошибки. Включает параметр ErrorCode. Допустимые значения:

  • object_already_exists — объект уже существует;

  • object_not_found — объект не найден;

  • validation_failed — ошибка валидации;

  • authorization_failed — ошибка авторизации;

  • internal_error — внутренняя ошибка

validation_failed

message

Да

string

Сообщение об ошибке

Template contains not resolved variables

CategoryCreateRequest

Параметры для создания категории конфигураций.

Имя поля Обязательное Тип Описание Пример

id

Да

string

Идентификатор категории конфигураций (макс. длина: 64). Включает параметр CategoryId

Network_Browser123

name

Да

string

Название категории конфигураций (макс. длина: 255). Включает параметр CategoryName

Офис

description

Нет

string

Описание категории конфигураций (макс. длина: 64). Включает параметр CategoryDescription

Категория программ для работы в сети Интернет

color

Да

string

Цвет в формате HEX (макс. длина: 6). Включает параметр HexColor

00ff00

iconCode

Да

string

Код изображения для категории (макс. длина: 255). Включает параметр IconCode

ms_office_icon

CategoryDescription

Описание категории конфигураций.

Тип: string.

Пример: Категория программ для работы в сети Интернет.

CategoryId

Идентификатор категории конфигураций (макс. длина: 64).

Тип: string.

Шаблон: [A-Za-z0-9_\-]+.

Пример: Network_Browser123.

CategoriesListResponse

Список категорий конфигураций.

Имя поля Обязательное Тип Описание Пример

categories

Да

Список категорий конфигураций. Включает параметры CategoryResponse

meta

Да

Категории конфигураций. Включает параметры PaginationMetadata

CategoryName

Название категории конфигураций (макс. длина: 255).

Тип: string.

Пример: Офис.

CategoryResponse

Перечень параметров категории конфигураций.

Имя поля Обязательное Тип Описание Пример

id

Да

string

Идентификатор категории конфигураций (макс. длина: 64). Шаблон: [A-Za-z0-9_\-]+. Включает параметр CategoryId

Network_Browser123

name

Да

string

Название категории конфигураций (макс. длина: 255). Включает параметр CategoryName

Офис

description

Нет

string

Описание категории конфигураций (макс. длина: 64). Включает параметр CategoryDescription

Категория программ для работы в сети Интернет

color

Да

string

Цвет в формате HEX. Шаблон: [A-Fa-f0-9]+. Включает параметр HexColor

00ff00

iconCode

Да

string

Код изображения для категории (макс. длина: 255). Включает параметр IconCode

ms_office_icon

createdAt

Нет

string

Дата создания

2023-08-27T09:37:40.000Z

updatedAt

Нет

string

Дата последнего изменения

2023-08-27T09:37:40.000Z

CategoryUpdateRequest

Параметры для обновления категории конфигураций.

Имя поля Обязательное Тип Описание Пример

name

Да

string

Название категории конфигураций (макс. длина: 255). Включает параметр CategoryName

Офис

description

Нет

string

Описание категории конфигураций (макс. длина: 64). Включает параметр CategoryDescription

Категория программ для работы в сети Интернет

color

Да

string

Цвет в формате HEX. Шаблон: [A-Fa-f0-9]+ (макс. длина: 6). Включает параметр HexColor

00ff00

iconCode

Да

string

Код изображения для категории (макс. длина: 255). Включает параметр IconCode

ms_office_icon

ConfigurationIconPath

Путь/ссылка на изображение иконки относительно сервиса хранения мультимедиа-контента.

Тип: string.

Пример: icons/123321-7cb06ef0-87ab-4a60-b20e-33c2d9725a09-open-office.png.

ConfigurationImagesPaths

Список путей/ссылок на прикрепленные к ПО изображения относительно сервиса хранения мультимедиа-контента.

Тип: string.

Пример: images/123321-7cb06ef0-87ab-4a60-b20e-33c2d9725a09-open-office-screen03.jpg.

ConfigVersionChangelog

Описание обновления.

Тип: string.

Пример: Changelog 23-5-0:.

ConfigVersionCreteRequest

Тело запроса на создание версии конфигурации.

Имя поля Обязательное Тип Описание Пример

displayName

Да

string

Имя версии, которое отображается в пользовательском интерфейсе. Включает параметр ConfigVersionDisplayName

23.5.0

releaseDate

Да

string

Дата релиза версии. Включает параметр ConfigVersionReleaseDate

Рекомендуется указывать дату, не совпадающую с датами других выпущенных версий. При совпадении дат система может не определить создаваемую версию как более новую, и в магазине приложений не предложит обновить версию для данного ПО (см. главу «Установка/обновление/удаление ПО» документа «Руководство пользователя»)

2023-05-19

softwareRequirements

Да

string

Системные требования для установки версии. Включает параметр ConfigVersionSoftwareRequirements

Оперативная память - Минимум 512 МБ

formulaName

Да

string

Имя формулы. Включает параметр ConfigVersionFormulaName

yandex-browser

pillarProperty

Нет

Конфигурация (pillar) с переопределяемыми параметрами формулы в JSON-формате. Включает параметры pillarProperty

features

Нет

string

Особенности установки — информационное сообщение, которое пользователь должен увидеть в окне подтверждения установки. Включает параметр ConfigVersionFeatures

Яндекс браузер 23.5.0

changelog

Нет

string

Описание обновления. Включает параметр ConfigVersionChangelog

yandex-browser

ConfigVersionDisplayName

Имя версии, которое отображается в пользовательском интерфейсе (мин. длина: 1; макс. длина: 255).

Тип: string.

Пример: 23.5.0.

ConfigVersionFeatures

Особенности установки — информационное сообщение, которое пользователь должен увидеть в окне подтверждения установки.

Тип: string.

Пример: Яндекс браузер 23.5.0.

ConfigVersionFilterRequest

Фильтры для запроса на получение версий конфигураций.

Имя поля Обязательное Тип Описание Пример

name

Нет

string

Фильтр для контекстного поиска по имени версии

23.5

createdBy

Нет

string

Автор создания. Включает параметр CreatedBy

vivanov@domain.local

updatedBy

Нет

string

Автор последнего изменения. Включает параметр UpdatedBy

vivanov@domain.local

showOnlyActive

Нет

boolean

Флаг отображения неактивных версий конфигураций при выводе списка

true

ConfigVersionFormulaName

Имя формулы (мин. длина: 1; макс. длина: 255).

Тип: string.

Пример: yandex-browser.

ConfigVersionListResponse

Список версий конфигурации.

Имя поля Обязательное Тип Описание Пример

versions

Да

Список версий конфигурации. Включает параметры ConfigVersionResponse

meta

Да

Метаданные постраничной навигации. Включает параметры PaginationMetadata

ConfigVersionReleaseDate

Дата релиза версии.

Тип: string(date).

Пример: 2023-05-19.

ConfigVersionResponse

Версия конфигурации.

Имя поля Обязательное Тип Описание Пример

id

Да

integer(int64)

Идентификатор версии конфигурации

1234

createdAt

Нет

string

Дата создания. Включает параметр CreatedDate

2023-08-27T09:37:40.000Z

updatedAt

Нет

string

Дата последнего изменения. Включает параметр UpdatedDate

2023-08-27T09:37:40.000Z

createdBy

Нет

string

Автор создания. Включает параметр CreatedBy

vivanov@domain.local

updatedBy

Нет

string

Автор последнего изменения. Включает параметр UpdatedBy

vivanov@domain.local

configurationId

Да

string

Идентификатор конфигурации (макс. длина: 255). Включает параметр ConfigurationId

5467

displayName

Да

string

Имя версии, которое отображается в пользовательском интерфейсе (мин. длина: 1; макс. длина: 255). Включает параметр ConfigVersionDisplayName

23.5.0

releaseDate

Да

string

Дата релиза версии. Включает параметр ConfigVersionReleaseDate

2023-05-19

softwareRequirements

Да

string

Системные требования для установки версии (мин. длина: 1; макс. длина: 2048). Включает параметр ConfigVersionSoftwareRequirements

Оперативная память - Минимум 512 МБ

formulaName

Да

string

Имя формулы (мин. длина: 1; макс. длина: 255). Включает параметр ConfigVersionFormulaName

yandex-browser

pillarProperty

Нет

Конфигурация (pillar) с переопределяемыми параметрами формулы в JSON-формате. Включает параметры pillarProperty

features

Нет

string

Особенности установки — информационное сообщение, которое пользователь должен увидеть в окне подтверждения установки. Включает параметр ConfigVersionFeatures

Яндекс браузер 23.5.0

changelog

Нет

string

Описание обновления. Включает параметр ConfigVersionChangelog

yandex-browser

isActive

Нет

boolean

Флаг активности версии конфигурации

true

ConfigVersionSoftwareRequirements

Системные требования для установки версии — минимум 512 МБ (мин. длина: 1; макс. длина: 2048).

Тип: string.

Пример: Оперативная память.

ConfigVersionUpdateRequest

Тело запроса на обновление версии конфигурации.

Имя поля Обязательное Тип Описание Пример

displayName

Да

string

Имя версии, которое отображается в пользовательском интерфейсе (мин. длина: 1; макс. длина: 255). Включает параметр ConfigVersionDisplayName

23.5.0

releaseDate

Да

string

Дата релиза версии. Включает параметр ConfigVersionReleaseDate

2023-05-19

softwareRequirements

Да

string

Системные требования для установки версии (мин. длина: 1; макс. длина: 2048). Включает параметр ConfigVersionSoftwareRequirements

Оперативная память — минимум 512 МБ

formulaName

Да

string

Имя формулы (мин. длина: 1; макс. длина: 255). Включает параметр ConfigVersionFormulaName

yandex-browser

pillarProperty

Нет

Конфигурация (pillar) с переопределяемыми параметрами формулы в JSON-формате. Включает параметры pillarProperty

features

Нет

string

Особенности установки — информационное сообщение, которое пользователь должен увидеть в окне подтверждения установки. Включает параметр ConfigVersionFeatures

Яндекс браузер 23.5.0

changelog

Нет

string

Описание обновления. Включает параметр ConfigVersionChangelog

yandex-browser

CreatedBy

Автор создания.

Тип: string.

Пример: vivanov@domain.local.

СreatedDate

Дата создания.

Тип: string.

Пример: 2023-08-27T09:37:40.000Z.

DefaultVersion

Идентификатор актуальной версии (версии по умолчанию) данного ПО.

Тип: integer(int64).

Мин. знаение: 1.

Пример: 1234.

Description

Описание конфигурации.

Тип: string.

Пример: Браузер от компании Яндекс

ConfigurationDisplayName

Название конфигурации, которое отображается в пользовательском интерфейсе (макс. длина: 255).

Тип: string.

Пример: Яндекс браузер.

ErrorCode

Код ошибки.

Тип: string.

Допустимые значения:

  • object_already_exists — объект уже существует;

  • object_not_found — объект не найден;

  • validation_failed — ошибка валидации;

  • authorization_failed — ошибка авторизации;

  • internal_error — внутренняя ошибка.

ExtendedError

Подробное сообщение об ошибке.

Имя поля Обязательное Тип Описание Пример

code

Да

Код ошибки. Включает параметр ErrorCode. Допустимые значения:

  • object_already_exists — объект уже существует;

  • object_not_found — объект не найден;

  • validation_failed — ошибка валидации;

  • authorization_failed — ошибка авторизации;

  • internal_error — внутренняя ошибка

validation_failed

message

Да

string

Сообщение об ошибке

Template contains not resolved variables

FileUrl

Относительный URL для загрузки файла.

Тип: string (макс. длина: 255).

Пример: images/open_office_aa-bb-00-11-ee.jpg.

FileSize

Размер загруженного файла в байтах.

Тип: integer(int32).

Пример: 512000.

FormulaImportResult

Результат импорта формулы.

Имя поля Обязательное Тип Описание Пример

ignoredFilesCount

Да

integer

Количество файлов, которые не удалось загрузить

3

errors

Да

string

FormulaName

Название формулы (макс. длина: 255).

Тип: string.

Пример: yandex-browser.

FullDescription

Подробное описание конфигурации.

Тип: string.

Пример: Браузер от компании Яндекс.(…​).

Guide

Инструкция.

Тип: string.

Пример: Если вы не сделали его основным, при его запуске может появляться окно Сделать этот браузер основным? Чтобы окно больше не показывалось, включите опцию Больше не спрашивать и нажмите Не сейчас.

HexColor

Цвет в формате HEX (макс. длина: 6).

Тип: string.

Шаблон: [A-Fa-f0-9]+.

Пример: 00ff00.

IconCode

Код изображения для категории (макс. длина: 255).

Тип: string.

Пример: ms_office_icon.

IsApplication

Флаг, который определяет, является ли конфигурация приложением для отображения в магазине ПО.

Тип: boolean.

Пример: true.

PaginationMetadata

Метаданные постраничной навигации.

Имя поля Обязательное Тип Описание Пример

totalRecords

Да

integer

Общее количество записей

1729

pageSize

Да

integer

Количество возвращаемых элементов в запросе

20

totalPages

Да

integer

Общее количество страниц

87

currentPage

Да

integer

Номер текущей страницы

2

hasNext

Да

boolean

Признак наличия следующей страницы

true

hasPrev

Да

boolean

Признак наличия предыдущей страницы

true

PillarProperty

Конфигурация (pillar) с переопределяемыми параметрами формулы в JSON-формате.

ConfigurationCreateRequest

Параметры для создания конфигурации.

Имя поля Обязательное Тип Описание Пример

displayName

Да

Имя, которое отображается в пользовательском интерфейсе (макс. длина: 255). Включает параметр ConfigurationDisplayName

Яндекс браузер

description

Нет

string

Описание конфигурации. Включает параметр Description

Браузер от компании Яндекс

fullDescription

Нет

string

Подробное описание конфигурации. Включает параметр FullDescription

Браузер от компании Яндекс.(…​)

guide

Нет

string

Инструкция. Включает параметр Guide

Если вы не сделали его основным, при его запуске может появляться окно Сделать этот браузер основным? Чтобы окно больше не отображалось, включите опцию Больше не спрашивать и нажмите Не сейчас.

isApplication

Да

Флаг, который указывает, является ли конфигурация приложением для отображения в магазине ПО. Включает параметр IsApplication

tags

Нет

string

Тэг конфигурации для классификации и быстрого поиска (макс. длина: 255). Включает параметр Tag

Сертификаты банка

categories

Нет

string

Категории конфигураций. Включает параметр CategoryId

Network_Browser123

iconPath

Нет

string

Путь/ссылка на изображение иконки относительно сервиса хранения мультимедиа-контента. Включает параметр ConfigurationIconPath

icons/123321-7cb06ef0-87ab-4a60-b20e-33c2d9725a09-open-office.png

imagesPaths

Нет

string

Список путей/ссылок на прикрепленные к ПО изображения относительно сервиса хранения мультимедиа-контента. Включает параметр ConfigurationImagesPaths

images/123321-7cb06ef0-87ab-4a60-b20e-33c2d9725a09-open-office-screen03.jpg]

ConfigurationsFilterRequest

Список фильтров для конфигураций.

Имя поля Обязательное Тип Описание Пример

displayName

Нет

string

Имя, которое отображается в пользовательском интерфейсе (макс. длина: 255). Включает параметр ConfigurationDisplayName

Яндекс браузер

description

Нет

string

Описание формулы. Включает параметр Description

Formula to install web browser developed by Yandex.

category

Нет

string

Идентификатор категории конфигураций (макс. длина: 64). Шаблон: [A-Za-z0-9_\-]+

Network_Browser123

tag

Нет

string

Тэг конфигурации для классификации и быстрого поиска (макс. длина: 255). Включает параметр Tag

Сертификаты банка

isApplication

Нет

Флаг, который указывает, является ли конфигурация приложением для отображения в магазине ПО. Включает параметр IsApplication

createdAtStartDate

Нет

string

Дата создания, начало интервала, включительно

2023-08-27T09:37:40.000Z

createdAtEndDate

Нет

string

Дата создания, конец интервала, включительно

2023-08-27T09:37:40.000Z

createdBy

Нет

string

Автор создания. Включает параметр CreatedBy

vivanov@domain.local

updatedBy

Нет

string

Автор последнего изменения. Включает параметр UpdatedBy

vivanov@domain.local

showOnlyActive

Нет

boolean

Флаг отображения неактивных версий конфигураций при выводе списка

true

ConfigurationId

Идентификатор конфигурации.

Макс. длина: 255.

Тип: integer(int64).

Пример: 5467.

ConfigurationListResponse

Список конфигураций.

Имя поля Обязательное Тип Описание Пример

configurations

Да

Список конфигураций. Включает параметры ConfigurationResponse

meta

Да

Метаданные постраничной навигации. Включает параметры meta

ConfigurationResponse

Перечень параметров конфигурации.

Имя поля Обязательное Тип Описание Пример

id

Да

integer(int64)

Идентификатор конфигурации (макс. длина: 255). Включает параметр ConfigurationId

5467

displayName

Да

string

Имя, которое отображается в пользовательском интерфейсе (макс. длина: 255). Включает параметр ConfigurationDisplayName

Яндекс браузер

description

Нет

string

Описание формулы. Включает параметр Description

Formula to install web browser developed by Yandex.

fullDescription

Нет

string

Подробное описание конфигурации. Включает параметр FullDescription

Браузер от компании Яндекс.(…​)

guide

Нет

string

Инструкция. Включает параметр Guide

Если вы не сделали его основным, при его запуске может появляться окно Сделать этот браузер основным? Чтобы окно больше не отображалось, включите опцию Больше не спрашивать и нажмите Не сейчас.

isApplication

Да

Флаг, который указывает, является ли конфигурация приложением для отображения в магазине ПО. Включает параметр IsApplication

tags

Нет

string

Тэг конфигурации для классификации и быстрого поиска (макс. длина: 255). Включает параметр Tag

Сертификаты банка

categories

Нет

категории конфигураций. Включает параметр CategoryId

createdAt

Нет

string

Дата создания

2023-08-27T09:37:40.000Z

updatedAt

Нет

string

Дата последнего изменения

2023-08-27T09:37:40.000Z

createdBy

Нет

string

Автор создания. Включает параметр CreatedBy

vivanov@domain.local

updatedBy

Нет

string

Автор последнего изменения. Включает параметр UpdatedBy

vivanov@domain.local

iconPath

Нет

Путь/ссылка на изображение иконки относительно сервиса хранения мультимедиа контента Включает параметры ConfigurationIconPath

imagesPaths

Нет

Список путей/ссылок на прикрепленные к ПО изображения относительно сервиса хранения мультимедиа-контента. Включает параметры ConfigurationImagesPaths

defaultVersion

Нет

integer(int64)

Идентификатор актуальной версии (версии по умолчанию) данного ПО (мин. значение: 1). Включает параметры DefaultVersion

isActive

Нет

boolean

Флаг активности версии конфигурации

true

ConfigurationUpdateRequest

Параметры для обновления конфигурации.

Имя поля Обязательное Тип Описание Пример

displayName

Да

string

Имя, которое отображается в пользовательском интерфейсе (макс. длина: 255). Включает параметр ConfigurationDisplayName

Яндекс браузер

description

Нет

string

Описание формулы. Включает параметр Description

Formula to install web browser developed by Yandex.

fullDescription

Нет

string

Подробное описание конфигурации. Включает параметр FullDescription

Браузер от компании Яндекс.(…​)

guide

Нет

string

Инструкция. Включает параметр Guide

Если вы не сделали его основным, при его запуске может появляться окно Сделать этот браузер основным? Чтобы окно больше не отображалось, включите опцию Больше не спрашивать и нажмите Не сейчас.

isApplication

Да

Флаг, который указывает, является ли конфигурация приложением для отображения в магазине ПО. Включает параметр IsApplication

tags

Нет

string

Тэг конфигурации для классификации и быстрого поиска (макс. длина: 255). Включает параметр Tag

Сертификаты банка

categories

Да

категории конфигураций. Включает параметр CategoryId

iconPath

Нет

Путь/ссылка на изображение иконки относительно сервиса хранения мультимедиа контента Включает параметры ConfigurationIconPath

imagesPaths

Нет

Список путей/ссылок на прикрепленные к ПО изображения относительно сервиса хранения мультимедиа-контента. Включает параметры ConfigurationImagesPaths

defaultVersion

Нет

integer(int64)

Идентификатор актуальной версии (версии по умолчанию) данного ПО (мин. значение: 1). Включает параметры DefaultVersion

Tag

Тэг конфигурации для классификации и быстрого поиска (макс. длина: 255).

Тип: string.

Пример: Сертификаты банка.

TagsListResponse

Список тегов конфигураций.

Имя поля Обязательное Тип Описание Пример

tags

Нет

string

Тэг конфигурации для классификации и быстрого поиска (макс. длина: 255). Включает параметр Tag

Сертификаты банка

meta

Да

Категории конфигураций. Включает параметры PaginationMetadata

UpdatedBy

Автор последнего изменения.

Тип: string.

Пример: vivanov@domain.local.

UpdatedDate

Дата последнего изменения.

Тип: string.

Пример: 2023-08-27T09:37:40.000Z.

UploadMultimediaResponse

Результат успешной загрузки файла.

Имя поля Обязательное Тип Описание Пример

fileUrl

Да

string

Относительный URL для загрузки файла (макс. длина: 255). Включает параметр FileUrl

images/open_office_aa-bb-00-11-ee.jpg

fileSize

Да

integer(int32)

Размер загруженного файла в байтах. Включает параметр FileSize

512000

Управление версиями конфигураций

Для управления версиями конфигураций используются методы:

  • getVersionByConfigurationId  — получение версии конфигурации по идентификатору;

  • updateVersionById — изменение версии конфигурации по идентификатору;

  • deleteVersionById — удаление версии конфигураций по идентификатору;

  • getVersionsByConfigurationId — получение доступных версий для конфигурации по идентификатору;

  • createSpecificationVersion — создание версии конфигурации.

Метод getVersionByConfigurationId

Получение версии конфигурации по идентификатору.

GET /v1/configurations/{configurationId}/versions/{versionId}

Параметры пути
Имя Описание Обязательный Тип Пример

configurationId

Идентификатор конфигурации

Да

integer(int64)

5467

versionId

Идентификатор версии конфигурации

Да

integer(int64)

1234

Ответы
Код Сообщение Тип данных / объект схемы (DTO) Пример

200

Параметры запрашиваемой версии конфигурации

{
  "id": "1234",
  "createdAt": "2023-08-27T09:37:40.000Z",
  "updatedAt": "2023-08-27T09:37:40.000Z",
  "createdBy": "vivanov@domain.local",
  "updatedBy": "vivanov@domain.local",
  "configurationId": "5467",
  "displayName": "23.5.0",
  "releaseDate": "2023-05-19",
  "softwareRequirements": "Оперативная память - Минимум 512 МБ",
  "formulaName": "yandex-browser",
  "pillarProperty": {
    "additionalProp1": {},
    "additionalProp2": {},
    "additionalProp3": {}
  },
  "features": "Яндекс браузер 23.5.0",
  "changelog": "Changelog 23-5-0:"
}

400

Incorrect request params (некорректные параметры запроса)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

401

Auth exception (ошибка аутентификации)

404

Object not found (объект не найден)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

500

Internal error (внутренняя ошибка)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

Метод updateVersionById

Изменение версии конфигурации по идентификатору.

PUT /v1/configurations/{configurationId}/versions/{versionId}

Параметры пути
Имя Описание Обязательный Тип Пример

configurationId

Идентификатор конфигурации

Да

integer(int64)

5467

versionId

Идентификатор версии конфигурации

Да

integer(int64)

1234

Параметры тела запроса
Пример запроса
{
  "displayName": "23.5.0",
  "releaseDate": "2023-05-19",
  "softwareRequirements": "Оперативная память - Минимум 512 МБ",
  "formulaName": "yandex-browser",
  "pillarProperty": {
    "additionalProp1": {},
    "additionalProp2": {},
    "additionalProp3": {}
  },
  "features": "Яндекс браузер 23.5.0",
  "changelog": "Changelog 23-5-0:"
}
Тип контента

application/json

Ответы
Код Сообщение Тип данных / объект схемы (DTO) Пример

200

Перечень параметров версии конфигурации

{
  "id": "1234",
  "createdAt": "2023-08-27T09:37:40.000Z",
  "updatedAt": "2023-08-27T09:37:40.000Z",
  "createdBy": "vivanov@domain.local",
  "updatedBy": "vivanov@domain.local",
  "configurationId": "5467",
  "displayName": "23.5.0",
  "releaseDate": "2023-05-19",
  "softwareRequirements": "Оперативная память - Минимум 512 МБ",
  "formulaName": "yandex-browser",
  "pillarProperty": {
    "additionalProp1": {},
    "additionalProp2": {},
    "additionalProp3": {}
  },
  "features": "Яндекс браузер 23.5.0",
  "changelog": "Changelog 23-5-0:"
}

400

Incorrect request params (некорректные параметры запроса)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

401

Auth exception (ошибка аутентификации)

404

Object not found (объект не найден)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

500

Internal error (внутренняя ошибка)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

Метод deleteVersionById

Удаление версии конфигураций по идентификатору.

DELETE /v1/configurations/{configurationId}/versions/{versionId}

Параметры пути
Имя Описание Обязательный Тип Пример

configurationId

Идентификатор конфигурации

Да

integer(int64)

5467

versionId

Идентификатор версии конфигурации

Да

integer(int64)

1234

Ответы
Код Сообщение Тип данных / объект схемы (DTO) Пример

204

Версия удалена

400

Incorrect request params (некорректные параметры запроса)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

401

Auth exception (ошибка аутентификации)

404

Object not found (объект не найден)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

422

Невозможно обработать запрос

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

500

Internal error (внутренняя ошибка)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

Метод getVersionsByConfigurationId

Получение доступных версий для конфигурации по идентификатору.

POST /v1/configurations/{configurationId}/versions/search

Параметр пути
Имя Описание Обязательный Тип Пример

configurationId

Идентификатор конфигурации

Да

integer($int64)

5467

Параметры запроса
Имя Описание Обязательный Тип Пример

page

Общее количество страниц

Нет

integer

2

pageSize

Количество возвращаемых элементов в запросе

Нет

integer

20

Параметры тела запроса
Пример запроса
{
  "name": "23.5",
  "createdBy": "vivanov@domain.local",
  "updatedBy": "vivanov@domain.local",
  "showOnlyActive": true
}
Тип контента

application/json

Ответы
Код Сообщение Тип данных / объект схемы (DTO) Пример

200

Список версий конфигурации

{
  "versions": [
    {
      "id": 1234,
      "createdAt": "2023-08-27T09:37:40.000Z",
      "updatedAt": "2023-08-27T09:37:40.000Z",
      "createdBy": "vivanov@domain.local",
      "updatedBy": "vivanov@domain.local",
      "configurationId": 5467,
      "displayName": "23.5.0",
      "releaseDate": "2023-05-19",
      "softwareRequirements": "Оперативная память - Минимум 512 МБ",
      "formulaName": "yandex-browser",
      "pillarProperty": {
        "additionalProp1": {},
        "additionalProp2": {},
        "additionalProp3": {}
      },
      "features": "Яндекс браузер 23.5.0",
      "changelog": "Changelog 23-5-0:",
      "isActive": true
    }
  ],
  "meta": {
    "totalRecords": 1729,
    "pageSize": 20,
    "totalPages": 87,
    "currentPage": 2,
    "hasNext": true,
    "hasPrev": true
  }
}

400

Incorrect request params (некорректные параметры запроса)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

401

Auth exception (ошибка аутентификации)

404

Object not found (объект не найден)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

500

Internal error (внутренняя ошибка)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

Метод createConfigurationVersion

Создание версии конфигурации.

POST /v1/configurations/{configurationId}/versions/

Параметр пути
Имя Описание Обязательный Тип Пример

configurationId

Идентификатор конфигурации

Да

integer(int64)

5467

Параметры тела запроса
Пример запроса
{
  "displayName": "23.5.0",
  "releaseDate": "2023-05-19",
  "softwareRequirements": "Оперативная память - Минимум 512 МБ",
  "formulaName": "yandex-browser",
  "pillarProperty": {
    "additionalProp1": {},
    "additionalProp2": {},
    "additionalProp3": {}
  },
  "features": "Яндекс браузер 23.5.0",
  "changelog": "Changelog 23-5-0:"
}
Тип контента

application/json

Ответы
Код Сообщение Тип данных / объект схемы (DTO) Пример

200

Представление версии конфигурации

{
  "id": "1234",
  "createdAt": "2023-08-27T09:37:40.000Z",
  "updatedAt": "2023-08-27T09:37:40.000Z",
  "createdBy": "vivanov@domain.local",
  "updatedBy": "vivanov@domain.local",
  "configurationId": "5467",
  "displayName": "23.5.0",
  "releaseDate": "2023-05-19",
  "softwareRequirements": "Оперативная память - Минимум 512 МБ",
  "formulaName": "yandex-browser",
  "pillarProperty": {
    "additionalProp1": {},
    "additionalProp2": {},
    "additionalProp3": {}
  },
  "features": "Яндекс браузер 23.5.0",
  "changelog": "Changelog 23-5-0:"
}

400

Incorrect request params (некорректные параметры запроса)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

401

Auth exception (ошибка аутентификации)

500

Internal error (внутренняя ошибка)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

Управление мультимедиа-контентом

Перед началом работы с мультимедиа-контентом убедитесь, что в хранилище S3 создана как минимум одна корзина:

  • для хранения картинок и скриншотов с именем, соответствующим параметру конфигурации lcm.multimedia.s3.images-buсket-name;

  • для хранения иконок с именем, соответствующим параметру конфигурации lcm.multimedia.s3.icons-buсket-name;

  • для хранения прочего контента с именем, соответствующим параметру конфигурации lcm.multimedia.s3.others-buсket-name.

Подробнее см. раздел «Настройка бэкенда продукта» документа «Руководство по установке».

Для управления мультимедиа-контентом используются методы:

Метод uploadMultimediaContent

Загрузка файла в S3-совместимое хранилище.

POST /v1/multimedia

Параметры тела запроса
Имя Описание Тип Обязательный

searchKey

Неуникальный ключ для поиска файлов в хранилище. Например, идентификатор конфигурации ПО для поиска связанных с ней изображений

string

Да

originalFileName

Исходное имя загружаемого файла

string

Да

fileCategory

Категория файла. Возможные значения: icons, images, others

string

Да

contentData

Содержимое одного файла. Должен быть заполнен Content-type

string($binary)

Да

Тип контента

multipart/form-data

Ответы
Код Сообщение Тип данных / объект схемы (DTO) Пример

200

Файл загружен

{
  "fileUrl": "images/open_office_aa-bb-00-11-ee.jpg",
  "fileSize": 512000
}

400

Incorrect request params (неверные параметры запроса)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

401

Auth exception (ошибка аутентификации)

500

Internal error (внутренняя ошибка)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

Метод downloadMultimediaContent

Получение файла из S3-совместимого хранилища.

GET /v1/multimedia/{fileCategory}/{fileId}

Параметры пути
Имя Описание Обязательный Тип Пример

fileCategory

Категория файла

Да

string

icons

fileId

Идентификатор файла

Да

string

open_office_aa-bb-00-11-ee.jpg

Ответы
Код Сообщение Тип данных / объект схемы (DTO) Пример

200

Содержимое файла

400

Incorrect request params (неверные параметры запроса)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

401

Auth exception (ошибка аутентификации)

404

Object not found (объект не найден)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

500

Internal error (внутренняя ошибка)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

Управление тегами конфигураций

Для управления тегами конфигураций используется метод getTagsList — получение списка тегов конфигураций.

Метод getTagsList

Получение списка тегов конфигураций.

POST /v1/tags/search

Параметры запроса
Имя Описание Обязательный Тип Пример

page

Общее количество страниц

Нет

integer

2

pageSize

Количество элементов, возвращаемых в запросе

Нет

integer

20

Тип контента

application/json

Пример запроса
"Сертиф"
Ответы
Код Сообщение Тип данных / объект схемы (DTO) Пример

200

Список тегов конфигураций

{
  "tags": [
    "Сертификаты банка"
  ],
  "meta": {
    "totalRecords": 1729,
    "pageSize": 20,
    "totalPages": 87,
    "currentPage": 2,
    "hasNext": true,
    "hasPrev": true
  }
}

400

Incorrect request params (некорректные параметры запроса)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

401

Auth exception (ошибка аутентификации)

500

Internal error (внутренняя ошибка)

{
  "code": "validation_failed",
  "message": "Template contains not resolved variables"
}

API логического модуля «Инвентаризация»

API-интерфейс модуля «Инвентаризация» включает следующие методы для управления настройками приложения:

  • getSaltSchedules — получение настроек расписаний для SaltStack;

  • updateSaltSchedules — изменение настроек расписаний для SaltStack.

Метод getSaltSchedules

Получение настроек расписания синхронизации агентов (minions) с сервером управления (master) в SaltStack.

GET /v1/app/config/schedules

Ответы
Код Сообщение Тип данных / объект схемы (DTO) Пример

200

Текущие настройки расписаний для SaltStack

{
  "highstate": {
    "seconds": {
      "value": 3600,
      "createdAt": "2023-08-27T09:37:40.000Z",
      "updatedAt": "2023-08-27T09:37:40.000Z",
      "updatedBy": "author"
    },
    "splay": {
      "value": 3600,
      "createdAt": "2023-08-27T09:37:40.000Z",
      "updatedAt": "2023-08-27T09:37:40.000Z",
      "updatedBy": "author"
    }
  },
  "grains": {
    "seconds": {
      "value": 3600,
      "createdAt": "2023-08-27T09:37:40.000Z",
      "updatedAt": "2023-08-27T09:37:40.000Z",
      "updatedBy": "author"
    },
    "splay": {
      "value": 3600,
      "createdAt": "2023-08-27T09:37:40.000Z",
      "updatedAt": "2023-08-27T09:37:40.000Z",
      "updatedBy": "author"
    }
  },
  "grainsSync": {
    "seconds": {
      "value": 3600,
      "createdAt": "2023-08-27T09:37:40.000Z",
      "updatedAt": "2023-08-27T09:37:40.000Z",
      "updatedBy": "author"
    },
    "splay": {
      "value": 3600,
      "createdAt": "2023-08-27T09:37:40.000Z",
      "updatedAt": "2023-08-27T09:37:40.000Z",
      "updatedBy": "author"
    }
  },
  "refreshPillar": {
    "seconds": {
      "value": 3600,
      "createdAt": "2023-08-27T09:37:40.000Z",
      "updatedAt": "2023-08-27T09:37:40.000Z",
      "updatedBy": "author"
    },
    "splay": {
      "value": 3600,
      "createdAt": "2023-08-27T09:37:40.000Z",
      "updatedAt": "2023-08-27T09:37:40.000Z",
      "updatedBy": "author"
    }
  }
}

500

Внутренняя ошибка

{
  "code": "validation_failed",
  "message": "Service specification is null or empty"
}

Метод updateSaltSchedules

Изменение настроек расписания синхронизации агентов (minions) с сервером управления (master) в SaltStack.

PUT /v1/app/config/schedules

Параметры тела запроса
Пример запроса
{
  "highstate": {
    "seconds": 3600,
    "splay": 10
  },
  "grains": {
    "seconds": 3600,
    "splay": 10
  },
  "grainsSync": {
    "seconds": 3600,
    "splay": 10
  },
  "refreshPillar": {
    "seconds": 3600,
    "splay": 10
  }
}
Тип контента

application/json

Ответы
Код Сообщение Тип данных / объект схемы (DTO) Пример

204

Успешное применение настроек

500

Внутренняя ошибка

{
  "code": "validation_failed",
  "message": "Service specification is null or empty"
}

Описание параметров схемы

BasicError

Описание ошибки.

Имя поля Обязательное Тип Описание Пример

code

Да

string

Код ошибки. Включает параметр ErrorCode. Допустимые значения:

  • object_already_exists — объект уже существует;

  • object_not_found — объект не найден;

  • validation_failed — ошибка валидации;

  • authorization_failed — ошибка авторизации;

  • internal_error — внутренняя ошибка

validation_failed

message

Да

String

Сообщение об ошибке

Template contains not resolved variables

CommonStateScheduleParams

Общие свойства для SaltStack State Schedules Update.

Имя поля Обязательное Тип Описание Пример

seconds

Да

Определяет временной промежуток в секундах, через который будет выполняться операция. Включает параметры Seconds

splay

Да

Определяет верхнюю границу случайной задержки перед запланированным выполнением в секундах. Например, если значение параметра splay=10, ко времени следующего выполнения операции будет добавлен случайный промежуток от 0 до 10 секунд. Включает параметры Splay

CommonStateUpdateScheduleParams

Общие свойства для SaltStack State.

Имя поля Обязательное Тип Описание Пример

seconds

Да

Определяет временной промежуток в секундах, через который будет выполняться операция. Включает параметры Seconds

splay

Да

Определяет верхнюю границу случайной задержки перед запланированным выполнением в секундах. Например, если значение параметра splay=10, ко времени следующего выполнения операции будет добавлен случайный промежуток от 0 до 10 секунд. Включает параметры Splay

ErrorCode

Код ошибки.

Тип: string.

Допустимые значения:

  • object_already_exists — объект уже существует;

  • object_not_found — объект не найден;

  • validation_failed — ошибка валидации;

  • authorization_failed — ошибка авторизации;

  • internal_error — внутренняя ошибка.

SaltConfigSchedulesResponse

Текущие настройки расписаний для SaltStack.

Имя поля Обязательное Тип Описание Пример

highstate

Да

Общие свойства для SaltStack State Schedules Update. Включает параметры CommonStateScheduleParams:

  • second — определяет, через какой интервал времени будет выполняться операция применения назначенных конфигураций на АРМ. Значение по умолчанию — 84400 секунд;

  • splay — определяет, на какой интервал времени может быть случайная задержка перед выполнением операции. Значение по умолчанию — 14400 секунд

grains

Да

Общие свойства для SaltStack State Schedules Update. Включает параметры CommonStateScheduleParams:

  • second — определяет, через какой интервал времени будет выполняться операция инвентаризации АРМ. Значение по умолчанию — 84400 секунд;

  • splay — определяет, на какой интервал времени может быть случайная задержка перед выполнением операции. Значение по умолчанию — 14400 секунд

grainsSync

Да

Общие свойства для SaltStack State Schedules Update. Включает параметры CommonStateScheduleParams:

  • second — определяет, через какой интервал времени будет выполняться операция синхронизации параметров Grains. Значение по умолчанию — 14400 секунд;

  • splay — определяет, на какой интервал времени может быть случайная задержка перед выполнением операции. Значение по умолчанию — 2400 секунд

refreshPillar

Да

Общие свойства для SaltStack State Schedules Update. Включает параметры CommonStateScheduleParams:

  • second — определяет, через какой интервал времени будет выполняться операция синхронизации хранилища Pillar. Значение по умолчанию — 14400 секунд;

  • splay — определяет, на какой интервал времени может быть случайная задержка перед выполнением операции. Значение по умолчанию — 2400 секунд

SaltConfigUpdateSchedulesRequest

Запрос на изменение настроек расписаний для SaltStack.

Имя поля Обязательное Тип Описание Пример

highstate

Да

Общие свойства для SaltStack State Schedules Update. Включает параметры CommonStateScheduleParams:

  • second — определяет, через какой интервал времени будет выполняться операция применения назначенных конфигураций на АРМ. Значение по умолчанию — 84400 секунд;

  • splay — определяет, на какой интервал времени может быть случайная задержка перед выполнением операции. Значение по умолчанию — 14400 секунд

grains

Да

Общие свойства для SaltStack State Schedules Update. Включает параметры CommonStateScheduleParams:

  • second — определяет, через какой интервал времени будет выполняться операция инвентаризации АРМ. Значение по умолчанию — 84400 секунд;

  • splay — определяет, на какой интервал времени может быть случайная задержка перед выполнением операции. Значение по умолчанию — 14400 секунд

grainsSync

Да

Общие свойства для SaltStack State Schedules Update. Включает параметры CommonStateScheduleParams:

  • second — определяет, через какой интервал времени будет выполняться операция синхронизации параметров Grains. Значение по умолчанию — 14400 секунд;

  • splay — определяет, на какой интервал времени может быть случайная задержка перед выполнением операции. Значение по умолчанию — 2400 секунд

refreshPillar

Да

Общие свойства для SaltStack State Schedules Update. Включает параметры CommonStateScheduleParams:

  • second — определяет, через какой интервал времени будет выполняться операция синхронизации хранилища Pillar. Значение по умолчанию — 14400 секунд;

  • splay — определяет, на какой интервал времени может быть случайная задержка перед выполнением операции. Значение по умолчанию — 2400 секунд

ScheduleSingleParam

Одно значение параметра со временем создания и изменения.

Имя поля Обязательное Тип Описание Пример

value

Да

integer

Значение параметра

3600

createdAt

Да

string

Дата и время создания параметра

2023-08-27T09:37:40.000Z

updatedAt

Да

string

Дата и время последнего обновления параметра

2023-08-27T09:37:40.000Z

Seconds

Определяет временной промежуток в секундах, через который будет выполняться операция.

Имя поля Обязательное Тип Описание Пример

value

Да

integer

Значение параметра

3600

createdAt

Да

string

Дата и время создания параметра

2023-08-27T09:37:40.000Z

updatedAt

Да

string

Дата и время последнего обновления параметра

2023-08-27T09:37:40.000Z

Splay

Определяет верхнюю границу случайной задержки перед запланированным выполнением в секундах. Например, если значение параметра splay=10, ко времени следующего выполнения операции будет добавлен случайный промежуток от 0 до 10 секунд.

Имя поля Обязательное Тип Описание Пример

value

Да

integer

Значение параметра

3600

createdAt

Да

string

Дата и время создания параметра

2023-08-27T09:37:40.000Z

updatedAt

Да

string

Дата и время последнего обновления параметра

2023-08-27T09:37:40.000Z