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
}

См. также

Источник

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