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

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

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

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

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

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

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

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

Метод getSpecificationById

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

GET /v1/specifications/{specificationId}

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

specificationId

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

Да

Ответы
Код Сообщение Тип данных Пример

200

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

{
  "id": "5467",
  "formulaName": "yandex-browser",
  "displayName": "Яндекс браузер",
  "description": "Браузер от компании Яндекс",
  "fullDescription": "Браузер от компании Яндекс.(...)",
  "guide": "Если вы не сделали его основным, при его запуске может появляться окно Сделать этот браузер основным?  Чтобы окно больше не показывалось, включите опцию Больше не спрашивать и нажмите Не сейчас.",
  "isApplication": true,
  "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",
  "pillarProperty": {
    "additionalProp1": {},
    "additionalProp2": {},
    "additionalProp3": {}
  },
  "iconPath": "TBD",
  "imagesPaths": [
    "string"
  ],
  "defaultVersion": 1234
}

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"
}
Метод updateSpecificationById

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

PUT /v1/specifications/{specificationId}

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

specificationId

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

Да

Тип контента
  • application/json

Пример запроса
{
  "formulaName": "yandex-browser",
  "displayName": "Яндекс браузер",
  "description": "Браузер от компании Яндекс",
  "pillarProperty": {
    "additionalProp1": {},
    "additionalProp2": {},
    "additionalProp3": {}
  },
  "fullDescription": "Браузер от компании Яндекс.(...)",
  "guide": "Если вы не сделали его основным, при его запуске может появляться окно Сделать этот браузер основным?  Чтобы окно больше не показывалось, включите опцию Больше не спрашивать и нажмите Не сейчас.",
  "isApplication": true,
  "categories": [
    "Network_Browser123"
  ],
  "iconPath": "TBD",
  "imagesPaths": [
    "string"
  ],
  "defaultVersion": 1234
}
Ответы
Код Сообщение Тип данных Пример

200

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

{
  "id": "5467",
  "formulaName": "yandex-browser",
  "displayName": "Яндекс браузер",
  "description": "Браузер от компании Яндекс",
  "fullDescription": "Браузер от компании Яндекс.(...)",
  "guide": "Если вы не сделали его основным, при его запуске может появляться окно Сделать этот браузер основным?  Чтобы окно больше не показывалось, включите опцию Больше не спрашивать и нажмите Не сейчас.",
  "isApplication": true,
  "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",
  "pillarProperty": {
    "additionalProp1": {},
    "additionalProp2": {},
    "additionalProp3": {}
  },
  "iconPath": "TBD",
  "imagesPaths": [
    "string"
  ],
  "defaultVersion": 1234
}

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"
}
Метод getSpecificationList

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

POST /v1/specifications/search

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

page

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

Нет

2

pageSize

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

Нет

20

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

application/json

Ответы
Код Сообщение Тип данных Пример

200

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

{
  "specifications": [
    {
      "id": "5467",
      "formulaName": "yandex-browser",
      "displayName": "Яндекс браузер",
      "description": "Браузер от компании Яндекс",
      "fullDescription": "Браузер от компании Яндекс.(...)",
      "guide": "Если вы не сделали его основным, при его запуске может появляться окно Сделать этот браузер основным?  Чтобы окно больше не показывалось, включите опцию Больше не спрашивать и нажмите Не сейчас.",
      "isApplication": true,
      "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",
      "pillarProperty": {
        "additionalProp1": {},
        "additionalProp2": {},
        "additionalProp3": {}
      },
      "iconPath": "TBD",
      "imagesPaths": [
        "string"
      ],
      "defaultVersion": 1234
    }
  ],
  "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"
}
Метод createSpecification

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

POST /v1/specifications

