[comment]: # ({cc00d3db-cc00d3db})
# itemprototype.update

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

[comment]: # ({189466f4-63442cbb})
### 説明

`object itemprototype.update(object/array itemPrototypes)`

このメソッドでは、既存のアイテムのプロトタイプを更新できます。

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

[comment]: # ({/189466f4-63442cbb})

[comment]: # ({4da6e973-16fcb884})
### パラメータ

`(object/array)` 更新するアイテムプロトタイプのプロパティ。

各アイテムプロトタイプでは `itemid` プロパティを定義する必要があり、その他の
プロパティはすべて任意です。渡されたプロパティのみが更新され、その他は
すべて変更されません。

このメソッドは、[標準のアイテムプロトタイプの
プロパティ](object#item-prototype)に加えて、以下の
パラメータを受け付けます。

|パラメータ|[Type](/manual/api/reference_commentary#data-types)|説明|
|--|--|------|
|preprocessing|array|現在の前処理オプションを置き換えるための[アイテムプロトタイプの前処理](/manual/api/reference/itemprototype/object#item-prototype-preprocessing)オプション。<br><br>[パラメータの動作](/manual/api/reference_commentary#parameter-behavior):<br>- 継承されたオブジェクトでは *read-only*|
|tags|array|[アイテムプロトタイプのタグ](/manual/api/reference/itemprototype/object#item-prototype-tag)。|

[comment]: # ({/4da6e973-16fcb884})

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

`(object)` `itemids` プロパティの下で更新されたアイテム プロトタイプの ID を含むオブジェクトを返します。

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

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

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

[comment]: # ({817dd908-48cea947})
#### アイテムプロトタイプのインターフェースの変更

ディスカバリされたアイテムで使用されるホストインターフェースを変更します。

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

```json
{
    "jsonrpc": "2.0",
    "method": "itemprototype.update",
    "params": {
        "itemid": "27428",
        "interfaceid": "132"
    },
    "id": 1
}
```

レスポンス:

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

[comment]: # ({/817dd908-48cea947})

[comment]: # ({6430348b-e1d8fc73})
#### 依存アイテムのプロトタイプを更新

新しいマスターアイテムのプロトタイプIDで依存アイテムのプロトタイプを更新します。  
同じホスト（テンプレート/ディスカバリルール）上の依存関係のみが許可されるため、マスターアイテムと依存アイテムは同じhostidおよびruleidを持っている必要があります。

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

```json
{
    "jsonrpc": "2.0",
    "method": "itemprototype.update",
    "params": {
        "master_itemid": "25570",
        "itemid": "189030"
    },
    "id": 1
}
```

レスポンス:

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

[comment]: # ({/6430348b-e1d8fc73})

[comment]: # ({c183c453-d7fe7206})
#### HTTPエージェントのアイテムプロトタイプを更新

クエリフィールドを変更し、すべてのカスタムヘッダーを削除します。

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

```json
{
    "jsonrpc": "2.0",
    "method": "itemprototype.update",
    "params": {
        "itemid":"28305",
        "query_fields": [
            {
                "name": "random",
                "value": "qwertyuiopasdfghjklzxcvbnm"
            }
        ],
        "headers": []
    }
    "id": 1
}
```

レスポンス:

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

[comment]: # ({/c183c453-d7fe7206})

[comment]: # ({98e86439-e5fc44e0})
#### アイテムの前処理オプションの更新

前処理ルール「カスタム乗数」を持つアイテムのプロトタイプを更新します。

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

```json
{
    "jsonrpc": "2.0",
    "method": "itemprototype.update",
    "params": {
        "itemid": "44211",
        "preprocessing": [
            {
                "type": 1,
                "params": "4",
                "error_handler": 2,
                "error_handler_params": "5"
            }
        ]
    },
    "id": 1
}
```

レスポンス:

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

[comment]: # ({/98e86439-e5fc44e0})

[comment]: # ({c56158ac-15ba4525})
#### スクリプトアイテムのプロトタイプの更新

スクリプトアイテムのプロトタイプを別のスクリプトで更新し、
以前のスクリプトで使用されていた不要なパラメータを削除します。

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

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

レスポンス:

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

[comment]: # ({/c56158ac-15ba4525})

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

CItemPrototype::update() in *ui/include/classes/api/services/CItemPrototype.php*.

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