[comment]: # translation:outdated

[comment]: # ({2709706a-2709706a})
# discoveryrule.create

[comment]: # ({/2709706a-2709706a})

[comment]: # ({33446799-78136d05})
### Опис

`object discoveryrule.create(object/array lldRules)`

Овај метод дозвољава креирање новог LLD правила.

::: noteclassic
Овај метод је дозвољен само за *Администратор*-а и *Супер-администратор*-а.
Дозволе за позивање методе могу се опозвати у подешавању улоге корисника. 
Погледајте  [User roles](/manual/web_interface/frontend_sections/users/user_roles)
за више информација.
:::

[comment]: # ({/33446799-78136d05})

[comment]: # ({336b7a81-1c165cc1})
### Параметри

`(object/array)` LLD правила за креирање.

Поред [standard LLD rule properties](object#lld_rule)
метод прихвата следеће параметре.

|Parameter|[Type](/manual/api/reference_commentary#data_types)|Description|
|--|--|------|
|filter|object|[LLD rule filter](/manual/api/reference/discoveryrule/object#lld_rule_filter) за LLD правило.|
|preprocessing|object/array|[LLD rule preprocessing](/manual/api/reference/discoveryrule/object#lld_rule_preprocessing) опције.|
|lld\_macro\_paths|object/array|LLD rule [lld\_macro\_path](/manual/api/reference/discoveryrule/object#lld_macro_path) options.|
|overrides|object/array|[LLD rule overrides](/manual/api/reference/discoveryrule/object#lld_rule_overrides) options.|

[comment]: # ({/336b7a81-1c165cc1})

[comment]: # ({08a72633-08a72633})
### Повратне вредности

`(object)` Враћа објекат који садржи ID-ијеве креираних LLD правила 
под својством`itemids`. Редослед враћених ID-ијева 
одговара редоследу прослеђених LLD правила.

[comment]: # ({/08a72633-08a72633})

[comment]: # ({b41637d2-b41637d2})
### Примери

[comment]: # ({/b41637d2-b41637d2})

[comment]: # ({64dbb2a9-c30fe277})
#### Креирање LLD правила

Креирајте LLD правило Zabbix агента да бисте открили монтиране системе датотека. Откривене ставке ће се ажурирати сваких 30 секунди.

[Request](/manual/api#performing-requests):

```json
{
     "jsonrpc": "2.0",
     "method": "discoveryrule.create",
     "params": {
     "name": "Mounted filesystem discovery",
     "key_": "vfs.fs.discovery",
     "hostid": "10197",
     "type": 0,
     "interfaceid": "112",
     "delay": "30s"
     },
     "id": 1
}
```

Одговор:

```json
{
     "jsonrpc": "2.0",
     "result": {
     "itemids": [
     "27665"
     ]
     },
     "id": 1
}
```

[comment]: # ({/64dbb2a9-c30fe277})

[comment]: # ({83891df9-01b95865})
#### Коришћење филтера

Креирајте LLD  правило са скупом услова за филтрирање резултата. Услови ће бити груписани заједно помоћу логичког оператора "and".

[Request](/manual/api#performing-requests):

```json
{
     "jsonrpc": "2.0",
     "method": "discoveryrule.create",
     "params": {
     "name": "Filtered LLD rule",
     "key_": "lld",
     "hostid": "10116",
     "type": 0,
     "interfaceid": "13",
     "delay": "30s",
     "filter": {
     "evaltype": 1,
     "conditions": [
     {
     "macro": "{#MACRO1}",
     "value": "@regex1"
     },
     {
     "macro": "{#MACRO2}",
     "value": "@regex2",
     "operator": "9"
     },
     {
     "macro": "{#MACRO3}",
     "value": "",
     "operator": "12"
     },
     {
     "macro": "{#MACRO4}",
     "value": "",
     "operator": "13"
     }
     ]
     }
     },
     "id": 1
}
```

Одговор:

```json
{
     "jsonrpc": "2.0",
     "result": {
     "itemids": [
     "27665"
     ]
     },
     "id": 1
}
```

[comment]: # ({/83891df9-01b95865})

[comment]: # ({151487a3-a201a7a1})
#### Креирање LLD правила са макро путањама

[Request](/manual/api#performing-requests):

```json
{
     "jsonrpc": "2.0",
     "method": "discoveryrule.create",
     "params": {
     "name": "LLD rule with LLD macro paths",
     "key_": "lld",
     "hostid": "10116",
     "type": 0,
     "interfaceid": "13",
     "delay": "30s",
     "lld_macro_paths": [
     {
     "lld_macro": "{#MACRO1}",
     "path": "$.path.1"
     },
     {
     "lld_macro": "{#MACRO2}",
     "path": "$.path.2"
     }
     ]
     },
     "id": 1
}
```

Одговор:

```json
{
     "jsonrpc": "2.0",
     "result": {
     "itemids": [
     "27665"
     ]
     },
     "id": 1
}
```

[comment]: # ({/151487a3-a201a7a1})

[comment]: # ({ee764cc8-32af137e})
#### Коришћење филтера прилагођеног израза

Креирај LLD правило са филтером који ће користити прилагођени израз за 
процену услова. LLD правило треба да открије само објекте чија вредност макроа 
"{#MACRO1}" одговара и регуларном изразу "regex1" и "regex2", а вредност макроа "{#MACRO2}" одговара или 
"regex3" или "regex4". Идентификатори формула "A", "B", "C" и "D" су 
изабрани произвољно.

[Request](/manual/api#performing-requests):

```json
{
     "jsonrpc": "2.0",
     "method": "discoveryrule.create",
     "params": {
     "name": "Filtered LLD rule",
     "key_": "lld",
     "hostid": "10116",
     "type": 0,
     "interfaceid": "13",
     "delay": "30s",
     "filter": {
     "evaltype": 3,
     "formula": "(A and B) and (C or D)",
     "conditions": [
     {
     "macro": "{#MACRO1}",
     "value": "@regex1",
     "formulaid": "A"
     },
     {
     "macro": "{#MACRO1}",
     "value": "@regex2",
     "formulaid": "B"
     },
     {
     "macro": "{#MACRO2}",
     "value": "@regex3",
     "formulaid": "C"
     },
     {
     "macro": "{#MACRO2}",
     "value": "@regex4",
     "formulaid": "D"
     }
     ]
     }
     },
     "id": 1
}
```

Одговор:

```json
{
     "jsonrpc": "2.0",
     "result": {
     "itemids": [
     "27665"
     ]
     },
     "id": 1
}
```

[comment]: # ({/ee764cc8-32af137e})

[comment]: # ({24e10385-001d915b})
#### Коришћење прилагођених поља и заглавља упита

Направите LLD  правило са прилагођеним пољима и заглављима упита.

[Захтев](/manual/api#performing-requests):

```json
{
     "jsonrpc": "2.0",
     "method": "discoveryrule.create",
     "params": {
     "hostid": "10257",
     "interfaceid": "5",
     "type": 19,
     "name": "API HTTP agent",
     "key_": "api_discovery_rule",
     "value_type": 3,
     "delay": "5s",
     "url": "http://127.0.0.1?discoverer.php",
     "query_fields": [
     {
     "name": "mode",
     "value": "json"
     },
     {
     "name": "elements",
     "value": "2"
     }
     ],
     "headers": [
     {
     "name": "X-Type",
     "value": "api"
     },
     {
     "name": "Authorization",
     "value": "Bearer mF_A.B5f-2.1JcM"
     }
     ],
     "allow_traps": 1,
     "trapper_hosts": "127.0.0.1"
     },
     "id": 1
}
```

Одговор:

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

[comment]: # ({/24e10385-001d915b})

[comment]: # ({183d1530-3e76a4a9})
#### Креирање  LLD правила са претходном обрадом

[Захтев](/manual/api#performing-requests):

```json
{
     "jsonrpc": "2.0",
     "method": "discoveryrule.create",
     "params": {
     "name": "Discovery rule with preprocessing",
     "key_": "lld.with.preprocessing",
     "hostid": "10001",
     "ruleid": "27665",
     "type": 0,
     "value_type": 3,
     "delay": "60s",
     "interfaceid": "1155",
     "preprocessing": [
     {
     "type": 20,
     "params": "20",
     "error_handler": 0,
     "error_handler_params": ""
     }
     ]
     },
     "id": 1
}
```

Одговор:

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

[comment]: # ({/183d1530-3e76a4a9})

[comment]: # ({1326b2e3-f9343aca})
#### Креирање LLD правила са заменама

[Захтев](/manual/api#performing-requests):

```json

{
     "jsonrpc": "2.0",
     "method": "discoveryrule.create",
     "params": {
     "name": "Discover database host",
     "key_": "lld.with.overrides",
     "hostid": "10001",
     "type": 0,
     "value_type": 3,
     "delay": "60s",
     "interfaceid": "1155",
     "overrides": [
     {
     "name": "Discover MySQL host",
     "step": "1",
     "stop": "1",
     "filter": {
     "evaltype": "2",
     "conditions": [
     {
     "macro": "{#UNIT.NAME}",
     "operator": "8",
     "value": "^mysqld\\.service$"
     },
     {
     "macro": "{#UNIT.NAME}",
     "operator": "8",
     "value": "^mariadb\\.service$"
     }
     ]
     },
     "operations": [
     {
     "operationobject": "3",
     "operator": "2",
     "value": "Database host",
     "opstatus": {
     "status": "0"
     },
     "optemplate": [
     {
     "templateid": "10170"
     }
     ],
     "optag": [
     {
     "tag": "database",
     "value": "mysql"
     }
     ]
     }
     ]
     },
     {
     "name": "Discover PostgreSQL host",
     "step": "2",
     "stop": "1",
     "filter": {
     "evaltype": "0",
     "conditions": [
     {
     "macro": "{#UNIT.NAME}",
     "operator": "8",
     "value": "^postgresql\\.service$"
     }
     ]
     },
     "operations": [
     {
     "operationobject": "3",
     "operator": "2",
     "value": "Database host",
     "opstatus": {
     "status": "0"
     },
     "optemplate": [
     {
     "templateid": "10263"
     }
     ],
     "optag": [
     {
     "tag": "database",
     "value": "postgresql"
     }
     ]
     }
     ]
     }
     ]
     },
     "id": 1
}
```

Одговор:

```json
{
     "jsonrpc": "2.0",
     "result": {
     "itemids": [
     "30980"
     ]
     },
     "id": 1
}
```

[comment]: # ({/1326b2e3-f9343aca})

[comment]: # ({f1471f8e-c75d7d1e})
#### Креирајте скрипту за LLD  правило 

Креирајте једноставну колекцију података користећи LLD правило скрипте.

[Захтев](/manual/api#performing-requests):

```json
{
     "jsonrpc": "2.0",
     "method": "discoveryrule.create",
     "params": {
     "name": "Script example",
     "key_": "custom.script.lldrule",
     "hostid": "12345",
     "type": 21,
     "value_type": 4,
     "params": "var request = new HttpRequest();\nreturn request.post(\"https://postman-echo.com/post\", JSON.parse(value));",
     "parameters": [{
     "name": "host",
     "value": "{HOST.CONN}"
     }],
     "timeout": "6s",
     "delay": "30s"
     },
     "id": 1
}
```

Одговор:

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

[comment]: # ({/f1471f8e-c75d7d1e})

[comment]: # ({464094bf-10111213})
#### Креирајте LLD правило са одређеним временским периодом за онемогућавање и без брисања

Направите LLD правило са прилагођеним временским периодом за онемогућавање ентитета после
више се не открива, са поставком да никада неће бити
обрисано.

[Request](/manual/api#performing-requests):

```json
{
     "jsonrpc": "2.0",
     "method": "discoveryrule.create",
     "params": {
     "name": "lld disable after 1h",
     "key_": "lld.disable",
     "hostid": "10001",
     "type": 2,
     "lifetime_type": 1,
     "enabled_lifetime_type": 0,
      "enabled_lifetime": "1h"
     },
     "id": 1
}
```

Одговор:

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

[comment]: # ({/464094bf-10111213})

[comment]: # ({f40c8a6e-f40c8a6e})
### Погледајте такође

- [LLD rule filter](object#lld_rule_filter)
- LLD macro paths](object#lld_macro_path)
- [LLD rule preprocessing](object#lld_rule_preprocessing)

[comment]: # ({/f40c8a6e-f40c8a6e})

[comment]: # ({73c4009f-73c4009f})
### Извор

CDiscoveryRule::create() у
*ui/include/classes/api/services/CDashboard.php*.

[comment]: # ({/73c4009f-73c4009f})
