map.create

Описание

объект map.create(объект/массив карты)

Этот метод позволяет создавать новые карты сетей.

Параметры

(объект/массив) Создаваемые карты сетей.

В дополнение к стандартным свойствам карты сети, этот метод принимает следующие параметры.

Параметр Тип Описание
links массив Создаваемые связи карты на карте сети.
selements массив Создаваемые элементы карты на карте сети.
urls массив Создаваемые URL'ы на карте сети.
users массив Пользователь карты, которому будет предоставлен общий доступ к карте сети.
userGroups массив Группа пользователей карты, которой будет предоставлен общий доступ к карте сети.
shapes массив Создаваемые фигуры карты на карте сети.
lines массив Создаваемые линии карты на карте сети.

Для создания связей на карте сети вам необходимо задать элементам карты произвольное значение selementid и затем использовать это значение для ссылки на этот элемент в свойствах связи selementid1 или selementid2. Когда элемент будет создан, это значение заменится корректным ID, который сгенерирует Zabbix. Смотрите пример.

Возвращаемые значения

(объект) Возвращает объект, который содержит ID созданных карт сетей под свойством sysmapids. Порядок возвращаемых ID совпадает с порядком переданных карт сетей.

Примеры

Создание пустой карты сети

Создание карты сети без элементов.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "map.create",
           "params": {
               "name": "Map",
               "width": 600,
               "height": 600
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "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"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "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"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "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"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "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}"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "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"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": {
               "sysmapids": [
                   "11"
               ]
           },
           "id": 1
       }

Смотрите также

Исходный код

CMap::create() в frontends/php/include/classes/api/services/CMap.php.