map.create

描述

object map.create(object/array maps)

此方法允许create新地图.

该方法对所有类型用户开放. 调用权限可通过用户角色设置进行撤销. 更多信息请参阅User roles.

参数

(object/array) 映射至 create.

地图 外,该方法 还接受以下参数。

参数 数据类型 描述
links array 需在地图上创建的 地图链接
selements array 需在地图上创建的 地图元素
urls array 需在地图上创建的 地图-url
users array 需在地图上创建的 地图用户 共享项。
userGroups array 需在地图上创建的 映射用户组 共享项。
shapes array 需在地图上创建的 地图形状
lines array 需在地图上创建的 地图连线

要 create 地图链接,您需要将地图元素 selementid 设置为任意值,然后使用该值在链接的 selementid1selementid2 属性中引用此元素。 当元素创建时,该值将被替换为 Zabbix 生成的正确 ID。See example.

返回值

(object) 返回一个包含所创建地图ID的object,这些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
}

创建主机地图

创建包含两个主机元素及其间连线的地图. 注意在地图连线object中使用临时值"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() 位于 ui/include/classes/api/services/CMap.php 文件中。