创建
描述
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.