map.create

Описание

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

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

Этот метод доступен пользователям любого типа. Разрешения на вызов метода можно отозвать в настройках ролей пользователя. Дополнительную информацию см. в разделе Роли пользователей.

Параметры

(object/array) Карты для создания.

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

Parameter Type Description
links array Связи карты для создания на карте.
selements array Элементы карты для создания на карте.
urls array URL карты для создания на карте.
users array Общий доступ карты пользователем для создания на карте.
userGroups array Общий доступ карты группой пользователей для создания на карте.
shapes array Фигуры карты для создания на карте.
lines array Линии карты для создания на карте.

Чтобы создать связи карты, нужно задать для элемента карты selementid произвольное значение, а затем использовать это значение для ссылки на этот элемент в свойствах links 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
}

Линии карты

Создайте линию карты.

Request:

{
    "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
}

Response:

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

См. также

Источник

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