Перейти к основному содержимому
Версия: 8.4

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

Получение доступных типов КЕ

GET /api/public/sm/v2/rsm/config-item-types

Запрос возвращает список моделей типов КЕ.

Получение доступных рабочих групп

GET /api/public/sm/v2/rsm/work-groups

Запрос возвращает список моделей рабочих групп.

Получение всех доступных КЕ

GET /api/public/sm/v2/rsm/config-items?page=1&perPage=-1&search=sample&sortCol=id&sortDir=asc&skip=0

Запрос возвращает список моделей КЕ с минимальным набором атрибутов: идентификатор id и имя name.

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

Название параметраТип параметраОбязательный параметрЗначение по умолчаниюОписание параметра
pageintegerнетnullНомер страницы
perPageintegerнетnullКоличество записей на одну страницу. Если -1 - будут возвращены все КЕ
searchstringнетnullСтрока поиска
sortColstringнетnullНазвание поля, по которому выполняется сортировка
sortDirstringнетnullНаправление сортировки (asc/desc)
skipintegerнетnullКоличество записей, которое требуется пропустить

Получение КЕ по идентификатору

GET /api/public/sm/v2/rsm/config-items/{id}?includeState=false&includeHealth=false

Запрос возвращает модель КЕ, запрошенной по идентификатору.

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

Название параметраТип параметраОбязательный параметрЗначение по умолчаниюОписание параметра
idintegerданетИдентификатор КЕ
includeStatebooleanнетfalseВключить информацию по статусу КЕ
includeHealthbooleanнетfalseВключить информацию по здоровью КЕ

Коды ответов

Код ответаОписание
400Неправильный идентификатор КЕ
403У вас недостаточно прав для чтения КЕ
404КЕ с идентификатором {id} не найдена

Получение списка КЕ по фильтру

POST /api/public/sm/v2/rsm/config-items/filter?page=1&perPage=-1&search=sample&sortCol=id&sortDir=asc&skip=0

При успешном исполнении запроса возвращается список моделей КЕ, соответствующих условиям фильтра, с минимальным набором атрибутов: идентификатор id, имя name и словарь меток labels.

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

Название параметраТип параметраОбязательный параметрЗначение по умолчаниюОписание параметра
pageintegerнетnullНомер страницы
perPageintegerнетnullКоличество записей на одну страницу. Если -1 - будут возвращены все КЕ
searchstringнетnullСтрока поиска
sortColstringнетnullНазвание поля, по которому выполняется сортировка
sortDirstringнетnullНаправление сортировки (asc/desc)
skipintegerнетnullКоличество записей, которое требуется пропустить

Тело запроса

{
"ids": [1, 2, 3],
"names": ["Sample CI 1", "Sample CI 2"],
"labels": {
"single_label": "value",
"multi_label": ["value_a", "value_b"],
"label_with_any_value": null
},
"stageCategories": ["Active", "Archive"]

}

Поля тела запроса

Название поляТип поляОбязательное полеЗначение по умолчаниюОписание
idsinteger []нетnullСписок идентификаторов КЕ. Если null, то любые
namesstring []нетnullСписок названий КЕ. Если null, то любые
labelsobjectнетnullСловарь меток КЕ. Если null, то любые
stageCategoriesstring []нетnullСписок категорий стадии жизненного цикла. Если null, то любые
  • В искомых КЕ должны присутствовать все указанные метки. Если для метки указано одно или несколько значений, то в искомой КЕ должно присутствовать хотя бы одно из значений для данной метки. Если значение метки в фильтре null, фильтрация осуществляется только по названию метки.

  • Возможные значения категорий жизненного цикла КЕ stageCategories

    • Created - КЕ создана
    • Deleted - КЕ удалена
    • Active - Активная КЕ
    • Archive - Архивная КЕ

Получение списка КЕ по расширенному фильтру

