[comment]: # translation:outdated

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

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

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

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

Deze methode maakt het mogelijk om nieuwe LLD-regels te maken.

::: noteclassic
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](/manual/web_interface/frontend_sections/users/user_roles) voor meer informatie.
:::

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

[comment]: # ({7b83dea8-1c165cc1})
### Parameters

`(object/array)` LLD-regels om te creëren.

Naast de [standaard LLD-regel eigenschappen](object#lld_rule), accepteert de
methode de volgende parameters.

|Parameter|[Type](/manual/api/reference_commentary#data_types)|Omschrijving|
|--|--|------|
|filter|object|LLD-regel [filter](/manual/api/reference/discoveryrule/object#lld_rule_filter) voor de LLD-regel.|
|preprocessing|array|LLD-regel [preprocessing](/manual/api/reference/discoveryrule/object#lld_rule_preprocessing) opties.|
|lld\_macro\_paths|array|LLD-regel [lld\_macro\_path](/manual/api/reference/discoveryrule/object#lld_macro_path) opties.|
|overrides|array|LLD-regel [overrides](/manual/api/reference/discoveryrule/object#lld_rule_overrides) opties.|

[comment]: # ({/7b83dea8-1c165cc1})

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

`(object)` Geeft een object terug dat de ID's van de gemaakte LLD-regels bevat
onder de eigenschap `itemids`. De volgorde van de teruggegeven ID's komt overeen met de
volgorde van de doorgegeven LLD-regels.

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

[comment]: # ({aa9a5ad3-b41637d2})
### Voorbeelden

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

[comment]: # ({64dbb2a9-c30fe277})
#### LLD-regel creëren

Creëer een Zabbix agent LLD-regel om gemounte bestandssystemen te ontdekken.
Ontdekte items worden elke 30 seconden bijgewerkt.

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

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

Reactie:

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

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

[comment]: # ({83891df9-01b95865})
#### Gebruik van een filter

Creëer een LLD-regel met een reeks voorwaarden om de resultaten te filteren.
De voorwaarden zullen worden gegroepeerd met behulp van de logische "en"
operator.

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

```json
{
    "jsonrpc": "2.0",
    "method": "discoveryrule.create",
    "params": {
        "name": "Gefilterde LLD-regel",
        "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
}
```

Reactie:

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

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

[comment]: # ({fccf37b2-a201a7a1})
#### Creëren van een LLD-regel met LLD-macro-paden

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

```json
{
    "jsonrpc": "2.0",
    "method": "discoveryrule.create",
    "params": {
        "name": "LLD-regel met LLD-macro-paden",
        "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
}
```

Reactie:

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

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

[comment]: # ({ee764cc8-32af137e})
#### Gebruik van een aangepaste expressie-filter

Creëer een LLD-regel met een filter dat een aangepaste expressie zal
gebruiken om de voorwaarden te evalueren. De LLD-regel moet alleen objecten ontdekken waarvan de waarde van de "{\#MACRO1}"-macro zowel overeenkomt met de reguliere expressies "regex1" en "regex2", en de waarde van "{\#MACRO2}" overeenkomt met ofwel "regex3" of "regex4". De formule-ID's "A", "B", "C" en "D" zijn willekeurig gekozen.

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

```json
{
    "jsonrpc": "2.0",
    "method": "discoveryrule.create",
    "params": {
        "name": "Gefilterde LLD-regel",
        "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
}
```

Reactie:

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

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

[comment]: # ({4a05239d-001d915b})
#### Gebruik van aangepaste query-velden en headers

Creëer een LLD-regel met aangepaste query-velden en headers.

[Aanvraag](/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": [
            {
                "mode": "json"
            },
            {
                "elements": "2"
            }
        ],
        "headers": {
            "X-Type": "api",
            "Authorization": "Bearer mF_A.B5f-2.1JcM"
        },
        "allow_traps": 1,
        "trapper_hosts": "127.0.0.1"
    },
    "id": 1
}
```

Reactie:

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

[comment]: # ({/4a05239d-001d915b})

[comment]: # ({2ece0308-3e76a4a9})
#### LLD-regel creëren met preprocessing

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

```json
{
    "jsonrpc": "2.0",
    "method": "discoveryrule.create",
    "params": {
        "name": "LLD-regel met preprocessing",
        "key_": "lld.met.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
}
```

Reactie:

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

[comment]: # ({/2ece0308-3e76a4a9})

[comment]: # ({aaea35e5-f9343aca})
#### LLD-regel creëren met overrides

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

```json
{
    "jsonrpc": "2.0",
    "method": "discoveryrule.create",
    "params": {
        "name": "Ontdek database host",
        "key_": "lld.met.overrides",
        "hostid": "10001",
        "type": 0,
        "value_type": 3,
        "delay": "60s",
        "interfaceid": "1155",
        "overrides": [
            {
                "name": "Ontdek 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": "Ontdek 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
}
```

Reactie:

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

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

[comment]: # ({3d35a638-c75d7d1e})
#### Script LLD-regel creëren

Creëer een eenvoudige gegevensverzameling met behulp van een script LLD-regel.

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

```json
{
    "jsonrpc": "2.0",
    "method": "discoveryrule.create",
    "params": {
        "name": "Voorbeeld script",
        "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
}
```

Reactie:

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

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

[comment]: # ({464094bf-10111213})
#### Maak een LLD-regel met een opgegeven tijdsperiode voor uitschakelen en geen verwijdering

Maak een LLD-regel met een aangepaste tijdsperiode voor het uitschakelen van entiteiten nadat
deze niet meer is ontdekt, met de instelling dat deze nooit
wordt verwijderd.

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

```json
{
"jsonrpc": "2.0",
"methode": "discoveryrule.create",
"params": {
"name": "lld uitschakelen na 1u",
"key_": "lld.disable",
"hostid": "10001",
"type": 2,
"lifetime_type": 1,
"enabled_lifetime_type": 0, 
"enabled_lifetime": "1u"
},
"id": 1
}
```

Reactie:

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

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

[comment]: # ({f40c8a6e-f40c8a6e})
### Zie ook

-   [LLD-regel filter](object#lld_rule_filter)
-   [LLD-macro-paden](object#lld_macro_path)
-   [LLD-regel preprocessing](object#lld_rule_preprocessing)

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

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

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

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