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

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

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

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

Запрос возвращает список моделей КЕ с минимальным набором атрибутов: идентификатор 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}

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

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

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

Коды ответов​

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

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

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

При успешном исполнении запроса возвращается список моделей КЕ, соответствующих условиям фильтра, с минимальным набором атрибутов: идентификатор 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

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

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

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

Тело запроса​

{
"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, то любые

Дополнительная информация​

  • Пример запроса: POST /api/public/sm/v2/rsm/config-items/filter/extended?perPage=-1&fieldMask=id,name&search=VM_

  • fieldMask (маска полей) - представляет собой строку с названиями полей из расширенной модели КЕ, разделенные запятой (например, id,name,ownerWorkGroup). В ответе на запрос будут возвращены только поля, которые указаны в маске. Если fieldMask не задан возвращается все поля. Данный параметр позволяет облегчить запрос к API путем указания только нужных полей в ответе.

  • labels (метки) - в искомых КЕ должны присутствовать все указанные метки. Если для метки указано одно или несколько значений, то в искомой КЕ должно присутствовать хотя бы одно из значений для данной метки. Если значение метки в фильтре null, фильтрация осуществляется только по названию метки.

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

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

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

GET /api/public/sm/v2/rsm/config-items/batch

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

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

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

Название параметраТип параметраОбязательный параметрЗначение по умолчаниюОписание параметра
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

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

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

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

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

Название параметраТип параметраОбязательный параметрЗначение по умолчаниюОписание
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}

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

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

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

Коды ответов​

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

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

DELETE /api/public/sm/v2/rsm/config-items/batch

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

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

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

Тело запроса​

[1, 2, 3]

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

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

Коды ответов​

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

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

PUT /api/public/sm/v2/rsm/config-items/{id}

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

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

Название параметраТип параметраОбязательный параметрЗначение по умолчаниюОписание
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

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

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

Название параметраТип параметраОбязательный параметрЗначение по умолчаниюОписание
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} не найдена