POST /api/public/sm/v2/rsm/config-items/filter/extended?page=1&perPage=-1&search=sample&sortCol=id&sortDir=asc&skip=0&fieldMask=id,name

При успешном исполнении запроса возвращается список расширенной модели КЕ, соответствующих условиям фильтра.

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

Название параметраТип параметраОбязательный параметрЗначение по умолчаниюОписание параметра
pageintegerнетnullНомер страницы
perPageintegerнетnullКоличество записей на одну страницу. Если -1 - будут возвращены все КЕ
searchstringнетnullСтрока поиска
sortColstringнетnullНазвание поля, по которому выполняется сортировка
sortDirstringнетnullНаправление сортировки (asc/desc)
skipintegerнетnullКоличество записей, которое требуется пропустить
fieldMaskstring []нетnullМаска полей
  • Маска полей - представляет собой строку с названиями полей из расширенной модели КЕ, разделённые через запятую (например, id,name,ownerWorkGroup). В ответе на запрос будут указаны только поля, которые указаны в маске. По умолчанию возвращается только id. Данный параметр позволяет облегчить запрос к API путем указания только нужных полей в ответе.

Тело запроса

{
"ids": [1, 2, 3],
"names": ["Sample CI 1", "Sample CI 2"],
"typeIds": [1, 2, 3],
"stageCategories": ["Category1", "Category2"],
"labels": {
"single_label": "value",
"multi_label": ["value_a", "value_b"],
"label_with_any_value": null
},
"ownerWorkGroupIds": [1, 2, 3]
}

Поля тела запроса

Название поляТип поляОбязательное полеЗначение по умолчаниюОписание
idsinteger[]нетnullСписок идентификаторов КЕ. Если null, то любые
namesstring[]нетnullСписок названий КЕ. Если null, то любые
typeIdsinteger[]нетnullСписок идентификаторов типов КЕ. Если null, то любые
stageCategoriesstring[]нетnullСписок категорий стадии жизненного цикла. Если null, то любые
labelsobjectнетnullСловарь меток КЕ. Если null, то любые
attributesobjectнетnullАттрибуты КЕ
ownerWorkGroupIdsinteger[]нетnullСписок идентификаторов рабочих групп-владельцев. Если null, то любые
  • В искомых КЕ должны присутствовать все указанные метки. Если для метки указано одно или несколько значений, то в искомой КЕ должно присутствовать хотя бы одно из значений для данной метки. Если значение метки в фильтре null, фильтрация осуществляется только по названию метки.

  • Возможные значения категорий жизненного цикла КЕ stageCategories

    • "Created" - КЕ создана
    • "Deleted" - КЕ удалена
    • "Active" - Активная КЕ
    • "Archive" - Архивная КЕ

Получение списка КЕ по идентификаторам

GET /api/public/sm/v2/rsm/config-items/batch?includeState=false&includeHealth=false

При успешном исполнении запроса возвращается список моделей КЕ.

В случае возникновения ошибки при получении отдельной КЕ, модель этой КЕ будет отсутствовать в результирующем списке. Если возникли ошибки при получении всех КЕ, запрос вернет пустой список.

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

Название параметраТип параметраОбязательный параметрЗначение по умолчаниюОписание параметра
includeStatebooleanнетfalseВключить информацию по статусу КЕ
includeHealthbooleanнетfalseВключить информацию по здоровью КЕ

Тело запроса

[1,2,3]

Поля тела запроса

Название поляТип поляОбязательное полеЗначение по умолчаниюОписание
[]integer[]данетСписок идентификаторов КЕ

Коды ответов

Код ответаОписание
400Список идентификаторов КЕ пустой

Получение КЕ по уникальным ключам атрибутов

POST /api/public/sm/v2/rsm/config-items/attributes/unique-keys

При успешном исполнении запроса возвращается модель КЕ, полученной по уникальным ключам атрибутов.

Тело запроса


{
"configItemTypeId": 0,
"attributes": {
"prop1": "value1",
"prop2": "value2"
}
}

