创建

描述

object map.create(object/array maps)

此方法允许创建一个新的拓扑图。

此方法适用于任何类型的用户。调用该方法的权限可以在用户角色设置中撤销。请参阅用户角色了解更多信息。

参数

(object/array) 要创建的地图。

除了标准地图属性之外,该方法还接受以下参数。

参数 Type 描述
links array 要在地图上创建的地图链接
selements array 要在地图上创建的地图元素
urls array 要在地图上创建的地图 URL
users array 要在地图上创建的地图用户共享。
userGroups array 要在地图上创建的地图用户组共享。
shapes array 要在地图上创建的地图形状
lines array 要在地图上创建的地图线条

要创建地图链接,您需要先将某个地图元素的 selementid 设置为任意值,然后在链接的 selementid1selementid2 属性中使用该值来引用此元素。 创建该元素时,此值将被替换为 Zabbix 生成的正确 ID。请参见 示例。

返回值

(对象)返回一个对象,该对象包含在"sysmapid"属性下创建的拓扑图的id。返回id的顺序与传递的拓扑图的顺序相匹配。

案例

创建一个空拓扑图

创建一个没有元素的拓扑图。

请求

{
    "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() in ui/include/classes/api/services/CMap.php.