map.create
Описание
object map.create(объект/массив maps)
Этот метод позволяет создавать новые карты.
Этот метод доступен пользователям любого типа. Разрешения на вызов метода можно отозвать в настройках ролей пользователя. Дополнительную информацию см. в разделе Роли пользователей.
Параметры
(object/array) Карты для создания.
В дополнение к стандартным свойствам карты, метод принимает следующие параметры.
| Параметр | Type | Описание |
|---|---|---|
| links | array | Связи карты, которые будут созданы на карте. |
| selements | array | Элементы карты, которые будут созданы на карте. |
| urls | array | URL карты, которые будут созданы на карте. |
| users | array | Общие доступы пользователя карты, которые будут созданы на карте. |
| userGroups | array | Общие доступы группы пользователей карты, которые будут созданы на карте. |
| shapes | array | Фигуры карты, которые будут созданы на карте. |
| lines | array | Линии карты, которые будут созданы на карте. |
Чтобы создать связи карты, необходимо задать элементу карты
selementid произвольное значение, а затем использовать это значение для ссылки
на этот элемент в свойствах связи selementid1 или selementid2.
Когда элемент будет создан, это значение будет заменено на
корректный ID, сгенерированный Zabbix. См.
пример.
Возвращаемые значения
(object) Возвращает объект, содержащий идентификаторы созданных карт
в свойстве sysmapids. Порядок возвращаемых идентификаторов соответствует
порядку переданных карт.
Примеры
Создание пустой карты
Создайте карту без элементов.
{
"jsonrpc": "2.0",
"method": "map.create",
"params": {
"name": "Map",
"width": 600,
"height": 600
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": {
"sysmapids": [
"8"
]
},
"id": 1
}
Создание карты узлов сети
Создайте карту с двумя элементами узлов сети и связью между ними. Обратите внимание на использование временных значений "selementid1" и "selementid2" в объекте ссылки карты для указания на элементы карты.
{
"jsonrpc": "2.0",
"method": "map.create",
"params": {
"name": "Host map",
"width": 600,
"height": 600,
"selements": [
{
"selementid": "1",
"elements": [
{"hostid": "1033"}
],
"elementtype": 0,
"iconid_off": "2"
},
{
"selementid": "2",
"elements": [
{"hostid": "1037"}
],
"elementtype": 0,
"iconid_off": "2"
}
],
"links": [
{
"selementid1": "1",
"selementid2": "2"
}
]
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": {
"sysmapids": [
"9"
]
},
"id": 1
}
Создание карты триггеров
Создайте карту с элементом триггера, который содержит два триггера.
{
"jsonrpc": "2.0",
"method": "map.create",
"params": {
"name": "Trigger map",
"width": 600,
"height": 600,
"selements": [
{
"elements": [
{"triggerid": "12345"},
{"triggerid": "67890"}
],
"elementtype": 2,
"iconid_off": "2"
}
]
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": {
"sysmapids": [
"10"
]
},
"id": 1
}
Общий доступ к карте
Создайте карту с двумя типами общего доступа (пользователь и группа пользователей).
{
"jsonrpc": "2.0",
"method": "map.create",
"params": {
"name": "Map sharing",
"width": 600,
"height": 600,
"users": [
{
"userid": "4",
"permission": "3"
}
],
"userGroups": [
{
"usrgrpid": "7",
"permission": "2"
}
]
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": {
"sysmapids": [
"9"
]
},
"id": 1
}
Фигуры карты
Создайте карту с заголовком, содержащим имя карты.
{
"jsonrpc": "2.0",
"method": "map.create",
"params": {
"name": "Host map",
"width": 600,
"height": 600,
"shapes": [
{
"type": 0,
"x": 0,
"y": 0,
"width": 600,
"height": 11,
"text": "{MAP.NAME}"
}
]
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": {
"sysmapids": [
"10"
]
},
"id": 1
}
Линии карты
Создайте линию карты.
{
"jsonrpc": "2.0",
"method": "map.create",
"params": {
"name": "Map API lines",
"width": 500,
"height": 500,
"lines": [
{
"x1": 30,
"y1": 10,
"x2": 100,
"y2": 50,
"line_type": 1,
"line_width": 10,
"line_color": "009900"
}
]
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": {
"sysmapids": [
"11"
]
},
"id": 1
}
См. также
- Элемент карты
- Ссылка карты
- URL карты
- Пользователь карты
- Группа пользователей карты
- Фигура карты
- Линия карты
Источник
CMap::create() в ui/include/classes/api/services/CMap.php.