Приложение с примерами моделей объектов РСМ
Модели объектов РСМ
Модель стадии жизненного цикла КЕ
{
    "id": 0,
    "name": "Name",
    "description": "Description",
    "category": "Category",
    "userspaceId": 0
}
Модель типа КЕ
{
  "id": 0,
  "name": "Name",
  "description": "Description"
}
Модель рабочей группы
{
  "id": 0,
  "name": "Name"
}
Модель КЕ
{
  "id": 0,
  "name": "Name",
  "description": "Description",
  "parent": {
    "id": 0
    "name": "Name"
  },
  "ownerWorkGroup": {
    "id": 0,
    "name": "Name"
  },
  "configItemType": {
    "id": 0,
    "name": "Name",
    "description": "Description",
  },
  "labels": {
    "label_a_name": "label_value",
    "label_b_name": ["label_value_1", "label_value_2"],
    "label_c_name": null
  },
  "entityInfo": {
    "createdAt": "0000-00-00T00:00:00.000Z",
    "createdBy": 0,
    "createdByName": "Name",
    "updatedAt": "0000-00-00T00:00:00.000Z",
    "updatedBy": 0,
    "updatedByName": "Name",
  },
  "state": {
    "value": "Unknown",
    "valueUnderMaintenance": "Unknown",
    "Timestamp": "0000-00-00T00:00:00.000Z"
  },
  "healthStatus": {
    "value": 0,
    "timestamp": "0000-00-00T00:00:00.000Z",
    "calculation": {
      "resultBy": "Direct",
      "direct": 0,
      "weight": 0
    }
  },
  "healthInfluence": {
    "value": 0,
    "maxInfluence": false
  },
  "incomingEdges": [{
    "type": "Hierarchy",
    "configItem": {
      "id": 0,
      "name": "Name"
    }
  }],
  "outgoingEdges": [{
    "type": "Hierarchy",
    "configItem": {
      "id": 0,
      "name": "Name"
    }
  }],
  "sharedToWorkGroups": [{
    "workGroupId": 0,
    "shareType": "ConfigItem",
    "grants": ["read"]
  }],
  "stage": {
        "id": 0,
        "name": "Name",
        "description": "Description",
        "category": "Category",
        "userspaceId": 0
  }
}
Поля модели КЕ
| Название поля | Тип поля | Описание поля | 
|---|---|---|
id | number | Идентификатор КЕ | 
name | string | Наименование КЕ | 
description | string | Описание КЕ | 
parent | object / null | Родительская КЕ. null, если КЕ является корневой | 
ownerWorkGroup | object | Рабочая группа-владелец КЕ | 
configItemType | object | Тип КЕ | 
labels | object / null | Словарь меток КЕ | 
entityInfo | object | Мета-информация по сущности | 
state | object / null | Текущий статус КЕ. Выводится при наличии значения | 
healthStatus | object / null | Рассчитанное здоровье. Выводится при наличии значения | 
healthInfluence | object / null | Информация о влиянии на здоровье КЕ. Выводится при наличии значения | 
cmdbSystem | object / null | Модель внешней CMDB системы, на базе которой создана КЕ. Выводится при наличии значения | 
incomingEdges | object[] | Входящие связи с другими КЕ | 
outgoingEdges | object[] | Исходящие связи с другими КЕ | 
sharedToWorkGroups | object[] | Список моделей предоставления прав для конкретных рабочих групп | 
stage | object | Стадия жизненного цикла КЕ | 
Расширенная модель КЕ
{
  "id": 0,
  "name": "string",
  "description": "string",
  "createdAt": "2023-10-24T06:48:28.043Z",
  "configItemType": {
    "id": 0,
    "name": "string",
    "description": "string"
  },
  "stage": {
    "id": 0,
    "name": "string",
    "description": "string",
    "category": "Created",
    "userspaceId": 0
  },
  "labels": {
    "label_a_name": "label_value",
    "label_b_name": ["label_value_1", "label_value_2"],
    "label_c_name": null
  },
  "attributes": {
    "attribute_a_name": "attribute_value",
    "attribute_b_name": [1, 2],
    "attribute_c_name": null
  },
  "ownerWorkGroup": {
    "id": 0,
    "name": "string"
  },
  "sharedToWorkGroups": [
    {
      "id": 0,
      "workGroup": {
        "id": 0,
        "name": "string"
      },
      "shareType": "ConfigItem",
      "grants": [
        "string"
      ],
      "treeSharedBy": {
        "id": 0,
        "name": "string",
        "labels": {
          "label_a_name": "label_value",
          "label_b_name": ["label_value_1", "label_value_2"],
          "label_c_name": null
        }
      },
      "isSharedToAll": true
    }
  ],
  "parent": {
    "id": 0,
    "name": "string",
    "configItemType": {
      "id": 0,
      "name": "string",
      "description": "string"
    }
  },
  "dependents": [
    {
      "id": 0,
      "name": "string",
      "configItemType": {
        "id": 0,
        "name": "string",
        "description": "string"
      }
    }
  ],
  "influentials": [
    {
      "id": 0,
      "name": "string",
      "configItemType": {
        "id": 0,
        "name": "string",
        "description": "string"
      }
    }
  ],
  "children": [
    {
      "id": 0,
      "name": "string",
      "configItemType": {
        "id": 0,
        "name": "string",
        "description": "string"
      }
    }
  ],
  "state": {
    "value": "Unknown",
    "valueUnderMaintenance": "Unknown",
    "timestamp": "2023-10-24T06:48:28.043Z"
  },
  "healthStatus": {
    "value": 0,
    "timestamp": "2023-10-24T06:48:28.043Z",
    "calculation": {
      "resultBy": "Direct",
      "direct": 0,
      "weight": 0
    }
  },
  "coverage": 0
}
Поля расширенной модели КЕ
| Название поля | Тип поля | Описание поля | 
|---|---|---|
id | number | Идентификатор КЕ | 
name | string | Наименование КЕ | 
description | string | Описание КЕ | 
createdAt | date | Дата создания КЕ | 
configItemType | object | Тип КЕ | 
stage | object | Стадия жизненного цикла КЕ | 
labels | object / null | Словарь меток КЕ | 
attributes | object | Атрибуты КЕ | 
ownerWorkGroup | object | Рабочая группа-владелец КЕ | 
sharedToWorkGroups | object[] | Список моделей предоставления прав для конкретных рабочих групп | 
parent | object / null | Родительская КЕ. null, если КЕ является корневой | 
dependents | object[]/ null | Зависимые КЕ | 
influentials | object[]/ null | Влияющие КЕ | 
children | object[]/ null | Подчиненные КЕ | 
state | object | Текущий статус КЕ. Выводится при наличии значения | 
healthStatus | object | Рассчитанное здоровье. Выводится при наличии значения | 
coverage | double | Текущее значение покрытия мониторингом | 
Тип предоставления прав
| Тип | Описание | 
|---|---|
ConfigItem | Предоставить права доступа только для КЕ | 
Tree | Предоставить права доступа для КЕ и подчинённого ей дерева | 
ChildrenTree | Предоставить права доступа только для подчинённого данной КЕ дерева | 
Предоставляемые рабочим группам права
| Право | Описание | 
|---|---|
read | Право на полное чтение КЕ | 
write | Право на управление КЕ | 
Модель фильтра атрибутов по паре ключ-значение
{
    "key": "key1",
    "values": [1, "string", { "prop": "value" }]
}
Поля модели фильтра атрибутов по паре ключ-значение
| Название поля | Тип поля | Описание поля | 
|---|---|---|
key | string | Ключ атрибута | 
values | object[] | Список вхождений в значение атрибута, объединяемых логическим ИЛИ | 
Модель атрибута КЕ
{
    "id": 0,
    "sourceType": "ConfigItem",
    "sourceId": 0,
    "key": "key1",
    "value": {
        "prop1": "value1",
        "prop2": "value2"
    },
    "isArray": false,
    "structFullName": "System.String"
}
Поля модели атрибута КЕ
| Название поля | Тип поля | Описание поля | 
|---|---|---|
id | number | Идентификатор атрибута | 
sourceType | string | Тип источника атрибута (КЕ, тип КЕ, пространство, система) | 
sourceId | number | Идентификатор источника атрибута | 
key | string | Ключ атрибута | 
value | object / null | Значение атрибута | 
isArray | boolean | Является ли значение массивом | 
structFullName | string | Полное имя структуры | 
Модель связей между КЕ
[
  {
    "id": 0,
    "sourceId": 0,
    "targetId": 0,
    "labels": {
      "label_a_name": "label_value",
      "label_b_name": ["label_value_1", "label_value_2"],
      "label_c_name": null
    },
    "health": {
      "type": "Direct",
      "weight": 0,
      "threshold": 0
    },
    "component": {
      "id": 0,
      "name": "string"
    }
  }
]
Поля списочной модели связи между КЕ
| Название поля | Тип поля | Описание поля | 
|---|---|---|
id | number | Идентификатор атрибута | 
type | string | Тип связи | 
sourceId | number | Идентификатор исходной КЕ | 
targetId | number | Идентификатор целевой КЕ | 
Модель связи влияния между КЕ
{
  "id": 0,
  "sourceId": 0,
  "targetId": 1,
  "labels": {
    "label_a_name": "label_value",
    "label_b_name": ["label_value_1", "label_value_2"],
    "label_c_name": null
  },
  "health": {
    "type": "Direct",
    "weight": 100,
    "threshold": 100
  },
  "component": {
    "id": 75,
    "name": "Component_02"
  }
}
Поля модели связи влияния между КЕ
| Название поля | Тип поля | Описание поля | 
|---|---|---|
id | number | Идентификатор атрибута | 
type | string | Тип связи | 
sourceId | number | Идентификатор исходной КЕ | 
targetId | number | Идентификатор целевой КЕ | 
labels | object | Метки связи | 
health | object | Настройки влияния на здоровье КЕ | 
component | object | Сокращенная модель компонента целевой КЕ | 
Модель настроек влияния на здоровье
  "type": "Direct",
  "weight": 100,
  "threshold": 100