Пример запроса
{
  "formulaName": "yandex-browser",
  "displayName": "Яндекс браузер",
  "description": "Браузер от компании Яндекс",
  "fullDescription": "Браузер от компании Яндекс.(...)",
  "guide": "Если вы не сделали его основным, при его запуске может появляться окно Сделать этот браузер основным?  Чтобы окно больше не показывалось, включите опцию Больше не спрашивать и нажмите Не сейчас.",
  "isApplication": true,
  "categories": [
    "Network_Browser123"
  ],
  "pillarProperty": {
    "additionalProp1": {},
    "additionalProp2": {},
    "additionalProp3": {}
  },
  "iconPath": "TBD",
  "imagesPaths": [
    "string"
  ]
}
Тип контента

application/json

Ответы
Код Сообщение Тип данных Пример

200

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

{
  "id": "5467",
  "formulaName": "yandex-browser",
  "displayName": "Яндекс браузер",
  "description": "Браузер от компании Яндекс",
  "fullDescription": "Браузер от компании Яндекс.(...)",
  "guide": "Если вы не сделали его основным, при его запуске может появляться окно Сделать этот браузер основным?  Чтобы окно больше не показывалось, включите опцию Больше не спрашивать и нажмите Не сейчас.",
  "isApplication": true,
  "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",
  "pillarProperty": {
    "additionalProp1": {},
    "additionalProp2": {},
    "additionalProp3": {}
  },
  "iconPath": "TBD",
  "imagesPaths": [
    "string"
  ],
  "defaultVersion": 1234
}

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

Ответы
Код Сообщение Тип данных Пример

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

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

Да

Network_Browser123

Ответы
Код Сообщение Тип данных Пример

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

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

Да

Network_Browser123

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

Ответы
Код Сообщение Тип данных Пример

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

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

Да

Network_Browser123

Ответы
Код Сообщение Тип данных Пример

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"
}
Ответы
Код Сообщение Тип данных Пример

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

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

Нет

2

pageSize

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

Нет

20

Ответы
Код Сообщение Тип данных Пример

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). Включает параметр CategoryId

Network_Browser123

name

Да

string

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

Офис

description

нет

string

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

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

color

Да

string

Цвет в формате HEX (макс. длина: 6). Включает параметр 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 (макс. длина: 6). Включает параметр HexColor

00ff00

iconCode

Да

string

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

ms_office_icon

ConfigVersionChangelog

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

Тип: string.

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

ConfigVersionCreteRequest

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

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

configurationId

Да

string

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

5467

displayName

Да

string

Имя версии, отображаемое на UI. Включает параметр 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

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

Тип: 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

ConfigVersionFormulaName

Имя формулы.

Тип: string.

Пример: yandex-browser.

ConfigVersionListResponse

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

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

versions

Да

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

meta

Да

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

ConfigVersionReleaseDate

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

Тип: string.

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

ConfigVersionResponse

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

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

id

Да

string

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

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). Включает параметр SpecificationId

5467

displayName

Да

string

Имя версии, отображаемое на UI. Включает параметр 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

ConfigVersionSoftwareRequirements

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

Тип: string.

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

ConfigVersionUpdateRequest

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

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

configurationId

Да

string

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

5467

displayName

Да

string

Имя версии, отображаемое на UI. Включает параметр 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

CreatedBy

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

Тип: string.

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

СreatedDate

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

Тип: string.

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

Description

Описание формулы.

Тип: string.

Пример: Formula to install web browser developed by Yandex.

DisplayName

