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

Продукт «Служба управления конфигурациями "Осмакс"» предоставляет 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": [
        "Сеть"
      ],
      "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
  }
}

Если при установке продукта в конфигурационном файле бэкенда application.properties каталога /opt/osmax-core задан параметр lcm.authorization.user-groups-white-list, доступ будет разрешен только пользователям, входящим в указанные группы (см. раздел «Предварительная конфигурация бэкенда. Параметры настройки авторизации и аутентификация»).

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

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

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

Раздел содержит описание API-метода deleteFormula — удаление Salt-формулы из S3-совместимого хранилища.

Метод deleteFormula

Удаление формулы из S3-совместимого хранилища.

DELETE /v2/formulas/{formulaName}
Параметр пути
Имя Описание Обязательный Тип

formulaName

Имя формулы

Да

string

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

200

Результат удаления формулы из S3-совместимого хранилища

{
  "importResult": [
    {
      "server": "http://localhost:9000",
      "description": "Сообщение о результате выполнения операции",
      "status": "imported"
    },
    {
      "server": "http://localhost:9000",
      "description": "Сообщение о результате выполнения операции",
      "status": "imported"
    }
  ],
  "status": "imported"
}

401

Ошибка аутентификации

422

Ошибка операции над сущностью пакета из-за связи с активными версиями

{
  "code": "validation_failed",
  "message": "Cannot reload formula with name ark since it is used by active versions",
  "versions": [
    {
      "versionId": 1234,
      "versionDisplayName": "23.5.0",
      "configurationId": 5467,
      "configurationDisplayName": "Яндекс браузер"
    }
  ]
}

500

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

{
  "code": "internal_error",
  "message": "Database is unavailable"
}

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

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

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

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

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

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

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

Метод getCategoryById

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

GET /v1/categories/{categoryId}
Параметр пути
Имя Описание Обязательный Тип Пример

categoryId

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

Да

string

Сеть

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

200

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

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

400

Некорректные параметры запроса

{
  "code": "validation_failed",
  "message": "getCategoryById.categoryId: size must be between 3 and 64"
}

401

Ошибка аутентификации

404

Объект не найден

{
  "code": "object_not_found",
  "message": "Category with id=officeCategory not found"
}

500

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

{
  "code": "internal_error",
  "message": "Database is unavailable"
}

Метод updateCategoryById

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

PUT /v1/categories/{categoryId}
Параметр пути
Имя Описание Обязательный Тип Пример

categoryId

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

Да

string

Сеть

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

application/json

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

200

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

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

400

Некорректные параметры запроса

{
  "code": "validation_failed",
  "message": "updateCategoryById.categoryUpdateRequest.color: must match `[A-Fa-f0-9]+`"
}

401

Ошибка аутентификации

404

Объект не найден

{
  "code": "object_not_found",
  "message": "Category with id=officeCategory not found"
}

500

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

{
  "code": "internal_error",
  "message": "Database is unavailable"
}

Метод deleteCategoryById

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

DELETE /v1/categories/{categoryId}
Параметр пути
Имя Описание Обязательный Тип Пример

categoryId

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

Да

string

Сеть

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

204

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

400

Некорректные параметры запроса

{
  "code": "validation_failed",
  "message": "deleteCategoryById.categoryId: size must be between 3 and 64"
}

401

Ошибка аутентификации

404

Объект не найден

{
  "code": "object_not_found",
  "message": "Category with id=officeCategory not found"
}

500

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

{
  "code": "internal_error",
  "message": "Database is unavailable"
}

Метод createCategory

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

POST /v1/categories

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

application/json

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

200

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

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

400

Некорректные параметры запроса

{
  "code": "validation_failed",
  "message": "createCategory.createCategoryRequest.color: must match `[A-Fa-f0-9]+`"
}

401

Ошибка аутентификации

500

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

{
  "code": "internal_error",
  "message": "Database is unavailable"
}

Метод getCategoryList

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

POST /v1/categories/search

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

page

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

Нет

integer

2

pageSize

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

Нет

integer

20

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

200

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

{
  "meta": {
    "totalRecords": 1,
    "pageSize": 20,
    "totalPages": 1,
    "currentPage": 1,
    "hasNext": false,
    "hasPrev": false
  },
  "categories": [
    {
      "createdAt": "2023-08-27T09:37:40.000Z",
      "color": "00ff00",
      "name": "Офис",
      "description": "Категория программ для работы в сети Интернет",
      "iconCode": "ms_office_icon",
      "id": "office",
      "updatedAt": "2023-08-27T09:37:40.000Z"
    },
    {
      "createdAt": "2023-08-27T09:37:40.000Z",
      "color": "00ee00",
      "name": "Дизайн",
      "description": "Программы для дизайнерской разработки, создания макетов",
      "iconCode": "ms_design_icon",
      "id": "design",
      "updatedAt": "2023-08-27T09:37:40.000Z"
    }
  ]
}

400

Некорректные параметры запроса

{
  "code": "validation_failed",
  "message": "getCategoriesList.page: must be greater than or equal to 1"
}

401

Ошибка аутентификации

500

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

{
  "code": "internal_error",
  "message": "Database is unavailable"
}

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

Ошибка обновления сущности из-за наличия связанных активных версий.

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

Сеть

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_\-]+.

Пример: Сеть.

CategoriesListResponse

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

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

categories

Да

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

meta

Да

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

CategoryName

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

Тип: string.

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

CategoryResponse

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

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

id

Да

string

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

Сеть

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

ErrorCode

Код ошибки.

Тип: string.

Возможные значения:

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

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

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

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

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

HexColor

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

Тип: string.

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

Пример: 00ff00.

IconCode

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

Тип: string.

Пример: ms_office_icon.

PaginationMetadata

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

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

totalRecords

Да

integer

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

1729

pageSize

Да

integer

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

20

totalPages

Да

integer

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

87

currentPage

Да

integer

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

2

hasNext

Да

boolean

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

true

hasPrev

Да

boolean

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

true

RelatedActiveVersionsInfo S3ObjectDeleteResult S3ObjectImportStatus

Информация об активной версии.

S3ObjectDeleteResult

Результат удаления объекта.

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

status

Да

string

Статус нахождения объекта в хранилище. Включает параметр S3ObjectImportStatus. Возможные значения:

  • failed — не загружен;

  • imported — успешно загружен;

  • partially_imported — частично загружен;

  • deleted — удален

imported

importResult

Список результатов загрузки/удаления объекта. Включает параметр S3ObjectImportResult

S3ObjectImportResult

Результат загрузки/удаления объекта.

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

server

Нет

string

Имя/URI сервера

http://localhost:9000

description

Нет

string

Сообщение о результате выполнения операции

Операция выполнена успешно

status

Нет

string

Статус нахождения объекта на сервере. Включает параметр S3ServerObjectImportStatus. Возможные значения:

  • error — ошибка выполнения операции;

  • imported — успешно загружен;

  • deleted — удален

imported

S3ObjectImportStatus

Статус нахождения объекта в хранилище.

Тип: string.

Возможные значения:

  • failed — не загружен;

  • imported — успешно загружен;

  • partially_imported — частично загружен;

  • deleted — удален.

S3ServerObjectImportStatus

Статус нахождения объекта на сервере.

Тип: string.

Возможные значения:

  • error — ошибка выполнения операции;

  • imported — успешно загружен;

  • deleted — удален.

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

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

  • getSaltScheduleSettings — получение настроек расписания синхронизации агентов (minions) с сервером управления (master);

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

Группа методов getSaltScheduleSettings

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

В зависимости от типа операции вы можете отдельно получить настройки (интервал времени и допустимую задержку выполнения операции) для каждой из них, используя следующие методы:

  • GET /v1/app/settings/salt/schedules/highstate — применение назначенных конфигураций на устройствах;

  • GET /v1/app/settings/salt/schedules/grains — инвентаризация устройств;

  • GET /v1/app/settings/salt/schedules/grains_sync — синхронизация параметров Grains;

  • GET /v1/app/settings/salt/schedules/refresh_pillar — синхронизация файлов Pillar;

  • GET /v1/app/settings/salt/schedules/user_session_history — синхронизация данных о сессиях пользователей;

  • GET /v1/app/settings/salt/schedules/user_agent_installation — сбор данных об установке агента (minion);

  • GET /v1/app/settings/salt/schedules/software_inventory_sync — инвентаризация устройств с помощью модулей выполнения (execution modules), при которой собираются только измененные данные;

  • GET /v1/app/settings/salt/schedules/software_inventory_full_sync — полная инвентаризация устройств с помощью модулей выполнения (execution modules).

Все вышеперечисленные API-методы построены по единому принципу, поэтому ниже приведено общее описание, применимое ко всей группе GET /v1/app/settings/salt/schedules/{scheduleType}.

Параметр пути

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

scheduleType

Тип операции. Возможные значения: highstate, grains, grains_sync, refresh_pillar, agent_installation, software_inventory_sync, software_inventory_full_sync

Да

string

highstate

Ответы

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

200

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

{
  "seconds": 3600,
  "hours": 24,
  "minutes": 60,
  "days": 14,
  "range": "{}",
  "splay": 10
}

401

Ошибка аутентификации

500

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

{
  "code": "internal_error",
  "message": "DB property with name salt.schedule.highstate.seconds required, but not found"
}

Группа методов updateSaltScheduleSettings

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

В зависимости от типа операции вы можете отдельно изменить настройки (интервал времени и допустимую задержку выполнения операции) для каждой из них, используя следующие методы:

  • PUT /v1/app/settings/salt/schedules/highstate — применение назначенных конфигураций на устройствах;

  • PUT /v1/app/settings/salt/schedules/grains — инвентаризация устройств;

  • PUT /v1/app/settings/salt/schedules/grains_sync — синхронизация параметров Grains;

  • PUT /v1/app/settings/salt/schedules/refresh_pillar — синхронизация файлов Pillar;

  • PUT /v1/app/settings/salt/schedules/user_session_history — синхронизация данных о сессиях пользователей;

  • GET /v1/app/settings/salt/schedules/user_agent_installation — сбор данных об установке агента (minion);

  • GET /v1/app/settings/salt/schedules/software_inventory_sync — инвентаризация устройств с помощью модулей выполнения (execution modules), во время которой собираются только измененные данные;

  • GET /v1/app/settings/salt/schedules/software_inventory_full_sync — полная инвентаризация устройств с помощью модулей выполнения (execution modules).