Поля тела запроса

Название поляТип поляОбязательное полеЗначение по умолчаниюОписание
configItemTypeIdintegerданетИдентификатор типа КЕ
attributesobjectданетКлючевые атрибуты КЕ

Коды ответов

Код ответаОписание
403Недостаточно прав для получения информации о КЕ
404КЕ не найдена

Создание КЕ

POST /api/public/sm/v2/rsm/config-items

Запрос возвращает модель созданной КЕ.

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

Название параметраТип параметраОбязательный параметрЗначение по умолчаниюОписание
makeNameUniquebooleanнетfalseСоздать КЕ, если название уже занято
  • Параметр makeNameUnique:
    • true - Если в CMDB существует КЕ c указанным названием будет создана новая КЕ с добавлением индекса в название КЕ
    • false - Если в CMDB существует КЕ c указанным названием будет возвращена ошибка

Тело запроса

{
"name": "Name",
"description": "Description",
"parent": {
"id": 0
},
"configItemType": {
"id": 0
},
"ownerWorkGroup": {
"id": 0
},
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
},
"sharedToWorkGroups": [{
"workGroupId": 0,
"shareType": "ConfigItem",
"grants": ["read"]
}],
"attributes": []
}

Поля тела запроса

Название поляТип поляОбязательное полеЗначение по умолчаниюОписание поля
namestringданетНаименование КЕ
descriptionstringнетnullОписание КЕ
parent{ id: integer }нетnullИдентификатор родительской КЕ, с которой требуется установить связь при создании КЕ. Если указан null или 0, то КЕ будет создана как корневой элемент
configItemType{ id: integer }нетnullТип КЕ. Если null, то будет присвоен тип по умолчанию
ownerWorkGroup{ id: integer }нетnullРабочая группа-владелец КЕ. Если указан идентификатор родительской КЕ, то РГ-владелец будет установлен такой же, как и у этой КЕ
labelsobjectнетnullСловарь меток КЕ
sharedToWorkGroupsobject[]нетnullСписок моделей предоставления прав для конкретных рабочих групп
attributesobject[]нетnullСписок моделей атрибутов КЕ

Тип предоставляемых прав

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

Коды ответов

Код ответаОписание
201КЕ успешно создана
400Пустое тело запроса
400Неверная модель данных в теле запроса
400Требуется указать наименование КЕ
400Требуется указать рабочую группу-владельца КЕ
400Недопустимое значение идентификатора КЕ
400Недопустимое значение идентификатора рабочей группы
400КЕ с идентификатором {id} уже в CMDB
400Родительская КЕ с идентификатором {id} не существует в CMDB
400КЕ с именем {name} уже существует для типа {typeName}
400Тип КЕ с идентификатором {id} не найден в пространстве пользователя
400Указанный набор прав не соответствует ни одному из существующих прав. Доступ к КЕ не передан другим рабочим группам
403Недостаточно прав для добавления КЕ в РГ
404Рабочая группа с идентификатором {id} не найдена

Возможна ситуация, при которой КЕ может быть успешно создана, однако если в запросе было так же указано предоставление доступа к КЕ другим РГ с некорректными правами, то доступ к КЕ не буден предоставлен другим РГ. Будет получено сообщение: "Указанный набор прав не соответствует ни одному из существующих прав. Доступ к КЕ не передан другим рабочим группам."

Пакетное создание нескольких КЕ

POST /api/public/sm/v2/rsm/config-items/batch?makeNamesUnique=false

Запрос возвращает список моделей созданных КЕ.

В случае возникновения ошибки при создании отдельной КЕ, модель этой КЕ будет отсутствовать в результирующем списке.

Если возникли ошибки при создании всех КЕ, запрос вернет пустой список.

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

