map.create

描述

object map.create(object/array maps)

此方法允许create新地图。

此方法可供任何类型的用户使用。可以在用户角色设置中撤销调用该方法的权限。更多信息请参见User roles

参数

(object/array) 要创建的拓扑图。

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

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

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

返回值

(object) 返回一个 object,其中包含在 sysmapids 属性下列出的已创建地图的 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
       }

创建主机地图

创建包含两个主机元素及它们之间连线的地图。注意在地图连线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"
                   }
               ]
           },
           "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 中。