Имя, которое отображается в пользовательском интерфейсе (макс. длина: 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.

Пример: 512000.

FormulaImportResult

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

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

ignoredFilesCount

Да

integer

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

3

errors

Да

string

FormulaName

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

Тип: string.

Пример: yandex-browser.

HexColor

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

Тип: string.

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

Пример: 00ff00.

IconCode

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

Тип: string.

Пример: ms_office_icon.

Id

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

Тип: string.

Пример: 5467.

PaginationMetadata

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

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

totalRecords

Да

integer

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

1729

pageSize

Да

integer

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

20

totalPages

Да

integer

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

87

currentPage

Да

integer

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

2

hasNext

Да

boolean

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

true

hasPrev

Да

boolean

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

true

PillarProperty

Атрибуты формулы, доступные для переопределения.

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

key

Да

string

Ключ атрибута с полным путем

yandex-browser.lookup.pkg.version

value

Да

string

Значение атрибута

23.5.4.685-1

description

Нет

string

Описание атрибута

The specific version of the package. If value is an empty string, then will be used the latest version.

SpecificationCreateRequest

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

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

formulaName

Да

string

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

yandex-browser

displayName

Да

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

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

description

Нет

string

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

Formula to install web browser developed by Yandex.

categories

Нет

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

pillarProperties

Нет

Список атрибутов формулы. Включает параметры`PillarProperty`

SpecificationsFilterRequest

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

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

displayName

Да

string

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

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

description

Нет

string

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

Formula to install web browser developed by Yandex.

category

Нет

string

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

Network_Browser123

SpecificationId

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

Тип: string.

Пример: 5467.

SpecificationListResponse

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

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

specification

Да

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

meta

Да

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

SpecificationResponse

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

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

id

Да

string

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

5467

formulaName

Да

string

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

yandex-browser

displayName

Да

string

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

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

description

Нет

string

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

Formula to install web browser developed by Yandex.

categories

Нет

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

createdAt

Нет

string

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

2023-08-27T09:37:40.000Z

updatedAt

Нет

string

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

2023-08-27T09:37:40.000Z

pillarProperties

Нет

Список атрибутов формулы. Включает параметры PillarProperty

SpecificationUpdateRequest

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

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

formulaName

Да

string

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

yandex-browser

displayName

Да

string

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

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

description

Нет

string

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

Formula to install web browser developed by Yandex.

pillarProperties

Нет

Список атрибутов формулы. Включает параметры`PillarProperty`

categories

Да

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

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

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

512000

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

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

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

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

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

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

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

Метод getVersionByConfigurationId

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

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

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

configurationId

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

Да

versionId

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

Да

Ответы
Код Сообщение Тип данных Пример

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

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

Да

versionId

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

Да

Пример запроса
{
  "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

Параметр схемы данных
Ответы
Код Сообщение Тип данных Пример

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

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

Да

versionId

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

Да

Ответы
Код Сообщение Тип данных Пример

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"
}

Метод getVersionsByConfigurationId

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

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

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

configurationId

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

Да

page

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

Нет

2

pageSize

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

Нет

20

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

application/json

Параметр схемы данных
Ответы
Код Сообщение Тип данных Пример

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:"
    }
  ],
  "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"
}

Метод createSpecificationVersion

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

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

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

configurationId

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

Да

Пример запроса
{
  "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

Параметр схемы данных
Ответы
Код Сообщение Тип данных Пример

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

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

Да

originalFileName

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

Да

fileCategory

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

Да

contentData

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

Да

Тип контента
  • multipart/form-data

Ответы
Код Сообщение Тип данных Пример

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

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

Да

icons

fileId

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

Да

open_office_aa-bb-00-11-ee.jpg

Ответы
Код Сообщение Тип данных Пример

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"
}

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

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

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

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

Метод getSaltSchedules

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

GET /v1/app/config/schedules

Ответы
Код Сообщение Тип данных Пример

200

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

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

500

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

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

Метод updateSaltSchedules

Изменение настроек расписаний для 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

Ответы
Код Сообщение Тип данных Пример

204

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

500

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

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

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

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

highstate

Да

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

grains

Да

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

grainsSync

Да

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

refreshPillar

Да

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

SaltConfigUpdateSchedulesRequest

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

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

highstate

Да

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

grains

Да

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

grainsSync

Да

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

refreshPillar

Да

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

CommonStateScheduleParams

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

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

seconds

Да

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

splay

Да

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

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

ScheduleSingleParam

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

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

value

Да

integer

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

3600

createdAt

Да

string

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

2023-08-27T09:37:40.000Z

updatedAt

Да

string

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

2023-08-27T09:37:40.000Z

CommonStateUpdateScheduleParams

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

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

seconds

Да

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

splay

Да

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

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

code

Да

string

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

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

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

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

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

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

validation_failed

message

Да

String

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

Template contains not resolved variables

ErrorCode

Код ошибки.

Тип: string.

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

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

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

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

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

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