Название параметраТип параметраОбязательный параметрЗначение по умолчаниюОписание
makeNameUniquebooleanнетfalseСоздать КЕ, если название уже занято
  • Параметр makeNameUnique:
    • true - Если в CMDB существует КЕ c указанным названием будет создана новая КЕ с добавлением индекса в название КЕ
    • false - Если в CMDB существует КЕ c указанным названием будет возвращена ошибка

Тело запроса

[{
"name": "Name",
"description": "Description",
"parent": {
"id": 0
},
"configItemType": {
"id": 0
},
"ownerWorkGroup": {
"id": 0
},
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
},
"sharedToWorkGroups": [{
"workGroupId": 0,
"shareType": "ConfigItem",
"grants": ["read"]
}],
"attributes": []
}]

Поля тела запроса

Название поляТип поляОбязательное полеЗначение по умолчаниюОписание поля
namestringданетНаименование КЕ
descriptionstringнетnullОписание КЕ
parent{ id: integer }нетnullИдентификатор родительской КЕ, с которой требуется установить связь при создании КЕ. Если указан null или 0, то КЕ будет создана как корневой элемент
configItemType{ id: integer }нетnullТип КЕ. Если null, то будет присвоен тип по умолчанию
ownerWorkGroup{ id: integer }нетnullРабочая группа-владелец КЕ. Если указан идентификатор родительской КЕ, то РГ-владелец будет установлен такой же, как и у этой КЕ
labelsobjectнетnullСловарь меток КЕ
sharedToWorkGroupsobject[]нетnullСписок моделей предоставления прав для конкретных рабочих групп
attributesobject[]нетnullСписок моделей атрибутов КЕ

Тип предоставляемых прав

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

Коды ответов

Код ответаОписание
201КЕ успешно создана
400Пустое тело запроса
400Неверная модель данных в теле запроса
400Требуется указать наименование КЕ
400Требуется указать рабочую группу-владельца КЕ
400Недопустимое значение идентификатора КЕ
400Недопустимое значение идентификатора рабочей группы
400КЕ с идентификатором {id} уже в CMDB
400Родительская КЕ с идентификатором {id} не существует в CMDB
400КЕ с именем {name} уже существует для типа {typeName}
400Тип КЕ с идентификатором {id} не найден в пространстве пользователя
400Указанный набор прав не соответствует ни одному из существующих прав. Доступ к КЕ не передан другим рабочим группам
403Недостаточно прав для добавления КЕ в РГ
404Рабочая группа с идентификатором {id} не найдена

Возможна ситуация, при которой КЕ может быть успешно создана, однако если в запросе было так же указано предоставление доступа к КЕ другим РГ с некорректными правами, то доступ к КЕ не буден предоставлен другим РГ. Будет получено сообщение: "Указанный набор прав не соответствует ни одному из существующих прав. Доступ к КЕ не передан другим рабочим группам."

Удаление КЕ

DELETE /api/public/sm/v2/rsm/config-items/{id}?applyGrants=false

При успешном исполнении запроса возвращается пустой ответ.

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

Название параметраТип параметраОбязательный параметрЗначение по умолчаниюОписание параметра
idintegerданетИдентификатор удаляемой КЕ
applyGrantsbooleanнетfalseЕсли задано true – применить настройки доступа к подчинённым КЕ. По умолчанию – false

Коды ответов

Код ответаОписание
204КЕ успешно удалена
400Недопустимое значение идентификатора КЕ
403Недостаточно прав для удаления КЕ
404КЕ с идентификатором {id} не найдена

Массовое удаление КЕ

DELETE /api/public/sm/v2/rsm/config-items/batch?applyGrants=false

При успешном исполнении запроса возвращается пустой ответ.

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

Название параметраТип параметраОбязательный параметрЗначение по умолчаниюОписание параметра
applyGrantsbooleanнетfalseЕсли задано true – применить настройки доступа к подчинённым КЕ. По умолчанию – false

Тело запроса

[1, 2, 3]

Поля тела запроса

