创建

描述

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 设置为任意值,然后在链接的 selementid1 或 selementid2 属性中使用该值来引用此元素。 创建该元素时,此值将被替换为 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.