Все вышеперечисленные API-методы построены по единому принципу, поэтому ниже приведено общее описание, применимое ко всей группе PUT /v1/app/settings/salt/schedules/{scheduleType}.

Параметр пути

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

scheduleType

Тип операции. Возможные значения: highstate, grains, grains_sync, refresh_pillar, agent_installation, software_inventory_sync, software_inventory_full_sync

Да

string

highstate

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

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

{
  "seconds": 3600,
  "hours": 24,
  "minutes": 60,
  "days": 14,
  "range": "{}",
  "splay": 10
}

Тип контента

application/json

Ответы

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

204

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

400

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

{
  "code": "validation_failed",
  "message": "One field of 'seconds', 'minutes', 'hours' or 'days' should be filled"
}

401

Ошибка аутентификации

500

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

{
  "code": "internal_error",
  "message": "DB property with name salt.schedule.highstate.seconds required, but not found"
}

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

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

ErrorCode

Код ошибки.

Тип: string.

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

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

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

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

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

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

LastExecutionStatus

Статус последнего запуска задания на удаление данных.

Тип: string.

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

  • ERROR — задание выполнено с ошибкой;

  • SUCCESS — задание успешно выполнено.

SaltScheduleSettingsResponse

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

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

seconds

Нет

integer

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

3600

minutes

Нет

integer

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

60

hours

Нет

integer

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

24

days

Нет

integer

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

14

range

Нет

string

Временной интервал от 00:00 до 23:59, в рамках которого будет выполняться операция согласно расписанию. Включает параметры TimeRange:

  • start — начало временного интервала в формате HH:MM (24 часа). Шаблон: ^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$;

  • end — окончание временного интервала в формате HH:MM (24 часа). Шаблон: ^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$

  • 09:00

  • 18:00

splay

Нет

integer

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

5

SaltUpdateScheduleSettingsRequest

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

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

seconds

Нет

integer

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

3600

minutes

Нет

integer

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

60

hours

Нет

integer

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

24

days

Нет

integer

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

14

range

Нет

string

Временной интервал от 00:00 до 23:59, в рамках которого будет выполняться операция согласно расписанию. Включает параметры TimeRange:

  • start — начало временного интервала в формате HH:MM (24 часа). Шаблон: ^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$;

  • end — окончание временного интервала в формате HH:MM (24 часа). Шаблон: ^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$

  • 09:00

  • 18:00

splay

Нет

integer

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

5

createdAt

Да

string

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

2023-08-27T09:37:40.000Z

updatedAt

Да

string

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

2023-08-27T09:37:40.000Z

updatedBy

Нет

string

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

author

TimeRange

Временной интервал от 00:00 до 23:59.

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

start

Да

string

Начало временного интервала в формате HH:MM (24 часа). Шаблон: ^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$

09:00

end

Да

string

Окончание временного интервала в формате HH:MM (24 часа). Шаблон: ^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$

18:00

API модуля установки ОС

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

Управление загрузочными образами

Группа API-методов, которая используется для работы с загрузочными образами для установки ОС с носителя:

  • createBootableImage — создание загрузочного образа;

  • searchBootableImages — получение списка загрузочных образов;

  • downloadBootableImage — скачивание сформированного ISO-файла загрузочного образа ОС.

createBootableImage

Создание загрузочного образа ОС с указанными параметрами.

POST /v1/bootable_images/
Параметры тела запроса
Пример запроса
{
  "name": "generic x64 bios/uefi cdrom/usb",
  "description": "Универсальный ISO образ для установки на x64 машины",
  "imageFileName": "generic_bootdisk"
}
Тип контента

application/json

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

200

Созданный загрузочный образ

{
  "bootableImageId": "e750fe40-5902-4e4d-9fd2-b587139946f5",
  "name": "generic x64 bios/uefi cdrom/usb",
  "bootableImageType": {
    "bootableImageTypeId": "genericbootimage",
    "name": "Универсальный загрузочный образ"
  },
  "status": "CREATED",
  "imageFileName": "generic_bootdisk",
  "description": "Универсальный ISO образ для установки на x64 машины",
  "architecture": {
    "architectureId": "x86_64",
    "name": "x86-64"
  },
  "installationRecipes": [
    {
      "installationRecipeId": "a7e0ab48-f954-48c9-89bb-7f343ccb60e2",
      "name": "План развертывания Astra"
    }
  ],
  "bootMode": "BIOS",
  "createdAt": "2024-03-18T14:53:08.865312Z",
  "createdBy": "some_user@some_domain",
  "updatedAt": "2024-03-18T14:53:08.865312Z",
  "updatedBy": "some_user@some_domain"
}

400

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

{
  "code": "validation_failed",
  "message": "createbootableImageId.imageFileName: size must be between 1 and 255"
}

401

Ошибка аутентификации

422

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

