discoveryrule.update

Apraksts

object discoveryrule.update(object/array lldRules)

Šī metode ļauj atjaunināt esošos LLD noteikumus.

Šī metode ir pieejama tikai Admin un Super admin lietotāju tipiem. Atļaujas izsaukt šo metodi var tikt atsauktas lietotāja lomas iestatījumos. Plašāku informāciju skatiet Lietotāju lomas.

Parametri

(object/array) Atjaunināmo LLD noteikumu īpašības.

Īpašībai itemid jābūt definētai katram LLD noteikumam, visas pārējās īpašības ir neobligātas. Tiks atjauninātas tikai nodotās īpašības, visas pārējās paliks nemainītas.

Papildus standarta LLD noteikumu īpašībām metode pieņem šādus parametrus.

Parametrs Tips Apraksts
filter object LLD noteikuma filtrs, ar kuru aizstāt esošo filtru.
preprocessing object/array LLD noteikuma priekšapstrādes opcijas, ar kurām aizstāt esošās priekšapstrādes opcijas.

Parametra darbība:
- tikai lasāms mantotajiem objektiem
lld_macro_paths object/array LLD noteikuma lld_macro_path opcijas, ar kurām aizstāt esošās lld_macro_path opcijas.

Parametra darbība:
- tikai lasāms mantotajiem objektiem
overrides object/array LLD noteikuma aizstāšanas opcijas, ar kurām aizstāt esošās overrides opcijas.

Parametra darbība:
- tikai lasāms mantotajiem objektiem

Atgrieztās vērtības

(object) Atgriež objektu, kas satur atjaunināto LLD noteikumu ID zem itemids īpašības.

Piemēri

Filtra pievienošana LLD kārtulai

Pievienojiet filtru, lai makrosa {#FSTYPE} saturs atbilstu regulārajai izteiksmei \@File systems for discovery.

Pieprasījums:

{
    "jsonrpc": "2.0",
    "method": "discoveryrule.update",
    "params": {
        "itemid": "22450",
        "filter": {
            "evaltype": 1,
            "conditions": [
                {
                    "macro": "{#FSTYPE}",
                    "value": "@File systems for discovery"
                }
            ]
        }
    },
    "id": 1
}

Atbilde:

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "22450"
        ]
    },
    "id": 1
}

LLD makro ceļu pievienošana

Pieprasījums:

{
    "jsonrpc": "2.0",
    "method": "discoveryrule.update",
    "params": {
        "itemid": "22450",
        "lld_macro_paths": [
            {
                "lld_macro": "{#MACRO1}",
                "path": "$.json.path"
            }
        ]
    },
    "id": 1
}

Atbilde:

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "22450"
        ]
    },
    "id": 1
}

Atspējot slazdošanu

Atspējot LLD slazdošanu atklāšanas kārtulai.

Pieprasījums:

{
    "jsonrpc": "2.0",
    "method": "discoveryrule.update",
    "params": {
        "itemid": "28336",
        "allow_traps": 0
    },
    "id": 1
}

Atbilde:

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "28336"
        ]
    },
    "id": 1
}

LLD kārtulas priekšapstrādes opciju atjaunināšana

Atjauniniet LLD kārtulu ar priekšapstrādes kārtulu “JSONPath”.

Pieprasījums:

{
    "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
}

Atbilde:

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "44211"
        ]
    },
    "id": 1
}

LLD noteikuma skripta atjaunināšana

Atjauniniet LLD noteikuma skriptu ar citu skriptu un noņemiet nevajadzīgos parametrus, kas tika izmantoti iepriekšējā skriptā.

Pieprasījums:

{
    "jsonrpc": "2.0",
    "method": "discoveryrule.update",
    "params": {
        "itemid": "23865",
        "parameters": [],
        "script": "Zabbix.log(3, 'Log test');\nreturn 1;"
    },
    "id": 1
}

Atbilde:

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "23865"
        ]
    },
    "id": 1
}

LLD noteikuma darbības laika atjaunināšana

Atjauniniet LLD noteikumu, lai atspējotu vairs neatklātu entītiju pēc 12 stundām un dzēstu to pēc 7 dienām.

Pieprasījums:

{
    "jsonrpc": "2.0",
    "method": "discoveryrule.update",
    "params": {
        "itemid": "46864",
        "lifetime_type": 0, 
        "lifetime": "7d",
        "enabled_lifetime_type": 0,
        "enabled_lifetime": "12h"
    },
    "id": 1
}

Atbilde:

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "46864"
        ]
    },
    "id": 1
}

Avots

CDiscoveryRule::update() failā ui/include/classes/api/services/CDiscoveryRule.php.