更新
描述
object hostprototype.update(object/array hostPrototypes)
该方法运行更新存在的主机原型
该方法适用于管理员和超级管理员用户类型。可以在用户角色设置中撤销调用该方法的权限。有关详细信息,参阅用户角色。
参数
(object/array)
要更新的主机原型属性。
必须为每个主机原型定义hostid
属性,所有其他属性都是可选的。只有选中的属性将被更新,所有其他的属性将保持不变。 除标准主机原型属性外, 该方法还接受以下参数。
参数 | 类型 | 描述 |
---|---|---|
groupLinks | 队列 | 替换当前主机原型上的组链接的组链接。 |
groupPrototypes | 数组 | 替换主机原型上存在的组原型的组原型。 |
macros | 对象/数组 | 替换当前用户宏的用户宏。 所有未在请求列表中宏将被删除。 |
tags | 对象/数组 | 替换当前标签的主机原型标签。 所有未在请求列表中的标签将被删除。 |
interfaces | 对象/数组 | 替换当前接口的主机原型自定义接口。 自定义接口对象包含所有参数。 所有未在请求列表中的接口将被删除 |
templates | 对象/数组 | 替换当前连接模板中的模板。 模板中的 templateid 属性必须被定义。 |
返回值
(object)
在hostids
属性中返回包含已更新主机原型ID的对象。
示例
禁用主机原型
禁用主机原型可以设置其状态为1。
请求:
{
"jsonrpc": "2.0",
"method": "hostprototype.update",
"params": {
"hostid": "10092",
"status": 1
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": {
"hostids": [
"10092"
]
},
"id": 1
}
更新主机原型标签
替换新的主机原型标签
请求:
{
"jsonrpc": "2.0",
"method": "hostprototype.update",
"params": {
"hostid": "10092",
"tags": [
{
"tag": "Datacenter",
"value": "{#DATACENTER.NAME}"
},
{
"tag": "Instance type",
"value": "{#INSTANCE_TYPE}"
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": {
"hostids": [
"10092"
]
},
"id": 1
}
更新主机原型自定义接口
用主机原型自定义接口替换继承的接口。
请求:
{
"jsonrpc": "2.0",
"method": "hostprototype.update",
"params": {
"hostid": "10092",
"custom_interfaces": "1",
"interfaces": [
{
"main": "1",
"type": "2",
"useip": "1",
"ip": "127.0.0.1",
"dns": "",
"port": "161",
"details": {
"version": "2",
"bulk": "1",
"community": "{$SNMP_COMMUNITY}"
}
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": {
"hostids": [
"10092"
]
},
"id": 1
}
参考
来源
CHostPrototype::update() in ui/include/classes/api/services/CHostPrototype.php.