4.drule.get
描述
整数/数组 drule.get(object **parameters**)
该方法用于根据给定的参数获取发现规则。
参数
(对象) 定义所需输出的参数。
该方法支持以下参数。
| 参数 | 类型 | 描述 |
|---|---|---|
| dhostids | string/array | 仅返回创建给定已发现主机的发现规则。 |
| druleids | string/array | 仅返回给定ID的发现规则。 |
| dserviceids | string/array | 仅返回创建给定已发现服务的发现规则。 |
| selectDChecks | query | 在dchecks 属性下,返回被发现规则使用的发现检查。支持 count. |
| selectDHosts | query | 在dhosts属性下,返回发现规则创建的发现主机。支持 count. |
| limitSelects | integer | 限制子选项返回的记录数 适用于以下选项: selectDChecks - 结果按dcheckid排序;selectDHosts - 结果按dhostsid排序 |
| sortfield | string/array | 结果按给定属性排序. 可能的值: druleid和name. |
| countOutput | boolean | 以下参数为get方法通常参数,在参考注释有详细说明 |
| editable | boolean | |
| excludeSearch | boolean | |
| filter | object | |
| limit | integer | |
| output | query | |
| preservekeys | boolean | |
| search | object | |
| searchByAny | boolean | |
| searchWildcardsEnabled | boolean | |
| sortorder | string/array | |
| startSearch | boolean | |
返回值
(整数/数组) 返回:
对象数据;
如果
countOutput被使用,返回获取对象的计数。
示例
获取所有发现规则
获取所有已配置的发现规则和检查已使用的发现规则。
请求:
{"jsonrpc": "2.0","method": "drule.get","params": {"output": "extend","selectDChecks": "extend"},"auth": "038e1d7b1735c6a5436ee9eae095879e","id": 1}
响应:
{"jsonrpc": "2.0","result": [{"druleid": "2","proxy_hostid": "0","name": "Local network","iprange": "192.168.3.1-255","delay": "5s","nextcheck": "1348754327","status": "0","dchecks": [{"dcheckid": "7","druleid": "2","type": "3","key_": "","snmp_community": "","ports": "21","snmpv3_securityname": "","snmpv3_securitylevel": "0","snmpv3_authpassphrase": "","snmpv3_privpassphrase": "","uniq": "0","snmpv3_authprotocol": "0","snmpv3_privprotocol": "0"},{"dcheckid": "8","druleid": "2","type": "4","key_": "","snmp_community": "","ports": "80","snmpv3_securityname": "","snmpv3_securitylevel": "0","snmpv3_authpassphrase": "","snmpv3_privpassphrase": "","uniq": "0","snmpv3_authprotocol": "0","snmpv3_privprotocol": "0"}]},{"druleid": "6","proxy_hostid": "0","name": "Zabbix agent discovery","iprange": "192.168.1.1-255","delay": "1h","nextcheck": "0","status": "0","dchecks": [{"dcheckid": "10","druleid": "6","type": "9","key_": "system.uname","snmp_community": "","ports": "10050","snmpv3_securityname": "","snmpv3_securitylevel": "0","snmpv3_authpassphrase": "","snmpv3_privpassphrase": "","uniq": "0","snmpv3_authprotocol": "0","snmpv3_privprotocol": "0"}]}],"id": 1}
参考
来源
CDRule::get() in frontends/php/include/classes/api/services/CDRule.php.
