Служба управления конфигурациями "Осмакс"

Описание API

Версия 1.10.0

Содержание

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

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