[comment]: # ({dbbaf81a-dbbaf81a})
# drule.get

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

[comment]: # ({6a314bbc-bbd48f20})
### 説明

`integer/array drule.get(object parameters)`

このメソッドは、指定したパラメーターに応じたディスカバリールールを取得できます。

::: noteclassic
このメソッドは、すべてのタイプのユーザーが利用できます。メソッドを呼び出す権限は、ユーザーの役割の設定で取り消すことができます。詳細は[ユーザーの役割](/manual/web_interface/frontend_sections/users/user_roles)を参照してください。
:::

[comment]: # ({/6a314bbc-bbd48f20})

[comment]: # ({f716a122-0b971cc5})
### パラメータ

`(object)` 目的の出力を定義するパラメータです。

このメソッドは以下のパラメータをサポートしています。

|パラメータ|[型](/manual/api/reference_commentary#data-types)|説明|
|--|--|------|
|dhostids|ID/array|指定した検出済みホストを作成したディスカバリルールのみを返します。|
|druleids|ID/array|指定したIDを持つディスカバリルールのみを返します。|
|dserviceids|ID/array|指定した検出済みサービスを作成したディスカバリルールのみを返します。|
|selectDChecks|query|ディスカバリルールで使用されるディスカバリチェックを含む [`dchecks`](/manual/api/reference/dcheck/object) プロパティを返します。<br><br>`count` をサポートします。|
|selectDHosts|query|ディスカバリルールによって作成された検出済みホストを含む [`dhosts`](/manual/api/reference/dhost/object) プロパティを返します。<br><br>`count` をサポートします。|
|limitSelects|integer|サブセレクトで返されるレコード数を制限します。<br><br>以下のサブセレクトに適用されます:<br>`selectDChecks` - 結果は `dcheckid` でソートされます。<br>`selectDHosts` - 結果は `dhostsid` でソートされます。|
|sortfield|string/array|指定したプロパティで結果をソートします。<br><br>指定可能な値: `druleid`, `name`。|
|countOutput|boolean|これらのパラメータは [reference commentary](/manual/api/reference_commentary#common-get-method-parameters) で説明されています。|
|editable|boolean|^|
|excludeSearch|boolean|^|
|filter|object|^|
|limit|integer|^|
|output|query|^|
|preservekeys|boolean|^|
|search|object|^|
|searchByAny|boolean|^|
|searchWildcardsEnabled|boolean|^|
|sortorder|string/array|^|
|startSearch|boolean|^|

[comment]: # ({/f716a122-0b971cc5})

[comment]: # ({7223bab1-7223bab1})
### 戻り値

`(integer/array)` 次のいずれかを返します:

-   オブジェクトの配列
-   `countOutput`パラメーターが使用されている場合、取得したオブジェクトの数

[comment]: # ({/7223bab1-7223bab1})

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

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

[comment]: # ({3de6f53e-153ca11b})
#### すべてのディスカバリルールの取得

設定されたすべてのディスカバリルールと、それらが使用するディスカバリチェックを取得します。

[リクエスト](/manual/api#performing-requests):

```json
{
    "jsonrpc": "2.0",
    "method": "drule.get",
    "params": {
        "output": "extend",
        "selectDChecks": "extend"
    },
    "id": 1
}
```

レスポンス:

```json
{
    "jsonrpc": "2.0",
    "result": [
        {
            "druleid": "2",
            "proxyid": "0",
            "name": "Local network",
            "iprange": "192.168.3.1-255",
            "delay": "5s",
            "status": "0",
            "concurrency_max": "0",
            "error": "",
            "dchecks": [
                {
                    "dcheckid": "7",
                    "druleid": "2",
                    "type": "3",
                    "key_": "",
                    "snmp_community": "",
                    "ports": "21",
                    "snmpv3_securityname": "",
                    "snmpv3_securitylevel": "0",
                    "snmpv3_authpassphrase": "",
                    "snmpv3_privpassphrase": "",
                    "uniq": "0",
                    "snmpv3_authprotocol": "0",
                    "snmpv3_privprotocol": "0",
                    "snmpv3_contextname": "",
                    "host_source": "1",
                    "name_source": "0",
                    "allow_redirect": "0"
                },
                {
                    "dcheckid": "8",
                    "druleid": "2",
                    "type": "4",
                    "key_": "",
                    "snmp_community": "",
                    "ports": "80",
                    "snmpv3_securityname": "",
                    "snmpv3_securitylevel": "0",
                    "snmpv3_authpassphrase": "",
                    "snmpv3_privpassphrase": "",
                    "uniq": "0",
                    "snmpv3_authprotocol": "0",
                    "snmpv3_privprotocol": "0",
                    "snmpv3_contextname": "",
                    "host_source": "1",
                    "name_source": "0",
                    "allow_redirect": "0"
                }
            ]
        },
        {
            "druleid": "6",
            "proxyid": "0",
            "name": "Zabbix agent discovery",
            "iprange": "192.168.1.1-255",
            "delay": "1h",
            "status": "0",
            "concurrency_max": "10",
            "error": "",
            "dchecks": [
                {
                    "dcheckid": "10",
                    "druleid": "6",
                    "type": "9",
                    "key_": "system.uname",
                    "snmp_community": "",
                    "ports": "10050",
                    "snmpv3_securityname": "",
                    "snmpv3_securitylevel": "0",
                    "snmpv3_authpassphrase": "",
                    "snmpv3_privpassphrase": "",
                    "uniq": "0",
                    "snmpv3_authprotocol": "0",
                    "snmpv3_privprotocol": "0",
                    "snmpv3_contextname": "",
                    "host_source": "2",
                    "name_source": "3",
                    "allow_redirect": "0"
                }
            ]
        }
    ],
    "id": 1
}
```

[comment]: # ({/3de6f53e-153ca11b})

[comment]: # ({be4cea66-f2f964c1})
### 関連項目

-   [検出されたホスト](/manual/api/reference/dhost/object#discovered-host)
-   [ディスカバリチェック](/manual/api/reference/dcheck/object#discovery-check)

[comment]: # ({/be4cea66-f2f964c1})

[comment]: # ({365d15ae-365d15ae})
### ソース

CDRule::get() in *ui/include/classes/api/services/CDRule.php*.

[comment]: # ({/365d15ae-365d15ae})