Поля модели настроек влияния на здоровье
| Название поля | Тип поля | Описание поля | 
|---|---|---|
type | string | Тип влияния на здоровье: Direct (прямое)/ Weight (весовое) | 
weight | number | Вес (от 0 до 100) | 
threshold | number | Порог расчёта по критическому фактору | 
Модель компонента КЕ
{
  "id": 0,
  "name": "name",
  "isDefault": false,
  "signalHealth": {},
  "edgeHealth": {},
  "configItemHealth": {},
  "comboHealth": {},
  "configItemId": 0
}
Поля модели компонента КЕ
| Название поля | Тип поля | Описание поля | 
|---|---|---|
id | number | Идентификатор атрибута | 
name | string | Тип связи | 
isDefault | boolean | Флаг компонента по умолчанию | 
signalHealth | object | Параметры для расчёта здоровья по сигналу | 
edgeHealth | object | Параметры расчёта здоровья по связи влияния | 
configItemHealth | object | Параметры расчёта здоровья на КЕ | 
comboHealth | object | Параметры расчёта здоровья через комбо-влияние | 
configItemId | number | Идентификатор КЕ | 
Типы связей КЕ
| Название | Описание | 
|---|---|
Hierarchy | Иерархическая связь (связь подчинения) | 
Influence | Связь влияния | 
Info | Информационная связь |