Название поляТип поляОбязательное полеЗначение по умолчаниюОписание
[]integer[]данетСписок идентификаторов КЕ, которые требуется удалить

Коды ответов

Код ответаОписание
204КЕ успешно удалена
400Недопустимое значение идентификатора КЕ
403Недостаточно прав для удаления КЕ
404КЕ с идентификатором {id} не найдена

Изменение основной информации КЕ

PUT /api/public/sm/v2/rsm/config-items/{id}?makeNameUnique=false

Запрос возвращает модель обновлённой КЕ.

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

Название параметраТип параметраОбязательный параметрЗначение по умолчаниюОписание
idintegerданетИдентификатор обновляемой КЕ
makeNameUniquebooleanнетfalseСоздать КЕ, если название уже занято
  • Параметр makeNameUnique:
    • true - Если в CMDB существует КЕ c указанным названием будет создана новая КЕ с добавлением индекса в название КЕ
    • false - Если в CMDB существует КЕ c указанным названием будет возвращена ошибка

Тело запроса

{
"name": "Name",
"description": "Description",
"configItemType": {
"id": 0
},
"ownerWorkGroup": {
"id": 0
},
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
}
}

Поля тела запроса

Название поляТип поляОбязательное полеЗначение по умолчаниюОписание поля
namestringданетНаименование КЕ
descriptionstringнетnullОписание КЕ
configItemType{ id: integer }нетnullТип КЕ. Если null, то будет присвоен тип по умолчанию
ownerWorkGroup{ id: integer }нетnullРабочая группа-владелец КЕ. Если указан идентификатор родительской КЕ, то РГ-владелец будет установлен такой же, как и у этой КЕ
labelsobjectнетnullСловарь меток КЕ

Коды ответов

Код ответаОписание
400Требуется указать наименование КЕ
400Требуется указать рабочую группу-владельца КЕ
400Недопустимое значение идентификатора КЕ
400Недопустимое значение идентификатора рабочей группы
400КЕ с именем {name} уже существует для типа {typeName}
400Тип КЕ с идентификатором {id} не найден в пространстве пользователя
403Недостаточно прав для обновления КЕ
404КЕ с идентификатором {id} не найдена
404Рабочая группа с идентификатором {id} не найдена

Изменение основной части информации нескольких КЕ

PATCH /api/public/sm/v2/rsm/config-items/batch?makeNamesUnique=false

Запрос возвращает список моделей обновлённых КЕ.

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

Название параметраТип параметраОбязательный параметрЗначение по умолчаниюОписание
makeNameUniquebooleanнетfalseИзменить название КЕ, если оно уже занято
  • Параметр makeNameUnique:
    • true - Если в CMDB существует КЕ c указанным названием КЕ будет переименована с добавлением индекса в название КЕ
    • false - Если в CMDB существует КЕ c указанным названием будет возвращена ошибка

Тело запроса

[{
"id": 0,
"name": "Name",
"configItemType": {
"id": 0
},
"labels": {
"label_a_name": "label_value",
"label_b_name": ["label_value_1", "label_value_2"],
"label_c_name": null
}
}]

Поля тела запроса

Название поляТип поляОбязательное полеЗначение по умолчаниюОписание поля
idintegerданетИдентификатор КЕ
namestringнетnullНаименование КЕ. Если null, то изменений не последует
configItemType{ id: integer }нетnullТип КЕ. Если null, то изменений не последует
labelsobjectнетnullСловарь меток КЕ. Если null, то изменений не последует

Коды ответов

Код ответаОписание
400Требуется указать наименование КЕ
400Недопустимое значение идентификатора КЕ
400Недопустимое значение идентификатора рабочей группы
400КЕ с именем {name} уже существует для типа {typeName}
400Тип КЕ с идентификатором {id} не найден в пространстве пользователя
403Недостаточно прав для обновления КЕ
404КЕ с идентификатором {id} не найдена
404Рабочая группа с идентификатором {id} не найдена