object discoveryrule.update(object/array lldRules)
Deze methode maakt het mogelijk om bestaande LLD-regels bij te werken.
Deze methode is alleen beschikbaar voor gebruikerstypes Admin en Superadmin. Rechten om de methode aan te roepen kunnen worden ingetrokken in de instellingen van gebruikersrollen. Zie Gebruikersrollen voor meer informatie.
(object/array)
LLD-regel eigenschappen die bijgewerkt moeten worden.
De itemid
-eigenschap moet gedefinieerd zijn voor elke LLD-regel, alle andere eigenschappen zijn optioneel. Alleen de doorgegeven eigenschappen worden bijgewerkt, alle andere blijven ongewijzigd.
Naast de standaard LLD-regel eigenschappen accepteert de methode de volgende parameters.
Parameter | Type | Beschrijving |
---|---|---|
filter | object | LLD-regel filter om het huidige filter te vervangen. |
preprocessing | array | LLD-regel preprocessing opties om de bestaande preprocessing-opties te vervangen. Gedrag van de parameter: - alleen-lezen voor overgenomen objecten |
lld_macro_paths | array | LLD-regel lld_macro_path opties om de bestaande lld_macro_path-opties te vervangen. Gedrag van de parameter: - alleen-lezen voor overgenomen objecten |
overrides | array | LLD-regel overrides opties om de bestaande overrides-opties te vervangen. Gedrag van de parameter: - alleen-lezen voor overgenomen objecten |
(object)
Retourneert een object dat de ID's van de bijgewerkte LLD-regels bevat onder de eigenschap 'itemids'.
Voeg een filter toe zodat de inhoud van de {#FSTYPE} macro overeenkomt met de @Bestandssystemen voor detectie regexp.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "22450",
"filter": {
"evaltype": 1,
"conditions": [
{
"macro": "{#FSTYPE}",
"value": "@Bestandssystemen voor detectie"
}
]
}
},
"id": 1
}
Antwoord:
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "22450",
"lld_macro_paths": [
{
"lld_macro": "{#MACRO1}",
"path": "$.json.path"
}
]
},
"id": 1
}
Antwoord:
Schakel LLD-vangen uit voor detectieregel.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "28336",
"allow_traps": 0
},
"id": 1
}
Antwoord:
Werk een LLD-regel bij met voorverwerkingsregel "JSONPath".
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "44211",
"preprocessing": [
{
"type": 12,
"params": "$.path.to.json",
"error_handler": 2,
"error_handler_params": "5"
}
]
},
"id": 1
}
Antwoord:
#### Bijwerken van LLD-regelscript
Werk een LLD-regelscript bij met een ander script en verwijder onnodige parameters die door het vorige script werden gebruikt.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "23865",
"parameters": [],
"script": "Zabbix.log(3, 'Logtest');\nreturn 1;"
},
"id": 1
}
Antwoord:
Update LLD rule to disable no-longer discovered entity after 12 hours and to delete it after 7 days.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "46864",
"lifetime_type": 0,
"lifetime": "7d",
"enabled_lifetime_type": 0,
"enabled_lifetime": "12h"
},
"id": 1
}
Response:
CDiscoveryRule::update() in ui/include/classes/api/services/CDiscoveryRule.php.