{
  "code": "invalid_entity",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

searchBootableImages

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

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

page

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

Нет

integer

2

pageSize

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

Нет

integer

20

Параметры тела запроса
Пример запроса
{
  "name": "generic x64 bios/uefi cdrom/usb",
  "imageFileName": "generic_bootdisk",
  "statuses": [
    "CREATED"
  ],
  "bootableImagesTypeIds": [
    "genericbootimage"
  ],
  "architectureIds": [
    "x86_64"
  ],
  "installationRecipeIds": [
    "a7e0ab48-f954-48c9-89bb-7f343ccb60e2"
  ],
  "bootModes": [
    "BIOS"
  ]
}
Тип контента

application/json

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

200

Список загрузочных образов

{
  "bootableImages": [
    {
      "bootableImageId": "e750fe40-5902-4e4d-9fd2-b587139946f5",
      "name": "generic x64 bios/uefi cdrom/usb",
      "bootableImageType": {
        "bootableImageTypeId": "genericbootimage",
        "name": "Универсальный загрузочный образ"
      },
      "status": "CREATED",
      "imageFileName": "generic_bootdisk",
      "description": "Универсальный ISO образ для установки на x64 машины",
      "architecture": {
        "architectureId": "x86_64",
        "name": "x86-64"
      },
      "installationRecipes": [
        {
          "installationRecipeId": "a7e0ab48-f954-48c9-89bb-7f343ccb60e2",
          "name": "План развертывания Astra"
        }
      ],
      "bootMode": "BIOS",
      "createdAt": "2024-03-18T14:53:08.865312Z",
      "createdBy": "some_user@some_domain",
      "updatedAt": "2024-03-18T14:53:08.865312Z",
      "updatedBy": "some_user@some_domain"
    }
  ],
  "meta": {}
}

400

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

{
  "code": "validation_failed",
  "message": "createbootableImageId.imageFileName: size must be between 1 and 255"
}

401

Ошибка аутентификации

404

Объект не найден

{
  "code": "object_not_found",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

downloadBootableImage

Скачивание сформированного ISO-файла загрузочного образа ОС.

GET /v1/bootable_images/{bootableImageId}/download
Параметр пути
Имя Описание Обязательный Тип Пример

bootableImageId

Уникальный внутренний идентификатор загрузочного образа

Да

string($uuid)

5af2573a-f848-4db3-91e2-8b416d9cd833

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

200

ISO-файл загрузочного образа

401

Ошибка аутентификации

404

Объект не найден

{
  "code": "object_not_found",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

Управление установочными дистрибутивами

Группа API-методов, которая используется для работы с установочными дистрибутивами операционных систем, содержащих информацию об операционной системе и путях до репозиториев с дистрибутивами:

deleteInstallationDistro

Удаление установочного дистрибутива ОС по его уникальному идентификатору.

DELETE /v1/installation_distros/{installationDistroId}
Параметр пути
Имя Описание Обязательный Тип Пример

installationDistroId

Уникальный внутренний идентификатор установочного дистрибутива

Да

string($uuid)

01b0f9b8-2f6a-4c91-a4d9-1faf2c3d0188

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

204

Установочный дистрибутив успешно удален

401

Ошибка аутентификации

404

Объект не найден

{
  "code": "object_not_found",
  "message": "string"
}

422

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

{
  "code": "invalid_entity",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

getInstallationDistro

Получение атрибутов установочного дистрибутива ОС по его уникальному идентификатору.

GET /v1/installation_distros/{installationDistroId}
Параметр пути
Имя Описание Обязательный Тип Пример

installationDistroId

Уникальный внутренний идентификатор установочного дистрибутива

Да

string($uuid)

01b0f9b8-2f6a-4c91-a4d9-1faf2c3d0188

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

200

Установочный дистрибутив

{
  "installationDistroId": "e750fe40-5902-4e4d-9fd2-b587139946f4",
  "name": "debian-bookworm-x86-84",
  "description": "Description or commentary",
  "repositoryUrl": "http://mirror.centos.org/centos-7/7/os/x86_64/",
  "kernel": "images/pxeboot/vmlinuz",
  "initrd": "images/pxeboot/initrd.img",
  "osFamily": {
    "osFamilyId": "redhat",
    "name": "Red Hat"
  },
  "architecture": {
    "architectureId": "x86_64",
    "name": "x86-64"
  },
  "osVersion": "20.04.6",
  "createdAt": "2024-03-18T14:53:08.865312Z",
  "createdBy": "some_user@some_domain",
  "updatedAt": "2024-03-18T14:53:08.865312Z",
  "updatedBy": "some_user@some_domain"
}

401

Ошибка аутентификации

404

Объект не найден

{
  "code": "object_not_found",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

createInstallationDistro

Создание установочного дистрибутива ОС с указанными параметрами.

POST /v1/installation_distros
Параметры тела запроса
Пример запроса
{
  "name": "debian-bookworm-x86-84",
  "description": "Description or commentary",
  "repositoryUrl": "http://mirror.centos.org/centos-7/7/os/x86_64/",
  "kernel": "images/pxeboot/vmlinuz",
  "initrd": "images/pxeboot/initrd.img",
  "osFamilyId": "debian",
  "architectureId": "x86_64",
  "osVersion": "20.04.6"
}
Тип контента

application/json

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

200

Созданный установочный дистрибутив

{
  "installationDistroId": "e750fe40-5902-4e4d-9fd2-b587139946f4",
  "name": "debian-bookworm-x86-84",
  "description": "Description or commentary",
  "repositoryUrl": "http://mirror.centos.org/centos-7/7/os/x86_64/",
  "kernel": "images/pxeboot/vmlinuz",
  "initrd": "images/pxeboot/initrd.img",
  "osFamily": {
    "osFamilyId": "redhat",
    "name": "Red Hat"
  },
  "architecture": {
    "architectureId": "x86_64",
    "name": "x86-64"
  },
  "osVersion": "20.04.6",
  "createdAt": "2024-03-18T14:53:08.865312Z",
  "createdBy": "some_user@some_domain",
  "updatedAt": "2024-03-18T14:53:08.865312Z",
  "updatedBy": "some_user@some_domain"
}

400

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

{
  "code": "validation_failed",
  "message": "createInstallationDistroId.displayName: size must be between 1 and 255"
}

401

Ошибка аутентификации

422

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

{
  "code": "invalid_entity",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

searchInstallationDistros

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

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

page

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

Нет

integer

2

pageSize

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

Нет

integer

20

Параметры тела запроса
Пример запроса
{
  "name": "Astra Linux",
  "osFamilyIds": [
    "debian","astraLinux"
  ],
  "architectureIds": [
    "x86_64"
  ],
  "osVersion": "20.04.6"
}
Тип контента

application/json

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

200

Список установочных дистрибутивов

{
  "installationDistros": [
    {
      "installationDistroId": "e750fe40-5902-4e4d-9fd2-b587139946f4",
      "name": "debian-bookworm-x86-84",
      "description": "Description or commentary",
      "repositoryUrl": "http://mirror.centos.org/centos-7/7/os/x86_64/",
      "kernel": "images/pxeboot/vmlinuz",
      "initrd": "images/pxeboot/initrd.img",
      "osFamily": {
        "osFamilyId": "redhat",
        "name": "Red Hat"
      },
      "architecture": {
        "architectureId": "x86_64",
        "name": "x86-64"
      },
      "osVersion": "20.04.6",
      "createdAt": "2024-03-18T14:53:08.865312Z",
      "createdBy": "some_user@some_domain",
      "updatedAt": "2024-03-18T14:53:08.865312Z",
      "updatedBy": "some_user@some_domain"
    }
  ],
  "meta": {}
}

400

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

{
  "code": "validation_failed",
  "message": "createInstallationDistroId.displayName: size must be between 3 and 256"
}

401

Ошибка аутентификации

404

Объект не найден

{
  "code": "object_not_found",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

updateInstallationDistro

Изменение установочного дистрибутива ОС по его уникальному идентификатору.

PUT /v1/installation_distros/{installationDistroId}
Параметр пути
Имя Описание Обязательный Тип Пример

installationDistroId

Уникальный внутренний идентификатор установочного дистрибутива

Да

string($uuid)

01b0f9b8-2f6a-4c91-a4d9-1faf2c3d0188

Параметры тела запроса
Пример запроса
{
  "name": "debian-bookworm-x86-84",
  "description": "Description or commentary",
  "repositoryUrl": "http://mirror.centos.org/centos-7/7/os/x86_64/",
  "kernel": "images/pxeboot/vmlinuz",
  "initrd": "images/pxeboot/initrd.img",
  "osFamilyId": "debian",
  "architectureId": "x86_64",
  "osVersion": "20.04.6"
}
Ответы
Код Сообщение Тип данных / объект схемы (DTO) Пример

200

Измененный установочный дистрибутив

{
  "installationDistroId": "e750fe40-5902-4e4d-9fd2-b587139946f4",
  "name": "debian-bookworm-x86-84",
  "description": "Description or commentary",
  "repositoryUrl": "http://mirror.centos.org/centos-7/7/os/x86_64/",
  "kernel": "images/pxeboot/vmlinuz",
  "initrd": "images/pxeboot/initrd.img",
  "osFamily": {
    "osFamilyId": "redhat",
    "name": "Red Hat"
  },
  "architecture": {
    "architectureId": "x86_64",
    "name": "x86-64"
  },
  "osVersion": "20.04.6",
  "createdAt": "2024-03-18T14:53:08.865312Z",
  "createdBy": "some_user@some_domain",
  "updatedAt": "2024-03-18T14:53:08.865312Z",
  "updatedBy": "some_user@some_domain"
}

400

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

{
  "code": "validation_failed",
  "message": "createInstallationDistroId.displayName: size must be between 3 and 256"
}

401

Ошибка аутентификации

404

Объект не найден

{
  "code": "object_not_found",
  "message": "string"
}

422

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

{
  "code": "invalid_entity",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

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

Группа API-методов, которая используется для работы с профилями установки ОС, содержащими информацию об установочном дистрибутиве и набор шаблонов для конфигурации процесса установки:

deleteInstallationProfile

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

DELETE /v1/installation_profiles/{installationProfileId}
Параметр пути
Имя Описание Обязательный Тип Пример

installationProfileId

Уникальный внутренний идентификатор профиля установки

Да

string($uuid)

13e058d9-a533-4bc9-a6b6-a4ab296f8422

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

204

Профиль установки успешно удален

401

Ошибка аутентификации

404

Объект не найден

{
  "code": "object_not_found",
  "message": "string"
}

422

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

{
  "code": "invalid_entity",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

getInstallationProfile

Получение атрибутов профиля установки ОС по его уникальному идентификатору.

GET /v1/installation_profiles/{installationProfileId}
Параметр пути
Имя Описание Обязательный Тип Пример

installationProfileId

Уникальный внутренний идентификатор профиля установки

Да

string($uuid)

13e058d9-a533-4bc9-a6b6-a4ab296f8422

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

200

Профиль установки

{
  "installationProfileId": "4371c2ca-5f3d-46cc-959a-a4daa8581434",
  "name": "Installation profile name example",
  "description": "Description or commentary",
  "installationDistro": {
    "installationDistroId": "e750fe40-5902-4e4d-9fd2-b587139946f4",
    "name": "debian-bookworm-x86-84",
    "repositoryUrl": "http://mirror.centos.org/centos-7/7/os/x86_64/",
    "kernel": "images/pxeboot/vmlinuz",
    "initrd": "images/pxeboot/initrd.img"
  },
  "kernelOptions": "netcfg/choose_interface=auto",
  "provisioningMethods": [
    {
      "provisioningMethodId": "bootdisknetinst",
      "name": "Boot disk and network"
    }
  ],
  "postInstallTemplates": [
    {
      "templateId": "a480re55-9988-7a7d-9fd2-b587139946f5",
      "templateCategory": {
        "templateCategoryId": "autoinstall",
        "name": "Файл ответов"
      },
      "name": "Template name"
    }
  ],
  "autoinstallTemplate": {
    "templateId": "a480re55-9988-7a7d-9fd2-b587139946f5",
    "templateCategory": {
      "templateCategoryId": "autoinstall",
      "name": "Файл ответов"
    },
    "name": "Template name"
  },
  "createdAt": "2024-03-18T14:53:08.865312Z",
  "createdBy": "inno.tech",
  "updatedAt": "2024-03-18T14:53:08.865312Z",
  "updatedBy": "inno.tech"
}

401

Ошибка аутентификации

404

Объект не найден

{
  "code": "object_not_found",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

createInstallationProfile

Создание профиля установки ОС с указанными параметрами.

POST /v1/installation_profiles
Параметры тела запроса
Пример запроса
{
  "name": "Installation profile name example",
  "description": "Description or commentary",
  "installationDistroId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "kernelOptions": "netcfg/choose_interface=auto",
  "provisioningMethodIds": [
    "pxe"
  ],
  "postInstallTemplateIds": [
    "bbd48136-54ad-469b-9409-e2276ab2a7ee"
  ],
  "autoinstallTemplateId": "2806b75f-1b46-4529-b978-84c713b09dbf"
}
Тип контента

application/json

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

200

Созданный профиль установки

{
  "installationProfileId": "4371c2ca-5f3d-46cc-959a-a4daa8581434",
  "name": "Installation profile name example",
  "description": "Description or commentary",
  "installationDistro": {
    "installationDistroId": "e750fe40-5902-4e4d-9fd2-b587139946f4",
    "name": "debian-bookworm-x86-84",
    "repositoryUrl": "http://mirror.centos.org/centos-7/7/os/x86_64/",
    "kernel": "images/pxeboot/vmlinuz",
    "initrd": "images/pxeboot/initrd.img"
  },
  "kernelOptions": "netcfg/choose_interface=auto",
  "provisioningMethods": [
    {
      "provisioningMethodId": "bootdisknetinst",
      "name": "Boot disk and network"
    }
  ],
  "postInstallTemplates": [
    {
      "templateId": "a480re55-9988-7a7d-9fd2-b587139946f5",
      "templateCategory": {
        "templateCategoryId": "autoinstall",
        "name": "Файл ответов"
      },
      "name": "Template name"
    }
  ],
  "autoinstallTemplate": {
    "templateId": "a480re55-9988-7a7d-9fd2-b587139946f5",
    "templateCategory": {
      "templateCategoryId": "autoinstall",
      "name": "Файл ответов"
    },
    "name": "Template name"
  },
  "createdAt": "2024-03-18T14:53:08.865312Z",
  "createdBy": "inno.tech",
  "updatedAt": "2024-03-18T14:53:08.865312Z",
  "updatedBy": "inno.tech"
}

400

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

{
  "code": "validation_failed",
  "message": "createInstallationProfileId.displayName: size must be between 3 and 256"
}

401

Ошибка аутентификации

404

Объект не найден

{
  "code": "object_not_found",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

searchInstallationProfiles

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

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

page

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

Нет

integer

2

pageSize

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

Нет

integer

20

Параметры тела запроса
Пример запроса
{
  "name": "installationProfileNameExample",
  "installationDistroIds": [
    "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  ],
  "provisioningMethodIds": [
    "pxe"
  ]
}
Тип контента

application/json

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

200

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

{
  "installationProfiles": [
    {
      "installationProfileId": "4371c2ca-5f3d-46cc-959a-a4daa8581434",
      "name": "Installation profile name example",
      "description": "Description or commentary",
      "installationDistro": {
        "installationDistroId": "e750fe40-5902-4e4d-9fd2-b587139946f4",
        "name": "debian-bookworm-x86-84",
        "repositoryUrl": "http://mirror.centos.org/centos-7/7/os/x86_64/",
        "kernel": "images/pxeboot/vmlinuz",
        "initrd": "images/pxeboot/initrd.img"
      },
      "kernelOptions": "netcfg/choose_interface=auto",
      "provisioningMethods": [
        {
          "provisioningMethodId": "bootdisknetinst",
          "name": "Boot disk and network"
        }
      ],
      "postInstallTemplates": [
        {
          "templateId": "a480re55-9988-7a7d-9fd2-b587139946f5",
          "templateCategory": {
            "templateCategoryId": "autoinstall",
            "name": "Файл ответов"
          },
          "name": "Template name"
        }
      ],
      "autoinstallTemplate": {
        "templateId": "a480re55-9988-7a7d-9fd2-b587139946f5",
        "templateCategory": {
          "templateCategoryId": "autoinstall",
          "name": "Файл ответов"
        },
        "name": "Template name"
      },
      "createdAt": "2024-03-18T14:53:08.865312Z",
      "createdBy": "inno.tech",
      "updatedAt": "2024-03-18T14:53:08.865312Z",
      "updatedBy": "inno.tech"
    }
  ],
  "meta": {}
}

400

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

{
  "code": "validation_failed",
  "message": "createInstallationProfileId.displayName: size must be between 3 and 256"
}

401

Ошибка аутентификации

404

Объект не найден

{
  "code": "object_not_found",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

updateInstallationProfile

Изменение профиля установки ОС по его уникальному идентификатору.

PUT /v1/installation_profiles/{installationProfileId}
Параметр пути
Имя Описание Обязательный Тип Пример

installationProfileId

Уникальный внутренний идентификатор профиля установки

Да

string($uuid)

01b0f9b8-2f6a-4c91-a4d9-1faf2c3d0188

Параметры тела запроса
Пример запроса
{
  "name": "Installation profile name example",
  "description": "Description or commentary",
  "installationDistroId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "kernelOptions": "netcfg/choose_interface=auto",
  "provisioningMethodIds": [
    "pxe"
  ],
  "postInstallTemplateIds": [
    "bbd48136-54ad-469b-9409-e2276ab2a7ee"
  ],
  "autoinstallTemplateId": "2806b75f-1b46-4529-b978-84c713b09dbf"
}
Ответы
Код Сообщение Тип данных / объект схемы (DTO) Пример

200

Измененный профиль установки

{
  "installationProfileId": "4371c2ca-5f3d-46cc-959a-a4daa8581434",
  "name": "Installation profile name example",
  "description": "Description or commentary",
  "installationDistro": {
    "installationDistroId": "e750fe40-5902-4e4d-9fd2-b587139946f4",
    "name": "debian-bookworm-x86-84",
    "repositoryUrl": "http://mirror.centos.org/centos-7/7/os/x86_64/",
    "kernel": "images/pxeboot/vmlinuz",
    "initrd": "images/pxeboot/initrd.img"
  },
  "kernelOptions": "netcfg/choose_interface=auto",
  "provisioningMethods": [
    {
      "provisioningMethodId": "bootdisknetinst",
      "name": "Boot disk and network"
    }
  ],
  "postInstallTemplates": [
    {
      "templateId": "a480re55-9988-7a7d-9fd2-b587139946f5",
      "templateCategory": {
        "templateCategoryId": "autoinstall",
        "name": "Файл ответов"
      },
      "name": "Template name"
    }
  ],
  "autoinstallTemplate": {
    "templateId": "a480re55-9988-7a7d-9fd2-b587139946f5",
    "templateCategory": {
      "templateCategoryId": "autoinstall",
      "name": "Файл ответов"
    },
    "name": "Template name"
  },
  "createdAt": "2024-03-18T14:53:08.865312Z",
  "createdBy": "inno.tech",
  "updatedAt": "2024-03-18T14:53:08.865312Z",
  "updatedBy": "inno.tech"
}

400

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

{
  "code": "validation_failed",
  "message": "createInstallationProfileId.displayName: size must be between 3 and 256"
}

401

Ошибка аутентификации

404

Объект не найден

{
  "code": "object_not_found",
  "message": "string"
}

422

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

{
  "code": "invalid_entity",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

Управление способами развертывания

Группа API-методов, которая используется для работы cо способами развертывания ОС, описывающими профиль установки, метод развертывания, а также дополнительные атрибуты развертывания, необходимые для установки ОС на устройства:

deleteInstallationRecipe

Удаление способа развертывания ОС по его уникальному идентификатору.

DELETE /v1/installation_recipes/{installationRecipeId}
Параметр пути
Имя Описание Обязательный Тип Пример

installationRecipeId

Уникальный внутренний идентификатор способа развертывания

Да

string($uuid)

018fc8fd-06d0-7b0d-b950-83b188d38f1e

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

204

План развертывания успешно удален

401

Ошибка аутентификации

404

Объект не найден

{
  "code": "object_not_found",
  "message": "string"
}

422

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

{
  "code": "invalid_entity",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

getInstallationRecipe

Получение атрибутов способа развертывания ОС по его уникальному идентификатору.

GET /v1/installation_recipes/{installationRecipeId}
Параметр пути
Имя Описание Обязательный Тип Пример

installationRecipeId

Уникальный внутренний идентификатор способа развертывания

Да

string($uuid)

018fc8fd-06d0-7b0d-b950-83b188d38f1e

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

200

План развертывания

{
  "installationRecipeId": "a550fe40-1102-4e4d-9fd2-b587131246f5",
  "name": "Installation recipe name",
  "description": "Installation recipe description",
  "installationProfile": {
    "installationProfileId": "a480re55-9988-7a7d-9fd2-b587139946f5",
    "name": "Installation profile"
  },
  "provisioningMethod": {
    "provisioningMethodId": "bootdisknetinst",
    "name": "Boot disk and network"
  },
  "configurationId": 101,
  "configurationVersionId": 102,
  "deploymentMode": {
    "deploymentModeId": "installation",
    "name": "Installation"
  },
  "rootHashPassword": "8743b52063cd84097a65d1633f5c74f5",
  "hashAlgorithm": "MD5",
  "isCreateUser": false,
  "userAccount": {
    "userFullName": "Ivanov Ivan Ivanovich",
    "userName": "Ivan",
    "userHashPassword": "5f4dcc3b5aa765d61d8327deb882cf99"
  },
  "domainName": "inno.local",
  "createdAt": "2024-03-18T14:53:08.865312Z",
  "createdBy": "some_user@some_domain",
  "updatedAt": "2024-03-18T14:53:08.865312Z",
  "updatedBy": "some_user@some_domain"
}

401

Ошибка аутентификации

404

Объект не найден

{
  "code": "object_not_found",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

createInstallationRecipe

Создание способа развертывания ОС с указанными параметрами.

POST /v1/installation_recipes
Параметры тела запроса
Пример запроса
{
  "name": "Пример имени развёртывания",
  "description": "Пример комментария к развёртыванию",
  "installationProfileId": "e120fe40-1102-4e4d-9fd2-b587139946f5",
  "provisioningMethodId": "bootdisknetinst",
  "configurationId": 101,
  "configurationVersionId": 102,
  "deploymentModeId": "installation",
  "rootHashPassword": "8743b52063cd84097a65d1633f5c74f5",
  "hashAlgorithm": "MD5",
  "isCreateUser": false,
  "userAccount": {
    "userFullName": "Ivanov Ivan Ivanovich",
    "userName": "Ivan",
    "userHashPassword": "5f4dcc3b5aa765d61d8327deb882cf99"
  },
  "domainName": "inno.local"
}
Тип контента

application/json

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

200

Созданный способ развертывания

{
  "installationRecipeId": "a550fe40-1102-4e4d-9fd2-b587131246f5",
  "name": "Installation recipe name",
  "description": "Installation recipe description",
  "installationProfile": {
    "installationProfileId": "a480re55-9988-7a7d-9fd2-b587139946f5",
    "name": "Installation profile"
  },
  "provisioningMethod": {
    "provisioningMethodId": "bootdisknetinst",
    "name": "Boot disk and network"
  },
  "configurationId": 101,
  "configurationVersionId": 102,
  "deploymentMode": {
    "deploymentModeId": "installation",
    "name": "Installation"
  },
  "rootHashPassword": "8743b52063cd84097a65d1633f5c74f5",
  "hashAlgorithm": "MD5",
  "isCreateUser": false,
  "userAccount": {
    "userFullName": "Ivanov Ivan Ivanovich",
    "userName": "Ivan",
    "userHashPassword": "5f4dcc3b5aa765d61d8327deb882cf99"
  },
  "domainName": "inno.local",
  "createdAt": "2024-03-18T14:53:08.865312Z",
  "createdBy": "some_user@some_domain",
  "updatedAt": "2024-03-18T14:53:08.865312Z",
  "updatedBy": "some_user@some_domain"
}

400

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

{
  "code": "validation_failed",
  "message": "createInstallationRecipeId.displayName: size must be between 3 and 256"
}

401

Ошибка аутентификации

422

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

{
  "code": "invalid_entity",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

searchInstallationRecipes

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

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

page

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

Нет

integer

2

pageSize

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

Нет

integer

20

Параметры тела запроса
Пример запроса
{
  "name": "installationRecipeNameExample",
  "installationProfileIds": [
    "018fc943-f767-76aa-a340-2e7015bd90e3"
  ],
  "provisioningMethodIds": [
    "bootdisknetinst"
  ],
  "deploymentModeIds": [
    "installation"
  ],
  "configurationIds": [
    101
  ]
}
Тип контента

application/json

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

200

Список планов развертывания

{
  "installationRecipes": [
    {
      "installationRecipeId": "a550fe40-1102-4e4d-9fd2-b587131246f5",
      "name": "Installation recipe name",
      "description": "Installation recipe description",
      "installationProfile": {
        "installationProfileId": "a480re55-9988-7a7d-9fd2-b587139946f5",
        "name": "Installation profile"
      },
      "provisioningMethod": {
        "provisioningMethodId": "bootdisknetinst",
        "name": "Boot disk and network"
      },
      "configurationId": 101,
      "configurationVersionId": 102,
      "deploymentMode": {
        "deploymentModeId": "installation",
        "name": "Installation"
      },
      "rootHashPassword": "8743b52063cd84097a65d1633f5c74f5",
      "hashAlgorithm": "MD5",
      "isCreateUser": false,
      "userAccount": {
        "userFullName": "Ivanov Ivan Ivanovich",
        "userName": "Ivan",
        "userHashPassword": "5f4dcc3b5aa765d61d8327deb882cf99"
      },
      "domainName": "inno.local",
      "createdAt": "2024-03-18T14:53:08.865312Z",
      "createdBy": "some_user@some_domain",
      "updatedAt": "2024-03-18T14:53:08.865312Z",
      "updatedBy": "some_user@some_domain"
    }
  ],
  "meta": {}
}

400

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

{
  "code": "validation_failed",
  "message": "createInstallationRecipeId.displayName: size must be between 3 and 256"
}

401

Ошибка аутентификации

404

Объект не найден

{
  "code": "object_not_found",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

updateInstallationRecipe

Изменение способа развертывания ОС по его уникальному идентификатору.

PUT /v1/installation_recipes/{installationRecipeId}
Параметр пути
Имя Описание Обязательный Тип Пример

installationRecipeId

Уникальный внутренний идентификатор способа развертывания

Да

string($uuid)

018fc8fd-06d0-7b0d-b950-83b188d38f1e

Параметры тела запроса
Пример запроса
{
  "name": "Пример имени развёртывания",
  "description": "Пример комментария к развёртыванию",
  "installationProfileId": "e120fe40-1102-4e4d-9fd2-b587139946f5",
  "provisioningMethodId": "bootdisknetinst",
  "configurationId": 101,
  "configurationVersionId": 102,
  "deploymentModeId": "installation",
  "rootHashPassword": "8743b52063cd84097a65d1633f5c74f5",
  "hashAlgorithm": "MD5",
  "isCreateUser": false,
  "userAccount": {
    "userFullName": "Ivanov Ivan Ivanovich",
    "userName": "Ivan",
    "userHashPassword": "5f4dcc3b5aa765d61d8327deb882cf99"
  },
  "domainName": "inno.local"
}
Ответы
Код Сообщение Тип данных / объект схемы (DTO) Пример

200

Измененный план развертывания

  "installationRecipeId": "a550fe40-1102-4e4d-9fd2-b587131246f5",
  "name": "Installation recipe name",
  "description": "Installation recipe description",
  "installationProfile": {
    "installationProfileId": "a480re55-9988-7a7d-9fd2-b587139946f5",
    "name": "Installation profile"
  },
  "provisioningMethod": {
    "provisioningMethodId": "bootdisknetinst",
    "name": "Boot disk and network"
  },
  "configurationId": 101,
  "configurationVersionId": 102,
  "deploymentMode": {
    "deploymentModeId": "installation",
    "name": "Installation"
  },
  "rootHashPassword": "8743b52063cd84097a65d1633f5c74f5",
  "hashAlgorithm": "MD5",
  "isCreateUser": false,
  "userAccount": {
    "userFullName": "Ivanov Ivan Ivanovich",
    "userName": "Ivan",
    "userHashPassword": "5f4dcc3b5aa765d61d8327deb882cf99"
  },
  "domainName": "inno.local",
  "createdAt": "2024-03-18T14:53:08.865312Z",
  "createdBy": "some_user@some_domain",
  "updatedAt": "2024-03-18T14:53:08.865312Z",
  "updatedBy": "some_user@some_domain"
}

400

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

{
  "code": "validation_failed",
  "message": "createInstallationRecipeId.displayName: size must be between 3 and 256"
}

401

Ошибка аутентификации

404

Объект не найден

{
  "code": "object_not_found",
  "message": "string"
}

422

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

{
  "code": "invalid_entity",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

Управление процессом установки

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

getBootLoaderConfigurationFile

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

GET /v1/boot_loaders/{bootloaderId}/config
Параметр запроса
Имя Описание Обязательный Тип Пример

bootloaderId

Уникальный внутренний идентификатор программы-загрузчика

Да

string

ipxe

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

mac

MAC-адрес устройства

Нет

string

00:1b:63:84:45:e6

templateSlug

Cистемное наименование шаблона

Нет

string

ipxe_initial

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

200

Сформированный конфигурационный файл для программы-загрузчика

404

Объект не найден

{
  "code": "object_not_found",
  "message": "string"
}

422

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

{
  "code": "object_not_found",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

getPostInstallScriptFile

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

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

machineId

Уникальный внутренний идентификатор устройства

Да

string($uuid)

75e291ec-83fe-4fd4-bd2e-6d327801c71f

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

200

Файл пост-установочного скрипта

401

Ошибка аутентификации

404

Объект не найден

{
  "code": "object_not_found",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

getUnattendedInstallFile

Получение назначенного на устройство файла автоответов, заполненного параметрами согласно шаблону, который определяется по MAC-адресу, передаваемому в запросе.

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

mac

MAC-адрес устройства

Да

string

00:1b:63:84:45:e6

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

200

Файл автоответов

401

Ошибка аутентификации

404

Объект не найден

{
  "code": "object_not_found",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

updateInstallationProcessStatus

Фиксация состояния процесса установки ОС на новое устройство.

POST /v1/unprovisioned_machines/{unprovisionedMachineId}/installation_process/status
Параметр пути
Имя Описание Обязательный Тип Пример

unprovisionedMachineId

Уникальный внутренний идентификатор устройства

Да

string($uuid)

75e291ec-83fe-4fd4-bd2e-6d327801c71f

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

status

Статусы этапов установки ОС. Возможные значения:

  • PRESTART — подготовка к установке;

  • IN_PROCESS — в процессе установки;

  • INSTALL_ERROR — ошибка установки;

  • FINISHED — завершение установки

Да

string

IN_PROCESS

step

Название текущего шага установки ОС

Да

string

additionalInfo

Дополнительная информация, например при ошибке установки код ответа или описание причины

Нет

string

Description

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

204

Статус успешно изменен

404

Объект не найден

{
  "code": "object_not_found",
  "message": "string"
}

422

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

{
  "code": "invalid_entity",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

Управление файлами шаблонов

Группа API-методов, которая используется для работы с файлами шаблонов, необходимыми для установки ОС, например, для формирования конфигурационных файлов, файлов ответов и скриптов пост-установки:

deleteTemplate

Удаление шаблона по его уникальному идентификатору.

DELETE /v1/templates/{templateId}
Параметр пути
Имя Описание Обязательный Тип Пример

templateId

Уникальный внутренний идентификатор шаблона

Да

string($uuid)

5af2573a-f848-4db3-91e2-8b416d9cd833

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

204

Шаблон успешно удален

401

Ошибка аутентификации

404

Объект не найден

{
  "code": "object_not_found",
  "message": "string"
}

422

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

{
  "code": "invalid_entity",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

getTemplate

Получение атрибутов шаблона по его уникальному идентификатору.

GET /v1/templates/{templateId}
Параметр пути
Имя Описание Обязательный Тип Пример

templateId

Уникальный внутренний идентификатор шаблона

Да

string($uuid)

5af2573a-f848-4db3-91e2-8b416d9cd833

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

200

Шаблон

{
  "templateId": "e750fe40-5902-4e4d-9fd2-b587139946f5",
  "name": "debian-bookworm-x86-84 preseed file",
  "templateSlug": "TEMPLATE-unique_name1",
  "description": "Description or commentary",
  "osFamily": {
    "osFamilyId": "redhat",
    "name": "Red Hat"
  },
  "bootloader": {
    "bootloaderId": "ipxe",
    "name": "IPXE"
  },
  "templateCategory": {
    "templateCategoryId": "autoinstall",
    "name": "Файл ответов"
  },
  "template": "# Preseeding only locale sets language, country and locale.\nd-i debian-installer/locale string ru_RU\n",
  "createdAt": "2024-03-18T14:53:08.865312Z",
  "createdBy": "some_user@some_domain",
  "updatedAt": "2024-03-18T14:53:08.865312Z",
  "updatedBy": "some_user@some_domain"
}

401

Ошибка аутентификации

404

Объект не найден

{
  "code": "object_not_found",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

createTemplate

Создание шаблона с указанными параметрами.

POST /v1/templates
Параметры тела запроса
Пример запроса
{
  "name": "debian-bookworm-x86-84 preseed file",
  "templateSlug": "TEMPLATE-unique_name1",
  "description": "Description or commentary",
  "osFamilyId": "debian",
  "templateCategoryId": "autoinstall",
  "bootloaderId": "ipxe",
  "template": "# Preseeding only locale sets language, country and locale.\nd-i debian-installer/locale string ru_RU\n"
}
Тип контента

application/json

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

200

Созданный шаблон

{
  "templateId": "e750fe40-5902-4e4d-9fd2-b587139946f5",
  "name": "debian-bookworm-x86-84 preseed file",
  "description": "Description or commentary",
  "osFamily": {
    "osFamilyId": "redhat",
    "name": "Red Hat"
  },
  "templateCategory": {
    "templateCategoryId": "autoinstall",
    "name": "Файл ответов"
  },
  "template": "# Preseeding only locale sets language, country and locale.\nd-i debian-installer/locale string ru_RU\n",
  "createdAt": "2024-03-18T14:53:08.865312Z",
  "createdBy": "some_user@some_domain",
  "updatedAt": "2024-03-18T14:53:08.865312Z",
  "updatedBy": "some_user@some_domain"
}

400

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

{
  "code": "validation_failed",
  "message": "createTemplate.displayName: size must be between 3 and 256"
}

401

Ошибка аутентификации

422

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

{
  "code": "invalid_entity",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

searchTemplates

Получение списка шаблонов OC, с возможностью фильтрации и постраничного вывода.

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

page

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

Нет

integer

2

pageSize

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

Нет

integer

20

Параметры тела запроса
Пример запроса
{
  "name": "preseed",
  "osFamilyIds": [
    "debian"
  ],
  "bootloaderIds": [
    "ipxe"
  ],
  "templateCategoryIds": [
    "autoinstall"
  ]
}
Тип контента

application/json

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

200

Список шаблонов

{
  "templates": [
    {
      "templateId": "e750fe40-5902-4e4d-9fd2-b587139946f5",
      "name": "debian-bookworm-x86-84 preseed file",
      "description": "Description or commentary",
      "osFamily": {
        "osFamilyId": "redhat",
        "name": "Red Hat"
      },
      "templateCategory": {
        "templateCategoryId": "autoinstall",
        "name": "Файл ответов"
      },
      "template": "# Preseeding only locale sets language, country and locale.\nd-i debian-installer/locale string ru_RU\n",
      "createdAt": "2024-03-18T14:53:08.865312Z",
      "createdBy": "some_user@some_domain",
      "updatedAt": "2024-03-18T14:53:08.865312Z",
      "updatedBy": "some_user@some_domain"
    }
  ],
  "meta": {}
}

400

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

{
  "code": "validation_failed",
  "message": "createTemplateId.displayName: size must be between 3 and 256"
}

401

Ошибка аутентификации

404

Объект не найден

{
  "code": "object_not_found",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

updateTemplate

Изменение шаблона по его уникальному идентификатору.

PUT /v1/templates/{templateId}
Параметр пути
Имя Описание Обязательный Тип Пример

templateId

Уникальный внутренний идентификатор шаблона

Да

string($uuid)

018fc8fd-06d0-7b0d-b950-83b188d38f1e

Параметры тела запроса
Пример запроса
{
  "name": "debian-bookworm-x86-84 preseed file",
  "templateSlug": "TEMPLATE-unique_name1",
  "description": "Description or commentary",
  "osFamilyId": "debian",
  "templateCategoryId": "autoinstall",
  "bootloaderId": "ipxe",
  "template": "# Preseeding only locale sets language, country and locale.\nd-i debian-installer/locale string ru_RU\n"
}
Ответы
Код Сообщение Тип данных / объект схемы (DTO) Пример

200

Измененный план развертывания

{
  "templateId": "e750fe40-5902-4e4d-9fd2-b587139946f5",
  "name": "debian-bookworm-x86-84 preseed file",
  "templateSlug": "TEMPLATE-unique_name1",
  "description": "Description or commentary",
  "osFamily": {
    "osFamilyId": "redhat",
    "name": "Red Hat"
  },
  "bootloader": {
    "bootloaderId": "ipxe",
    "name": "IPXE"
  },
  "templateCategory": {
    "templateCategoryId": "autoinstall",
    "name": "Файл ответов"
  },
  "template": "# Preseeding only locale sets language, country and locale.\nd-i debian-installer/locale string ru_RU\n",
  "createdAt": "2024-03-18T14:53:08.865312Z",
  "createdBy": "some_user@some_domain",
  "updatedAt": "2024-03-18T14:53:08.865312Z",
  "updatedBy": "some_user@some_domain"
}

400

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

{
  "code": "validation_failed",
  "message": "createInstallationRecipeId.displayName: size must be between 3 and 256"
}

401

Ошибка аутентификации

404

Объект не найден

{
  "code": "object_not_found",
  "message": "string"
}

422

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

{
  "code": "invalid_entity",
  "message": "string"
}

500

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

{
  "code": "internal_error",
  "message": "string"
}

Управление загрузчиками

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

getBootloaders

Получение списка загрузчиков отсортированных по имени

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

200

Список загрузчиков

[
  {
    "bootloaderId": "ipxe",
    "name": "IPXE"
  }
]

401

Ошибка аутентификации

500

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

{
  "code": "object_not_found",
  "message": "string"
}

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

ActionCode

Код действия, уникальный в рамках одного объекта (мин. длина: 3; макс. длина: 256)

Тип: string

Пример: view

AllowedRolePermission

Разрешение роли.

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

code

Да

string

Уникальный код объекта

configurations

actions

Да

string

Код действия, уникальный в рамках одного объекта. Включает параметр ActionCode

view

Architecture

Архитектура процессора.

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

architectureId

Да

string

Уникальный внутренний идентификатор архитектуры процессора

x86_64

name

Да

string

Наименование архитектуры процессора

x86-64

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

BootableImageBootMode

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

Возможные значения: BIOS, UEFI, ALL.

Тип: string.

Пример: BIOS.

BootableImageCreateRequest

Параметры для создания загрузочного образа.

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

name

Да

string

Наименование загрузочного образа

generic x64 bios/uefi cdrom/usb

description

Нет

string

Описание загрузочного образа, комментарии (мин. длина: 1)

Универсальный ISO-образ для установки на x64 машины

imageFileName

Нет

string

Имя ISO-файла загрузочного образа (мин. длина: 1; макс. длина: 255)

generic_bootdisk

BootableImagesPagedResponse

Атрибуты загрузочного образа.

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

bootableImages

Да

Список загрузочных образов. Включает параметр: bootableImageResponse

meta

Да

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

BootableImageResponse

Атрибуты загрузочного образа.

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

bootableImageId

Да

string($uuid)

Уникальный внутренний идентификатор загрузочного образа

e750fe40-5902-4e4d-9fd2-b587139946f5

name

Да

string

Наименование загрузочного образа

generic x64 bios/uefi cdrom/usb

bootableImageType

Нет

string

Тип установочного образа. Включает параметр bootableImageType

status

Да

string

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

CREATED

imageFileName

Нет

string

Имя ISO-файла загрузочного образа (мин. длина: 1; макс. длина: 255)

generic_bootdisk

description

Нет

string

Описание загрузочного образа, комментарии (мин. длина: 1)

Универсальный ISO-образ для установки на x64 машины

architecture

Да

Архитектура процессора. Включает параметр Architecture

installationRecipes

Нет

Список планов развертываний, на базе которых был сформирован загрузочный образ Включает параметр InstallationRecipePreview

bootMode

Да

string

Поддерживаемые режимы загрузки на целевом устройстве. Включает параметр BootableImageBootMode

BIOS

createdAt

Да

string($date-time)

Дата и время создания загрузочного образа

2024-03-18T14:53:08.865312Z

createdBy

Да

string

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

vivanov@domain.local

updatedAt

Нет

string($date-time)

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

2024-03-18T14:53:08.865312Z

updatedBy

Нет

string

Пользователь, совершивший последнее изменения загрузочного образа

vivanov@domain.local

BootableImagesSearchRequest

Параметры для поиска загрузочных образов.

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

name

Нет

string

Наименование загрузочного образа, контекстный поиск

generic x64 bios/uefi cdrom/usb

imageFileName

Нет

string

Имя ISO-файла загрузочного образа (мин. длина: 3; макс. длина: 255)

generic_bootdisk

statuses

Нет

string

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

CREATED

bootableImagesTypeIds

Нет

string

Список идентификаторов типов загрузочных образов (мин. длина: 1)

genericbootimage

architectureIds

Нет

string

Список идентификаторов архитектур процессора (мин. длина: 1)

x86_64

installationRecipeIds

Нет

string($uuid)

Список идентификаторов планов развертываний

a7e0ab48-f954-48c9-89bb-7f343ccb60e2

bootModes

Нет

string

Поддерживаемые режимы загрузки на целевом устройстве. Включает параметр BootableImageBootMode

BIOS

BootableImageStatus

Статусы подготовки загрузочного образа.

Возможные значения: CREATED, STARTED, READY, FAILED.

Тип: string.

Пример: CREATED.

BootableImageType

Тип загрузочного образа.

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

bootableImageTypeId

Да

string

Уникальный внутренний идентификатор типа загрузочного образа

genericbootimage

name

Да

string

Наименование типа загрузочного образа

Универсальный загрузочный образ

Bootloader

Загрузчик.

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

bootloaderId

Да

string

Уникальный идентификатор загрузчика

ipxe

name

Да

string

Наименование загрузчика

IPXE

BootloadersResponse

Список загрузчиков.

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

bootloaderId

Да

string

Уникальный идентификатор загрузчика

ipxe

name

Да

string

Наименование загрузчика

IPXE

DeploymentMode

Режим развертывания ОС, например, установка с нуля или переустановка

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

deploymentModeId

Да

string

Уникальный внутренний идентификатор режима развертывания

installation

name

Да

string

Наименование режима развертывания

Installation

ErrorCode

Код ошибки.

Тип: string.

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

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

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

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

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

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

HashAlgorithm

Поддерживаемые алгоритмы хеширования.

Тип: string.

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

  • MD5;

  • SHA512.

InstallationDistroCreateRequest

Параметры для создания установочного дистрибутива.

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

name

Да

string

Наименование установочного дистрибутива

debian-bookworm-x86-84

description

Нет

string

Описание установочного дистрибутива, комментарии

Description or commentary

repositoryUrl

Да

string

URL репозитория, где размещается установочный дистрибутив (мин. длина: 1)

http://mirror.centos.org/centos-7/7/os/x86_64/

kernel

Да

string

Путь и имя файла внутри репозитория с указанным URL, в котором содержится ядро ОС

images/pxeboot/vmlinuz

initrd

Да

string

Путь и имя файла внутри репозитория с указанным URL, содержащего образ временной корневой системы

images/pxeboot/initrd.img

osFamily

Да

Семейство ОС. Включает параметр OsFamily

architectureId

Да

string

Идентификатор архитектуры процессора, которую поддерживает создаваемый установочный дистрибутив (мин. длина: 1)

x86_64

osVersion

Да

string

Версия ОС

20.04.6

InstallationDistrosPagedResponse

Список установочных дистрибутивов с метаданными постраничного вывода.

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

installationDistros

Да

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

meta

Да

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

InstallationDistroPreview

Предпросмотр установочного дистрибутива.

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

installationDistroId

Да

string($uuid)

Уникальный внутренний идентификатор установочного дистрибутива

e750fe40-5902-4e4d-9fd2-b587139946f4

name

Да

string

Наименование установочного дистрибутива

debian-bookworm-x86-84

repositoryUrl

Да

string

URL репозитория, где размещается установочный дистрибутив

http://mirror.centos.org/centos-7/7/os/x86_64/

kernel

Да

string

Путь и имя файла внутри репозитория с указанным URL, в котором содержится ядро ОС

images/pxeboot/vmlinuz

initrd

Да

string

Путь и имя файла внутри репозитория с указанным URL, содержащего образ временной корневой системы

images/pxeboot/initrd.img

InstallationDistroResponse

Атрибуты установочного дистрибутива.

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

installationDistroId

Да

string($uuid)

Уникальный внутренний идентификатор установочного дистрибутива

e750fe40-5902-4e4d-9fd2-b587139946f4

name

Да

string

Наименование установочного дистрибутива

debian-bookworm-x86-84

description

Нет

string

Описание установочного дистрибутива, комментарии

Description or commentary

repositoryUrl

Да

string

URL репозитория, где размещается установочный дистрибутив

http://mirror.centos.org/centos-7/7/os/x86_64/

kernel

Да

string

Путь и имя файла внутри репозитория с указанным URL, в котором содержится ядро ОС

images/pxeboot/vmlinuz

initrd

Да

string

Путь и имя файла внутри репозитория с указанным URL, содержащего образ временной корневой системы

images/pxeboot/initrd.img

osFamily

Да

Семейство ОС. Включает параметр OsFamily

architecture

Да

Архитектура процессора. Включает параметр Architecture

osVersion

Да

string

Версия ОС

20.04.6

createdAt

Да

string($date-time)

Дата и время создания установочного дистрибутива

2024-03-18T14:53:08.865312Z

createdBy

Да

string

Пользователь, создавший установочный дистрибутив

vivanov@domain.local

updatedAt

Нет

string($date-time)

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

2024-03-18T14:53:08.865312Z

updatedBy

Нет

string

Пользователь, совершивший последнее изменение установочного дистрибутива

vivanov@domain.local

InstallationDistrosSearchRequest

Параметры для поиска установочных дистрибутивов.

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

name

Нет

string

Наименование установочного дистрибутива (мин. длина: 3; макс. длина: 255)

Astra Linux

osFamilyIds

Нет

string

Список идентификаторов семейств ОС

0201b593-59ef-4eec-9ed9-00376b6637f0

architectureIds

Нет

string

Список идентификаторов архитектур процессора

45a93cd5-0922-4014-a45e-f8281b176447

osVersion

Нет

string

Версия ОС (мин. длина: 3; макс. длина: 255)

20.04.6

InstallationDistroUpdateRequest

Список установочных дистрибутивов с метаданными постраничного вывода.

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

name

Да

string

Наименование установочного дистрибутива (мин. длина: 1)

debian-bookworm-x86-84

description

Нет

string

Описание установочного дистрибутива, комментарии

Description or commentary

repositoryUrl

Да

string

URL репозитория, где размещается установочный дистрибутив (мин. длина: 1)

`http://mirror.centos.org/centos-7/7/os/x86_64/`

kernel

Да

string

Путь и имя файла внутри репозитория с указанным URL, в котором содержится ядро ОС (мин. длина: 1)

images/pxeboot/vmlinuz

initrd

Да

string

Путь и имя файла внутри репозитория с указанным URL, содержащего образ временной корневой системы (мин. длина: 1)

images/pxeboot/initrd.img

osFamilyId

Да

string

Идентификатор семейства ОС, к которому принадлежит создаваемый установочный дистрибутив (мин. длина: 1)

debian

architectureId

Да

string

Идентификатор семейства ОС, к которому принадлежит создаваемый установочный дистрибутив (мин. длина: 1)

x86_64

osVersion

Да

string

Версия ОС (мин. длина: 1)

20.04.6

InstallationProfileCreateRequest

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

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

name

Да

string

Наименование профиля установки (мин. длина: 1)

Installation profile name example

description

Нет

string

Описание профиля установки, комментарии

Description or commentary

installationDistroId

Да

string($uuid)

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

kernelOptions

Нет

string

Список дополнительных опций, с которыми будет запускаться ядро из установочного дистрибутива (мин. длина: 1)

netcfg/choose_interface=auto

provisioningMethodIds

Да

string

Список идентификаторов поддерживаемых методов установки ОС (мин. длина: 1)

pxe

postInstallTemplateIds

Нет

string($uuid)

Список идентификаторов шаблонов скриптов пост-установки

bbd48136-54ad-469b-9409-e2276ab2a7ee

autoinstallTemplateId

Да

string($uuid)

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

2806b75f-1b46-4529-b978-84c713b09dbf

InstallationProfilePagedResponse

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

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

installationProfiles

Да

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

meta

Да

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

InstallationProfilePreview

Предпросмотр профиля установки.

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

installationProfileId

Да

string($uuid)

Уникальный внутренний идентификатор профиля установки

a480re55-9988-7a7d-9fd2-b587139946f5

name

Да

string

Наименование профиля установки

Installation profile

InstallationProfileResponse

Атрибуты профиля установки.

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

installationProfileId

Да

string($uuid)

Уникальный внутренний идентификатор профиля установки

4371c2ca-5f3d-46cc-959a-a4daa8581434

name

Да

string

Наименование профиля установки

Installation profile name example

description

Нет

string

Описание профиля установки, комментарии

Description or commentary

installationDistro

Да

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

kernelOptions

Нет

string

Список дополнительных опций, с которыми будет запускаться ядро из установочного дистрибутива (мин. длина: 1)

netcfg/choose_interface=auto

provisioningMethodIds

Да

Список поддерживаемых методов установки ОС. Включает параметр ProvisioningMethod

postInstallTemplates

Нет

Список шаблонов скриптов пост-установки. Включает параметр TemplatePreview

autoinstallTemplate

Да

Предпросмотр шаблона. Включает параметр TemplatePreview

createdAt

Да

string($date-time)

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

2024-03-18T14:53:08.865312Z

createdBy

Да

string

Пользователь, создавший создавший профиль установки

vivanov@domain.local

updatedAt

Нет

string($date-time)

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

2024-03-18T14:53:08.865312Z

updatedBy

Нет

string

Пользователь, совершивший последнее изменение профиля установки

vivanov@domain.local

InstallationProfileSearchRequest

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

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

name

Нет

string

Наименование профиля установки (мин. длина: 3; макс. длина: 255)

installationProfileNameExample

installationDistroIds

Нет

string($uuid)

Список идентификаторов установочных дистрибутивов

provisioningMethodIds

Нет

string

Список идентификаторов методов установки ОС (мин. длина: 1)

pxe

InstallationProfileUpdateRequest

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

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

name

Да

string

Наименование профиля установки (мин. длина: 1)

Installation profile name example

description

Нет

string

Описание профиля установки, комментарии

Description or commentary

installationDistroId

Да

string($uuid)

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

kernelOptions

Нет

string

Список дополнительных опций, с которыми будет запускаться ядро из установочного дистрибутива (мин. длина: 1)

netcfg/choose_interface=auto

provisioningMethodIds

Да

string

Список поддерживаемых методов установки ОС (мин. длина: 1)

pxe

postInstallTemplateIds

Нет

string($uuid)

Список идентификаторов шаблонов скриптов пост-установки

bbd48136-54ad-469b-9409-e2276ab2a7ee

autoinstallTemplateId

Да

string($uuid)

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

2806b75f-1b46-4529-b978-84c713b09dbf

InstallationRecipeCreateRequest

Параметры для создания способа развертывания.

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

name

Да

string

Наименование способа развертывания (мин. длина: 1)

Пример имени развёртывания

description

Нет

string

Описание способа развертывания, комментарии

Пример комментария к развёртыванию

installationProfileId

Да

string($uuid)

Идентификатор профиля установки, который используется при установке ОС на устройства

e120fe40-1102-4e4d-9fd2-b587139946f5

provisioningMethodId

Да

string

Идентификатор метода установки, по которому производится установка ОС на устройства (мин. длина: 1)

e120fe40-1102-4e4d-9fd2-b587139946f5

configurationId

Нет

integer($int64)

Идентификатор конфигурации, на которую производится установка ОС

101

configurationVersionId

Нет

integer($int64)

Версия конфигурации, на которую производится установка ОС

102

deploymentModeId

Да

string

Идентификатор режима развертывания ОС (мин. длина: 1)

installation

rootHashPassword

Нет

string

Хеш пароля суперпользователя (мин. длина: 1)

8743b52063cd84097a65d1633f5c74f5

hashAlgorithm

Нет

string

Поддерживаемые алгоритмы хеширования (MD5, SHA512). Включает параметр: HashAlgorithm

MD5

isCreateUser

Нет

boolean

Признак необходимости создания локального пользователя

false

userAccount

Нет

Данные локального пользователя. Включает параметр: UserAccount

domainName

Нет

string

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

inno.local

InstallationRecipePagedResponse

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

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

installationProfiles

Да

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

meta

Да

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

InstallationRecipePreview

Предпросмотр способа развертывания.

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

installationRecipeId

Да

string($uuid)

Уникальный внутренний идентификатор способа развертывания

a7e0ab48-f954-48c9-89bb-7f343ccb60e2

name

Да

string

Наименование способа развертывания

План развертывания Astra

InstallationRecipeResponse

Атрибуты способа развертывания.

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

installationRecipeId

Да

string($uuid)

Уникальный внутренний идентификатор способа развертывания

a550fe40-1102-4e4d-9fd2-b587131246f5

name

Да

string

Наименование способа развертывания

Пример имени развёртывания

description

Нет

string

Описание способа развертывания, комментарии

Installation recipe description

installationProfile

Да

Предпросмотр профиля установки. Включает параметр InstallationProfilePreview

provisioningMethodIds

Да

Список поддерживаемых методов установки ОС. Включает параметр ProvisioningMethod

configurationId

Нет

integer($int64)

Идентификатор конфигурации, на которую производится установка ОС

101

configurationVersionId

Нет

integer($int64)

Версия конфигурации, на которую производится установка ОС

102

deploymentModeId

Да

string

Режим развертывания ОС, например, установка с нуля или переустановка. Включает параметр: DeploymentMode

installation

rootHashPassword

Нет

string

Хеш пароля суперпользователя

8743b52063cd84097a65d1633f5c74f5

hashAlgorithm

Нет

string

Поддерживаемые алгоритмы хеширования (MD5, SHA512). Включает параметр: HashAlgorithm

MD5

isCreateUser

Нет

boolean

Признак необходимости создания локального пользователя

false

userAccount

Нет

Данные локального пользователя. Включает параметр: UserAccount

domainName

Нет

string

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

inno.local

createdAt

Да

string($date-time)

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

2024-03-18T14:53:08.865312Z

createdBy

Да

string

Пользователь, создавший план развертывания

vivanov@domain.local

updatedAt

Нет

string($date-time)

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

2024-03-18T14:53:08.865312Z

updatedBy

Нет

string

Пользователь, совершивший последнее изменение способа развертывания

vivanov@domain.local

InstallationRecipeSearchRequest

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

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

name

Нет

string

Наименование способа развертывания, контекстный поиск (мин. длина: 3; макс. длина: 255)

installationRecipeNameExample

installationProfileIds

Нет

string($uuid)

Список идентификаторов профилей установки

018fc943-f767-76aa-a340-2e7015bd90e3

provisioningMethodIds

Нет

string

Список идентификаторов методов установки ОС (мин. длина: 1)

bootdisknetinst

deploymentModeIds

Нет

string

Список идентификаторов режимов развертывания ОС (мин. длина: 1)

installation

configurationIds

Нет

integer($int64)

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

101

InstallationRecipeUpdateRequest

Параметры для изменения способа развертывания.

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

name

Да

string

Наименование способа развертывания (мин. длина: 1)

Пример имени развёртывания

description

Нет

string

Описание способа развертывания, комментарии

Пример комментария к развёртыванию

installationProfileId

Да

string($uuid)

Идентификатор профиля установки, который будет использоваться при установке ОС на устройства

e120fe40-1102-4e4d-9fd2-b587139946f5

provisioningMethodId

Да

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

bootdisknetinst

configurationId

Нет

integer($int64)

Идентификатор конфигурации, на которую производится установка ОС

101

configurationVersionId

Нет

integer($int64)

Версия конфигурации, на которую производится установка ОС

102

deploymentModeId

Да

string

Режим развертывания ОС, например, установка с нуля или переустановка

installation

rootHashPassword

Нет

string

Хеш пароля суперпользователя

8743b52063cd84097a65d1633f5c74f5

hashAlgorithm

Нет

string

Поддерживаемые алгоритмы хеширования (MD5, SHA512). Включает параметр: HashAlgorithm

MD5

isCreateUser

Нет

boolean

Признак необходимости создания локального пользователя

false

userAccount

Нет

Данные локального пользователя. Включает параметр: UserAccount

domainName

Нет

string

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

inno.local

OsFamily

Семейство ОС.

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

osFamilyId

Да

string

Уникальный внутренний идентификатор семейства ОС

redhat

name

Да

string

Наименование семейства ОС

Red Hat

PermissionAction

Действие над объектом.

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

code

Да

string

Код действия, уникальный в рамках одного объекта (мин. длина: 3; макс. длина: 256)

view

allowed

Да

boolean

Признак разрешения действия для данной роли

RolePermission

Разрешение роли.

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

code

Да

string

Уникальный код объекта

configurations

actions

Да

Разрешение роли. Включает параметр PermissionAction

ProvisioningMethod

Метод установки ОС, определяющий, каким образом будет производиться установка, например, полностью по сети с использованием технологии PXE или с автономного носителя.

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

provisioningMethodId

Да

string

Уникальный внутренний идентификатор метода установки

bootdisknetinst

name

Да

string

Наименование метода установки

Boot disk and network

TemplateCategory

Категория шаблона.

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

templateCategoryId

Да

string

Уникальный внутренний идентификатор категории шаблона

autoinstall

name

Да

string

Наименование категории шаблона

Файл ответов

TemplateCreateRequest

Параметры для создания шаблона.

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

name

Да

string

Наименование шаблона (мин. длина: 1)

debian-bookworm-x86-84 preseed file

templateSlug

Да

string

Уникальное системное наименование шаблона (мин. длина: 1; шаблон: ^[A-Za-z-_0-9]*$)

TEMPLATE-unique_name1

description

Нет

string

Описание шаблона, комментарии

Description or commentary

osFamilyId

Нет

string

Идентификатор семейства ОС, к которому применим создаваемый шаблон (мин. длина: 1)

debian

templateCategoryId

Да

string

Идентификатор категории шаблона (мин. длина: 1)

autoinstall

bootloaderId

Нет

string

Идентификатор программы-загрузчика (мин. длина: 1)

ipxe

template

Да

string

Содержимое шаблона (мин. длина: 1)

# Preseeding only locale sets language, country and locale. d-i debian-installer/locale string ru_RU

TemplatePagedResponse

Список шаблонов с метаданными постраничного вывода.

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

templates

Да

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

meta

Да

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

TemplatePreview

Предпросмотр шаблона.

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

templateId

Да

string($uuid)

Уникальный внутренний идентификатор шаблона

a480re55-9988-7a7d-9fd2-b587139946f5

templateCategory

Да

Категория шаблона. Включает параметр TemplateCategory

name

Да

string

Наименование шаблона

Template name

TemplateResponse

Атрибуты шаблона.

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

templateId

Да

string($uuid)

Уникальный внутренний идентификатор шаблона

e750fe40-5902-4e4d-9fd2-b587139946f5

name

Да

string

Наименование шаблона

debian-bookworm-x86-84 preseed file

templateSlug

Да

string

Уникальное системное наименование шаблона

TEMPLATE-unique_name1

description

Нет

string

Описание шаблона, комментарии

Description or commentary

osFamilyId

Нет

Семейство ОС. Включает параметр OsFamily

bootloader

Нет

Загрузчик. Включает параметр Bootloader

templateCategory

Да

Категория шаблона. Включает параметр TemplateCategory

template

Да

string

Содержимое шаблона

# Preseeding only locale sets language, country and locale. d-i debian-installer/locale string ru_RU

createdAt

Да

string($date-time)

Дата и время создания шаблона

2024-03-18T14:53:08.865312Z

createdBy

Да

string

Пользователь, создавший шаблон

vivanov@domain.local

updatedAt

Нет

string($date-time)

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

2024-03-18T14:53:08.865312Z

updatedBy

Нет

string

Пользователь, совершивший последнее изменение шаблона

vivanov@domain.local

TemplatesSearchRequest

Параметры для поиска шаблона.

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

name

Нет

string

Наименование шаблона (мин. длина: 3; макс. длина: 255)

preseed

osFamilyIds

Нет

string($uuid)

Список идентификаторов семейств ОС (мин. длина: 1)

debian

bootloaderIds

Нет

string

Список идентификаторов программ-загрузчиков (мин. длина: 1)

ipxe

templateCategoryIds

Нет

string

Список идентификаторов категорий шаблонов (мин. длина: 1)

autoinstall

TemplateUpdateRequest

Параметры для изменения шаблона.

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

name

Да

string

Наименование шаблона (мин. длина: 1)

debian-bookworm-x86-84 preseed file

templateSlug

Да

string

Уникальное системное наименование шаблона (мин. длина: 1; шаблон: ^[A-Za-z-_0-9]*$)

TEMPLATE-unique_name1

description

Нет

string

Описание шаблона, комментарии

Description or commentary

osFamilyId

Нет

string

Идентификатор семейства операционных систем, к которому применим создаваемый шаблон (мин. длина: 1)

debian

templateCategoryId

Да

string

Идентификатор категории шаблона (мин. длина: 1)

autoinstall

bootloaderId

Нет

string

Идентификатор программы-загрузчика (мин. длина: 1)

ipxe

template

Да

string

Содержимое шаблона (мин. длина: 1)

# Preseeding only locale sets language, country and locale. d-i debian-installer/locale string ru_RU

UserAccount

Данные локального пользователя.

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

userFullName

Да

string

Полное имя пользователя (мин. длина: 1)

Ivanov Ivan Ivanovich

userName

Да

string

Имя пользователя (мин. длина: 1)

Ivan

userHashPassword

Да

string

Хеш пароля пользователя (мин. длина: 1)

5f4dcc3b5aa765d61d8327deb882cf99

UserAllowedPermissionsResponse

Разрешенные назначения конкретного пользователя.

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

expiresIn

Да

integer

Время в секундах, через которое информация о назначениях становится неактуальной

60

permissions

Да

Разрешение роли. Включает параметр AllowedRolePermission

UserPermissionsResponse

Назначения пользователя.

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

expiresIn

Да

integer

Время в секундах, через которое информация о назначениях становится неактуальной

60

permissions

Да

Разрешение роли. Включает параметр RolePermission