object discoveryrule.update(object/array lldRules)
Este método permite atualizar regras LLD existentes.
Este método está disponível apenas para os tipos de usuário Admin e Super admin. As permissões para chamar o método podem ser revogadas nas configurações de função de usuário. Veja Funções de usuário para mais informações.
(object/array) Propriedades da regra LLD a serem atualizadas.
A propriedade itemid deve ser definida para cada regra LLD, todas as outras propriedades são opcionais. Somente as propriedades passadas serão atualizadas, todas as outras permanecerão inalteradas.
Além das propriedades padrão da regra LLD, o método aceita os seguintes parâmetros.
| Parâmetro | Tipo | Descrição |
|---|---|---|
| filter | object | Filtro da regra LLD para substituir o filtro existente. |
| preprocessing | object/array | Opções de pré-processamento da regra LLD para substituir as opções de pré-processamento existentes. Comportamento do parâmetro: - somente leitura para objetos herdados |
| lld_macro_paths | object/array | Opções de lld_macro_path da regra LLD para substituir as opções de lld_macro_path existentes. Comportamento do parâmetro: - somente leitura para objetos herdados |
| overrides | object/array | Opções de substituições da regra LLD para substituir as opções de substituições existentes. Comportamento do parâmetro: - somente leitura para objetos herdados |
(object) Retorna um objeto contendo os IDs das regras LLD atualizadas na propriedade itemids.
Adicione um filtro para que o conteúdo da macro {#FSTYPE} corresponda à expressão regular @File systems for discovery.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "22450",
"filter": {
"evaltype": 1,
"conditions": [
{
"macro": "{#FSTYPE}",
"value": "@File systems for discovery"
}
]
}
},
"id": 1
}Resposta:
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "22450",
"lld_macro_paths": [
{
"lld_macro": "{#MACRO1}",
"path": "$.json.path"
}
]
},
"id": 1
}Resposta:
Desabilitar trapping de LLD para a regra de descoberta.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "28336",
"allow_traps": 0
},
"id": 1
}Resposta:
Atualize uma regra LLD com a regra de pré-processamento “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
}Resposta:
Atualize um script de regra de LLD com um script diferente e remova parâmetros desnecessários que foram usados pelo script anterior.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "23865",
"parameters": [],
"script": "Zabbix.log(3, 'Log test');\nreturn 1;"
},
"id": 1
}Resposta:
Atualize a regra de LLD para desabilitar a entidade não descoberta após 12 horas e excluí-la após 7 dias.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "46864",
"lifetime_type": 0,
"lifetime": "7d",
"enabled_lifetime_type": 0,
"enabled_lifetime": "12h"
},
"id": 1
}Resposta:
CDiscoveryRule::update() em ui/include/classes/api/services/CDiscoveryRule.php.