このページで
maintenance.create
説明
object maintenance.create(object/array maintenances)
このメソッドを使用すると、新しいメンテナンスを作成できます。
このメソッドは、Admin および Super admin のユーザータイプでのみ利用できます。 このメソッドを呼び出す権限は、ユーザーロール設定で取り消すことができます。詳細は User roles を参照してください。
パラメータ
(object/array) 作成するメンテナンス。
標準のメンテナンスプロパティに加えて、このメソッドでは以下のパラメータを受け入れます。
| パラメータ | 型 | 説明 |
|---|---|---|
| groups | object/array | メンテナンスの対象にするホストグループ。 ホストグループには、 groupidプロパティのみを定義する必要があります。パラメータの動作: - hostsが設定されていない場合は必須 |
| hosts | object/array | メンテナンスの対象にするホスト。 ホストには、 hostidプロパティのみを定義する必要があります。パラメータの動作: - groupsが設定されていない場合は必須 |
| triggers | object/array | メンテナンスの対象にするトリガー。 トリガーには、 triggeridプロパティのみを定義する必要があります。パラメータの動作: - groupsとhostsが設定されていない場合は必須- maintenance_type=0(データ収集あり)の場合にサポート |
| event_names | object/array | メンテナンスの対象にする障害を定義するイベント名。 パラメータの動作: - maintenance_type=0(データ収集あり)の場合にサポート |
| tags | object/array | メンテナンスの対象にする障害を定義する障害タグ。 パラメータの動作: - メンテナンスオブジェクトの maintenance_typeが「データ収集あり」に設定されている場合にサポート |
| timeperiods | object/array | メンテナンスの期間。 パラメータの動作: - 必須 |
戻り値
(object) maintenanceidsプロパティの下で作成されたメンテナンスのIDを含むオブジェクトを返します。 返されるIDの順序は、渡されたメンテナンスの順序と一致します。
例
メンテナンスの作成
ID「20」のホストグループに対してデータ収集を行い、障害タグ service:mysqld および error を指定したメンテナンスを作成します。
2026年3月17日から2027年3月17日まで有効で、毎週日曜日の18:00に開始し、1時間継続する必要があります。
{
"jsonrpc": "2.0",
"method": "maintenance.create",
"params": {
"name": "Sunday maintenance",
"active_since": 1773720240,
"active_till": 1805256240,
"tags_evaltype": 0,
"groups": [
{"groupid": "20"}
],
"timeperiods": [
{
"period": 3600,
"timeperiod_type": 3,
"start_time": 64800,
"every": 1,
"dayofweek": 64
}
],
"tags": [
{
"tag": "service",
"operator": "0",
"value": "mysqld"
},
{
"tag": "error",
"operator": "2",
"value": ""
}
]
},
"id": 1
}
レスポンス:
{
"jsonrpc": "2.0",
"result": {
"maintenanceids": [
"3"
]
},
"id": 1
}
アドホックメンテナンスの作成
IDが「4」のホストグループ、IDが「12345」のトリガー、およびイベント名 Printer: ink low を対象に、データ収集を行う1時間のアドホックメンテナンスを作成します。
{
"jsonrpc": "2.0",
"method": "maintenance.create",
"params": {
"name": "Ad-hoc maintenance",
"active_since": 1792057740,
"active_till": 1792061340,
"tags_evaltype": 0,
"groups": [
{"groupid": "4"}
],
"triggers": [
{"triggerid": "12345"}
],
"timeperiods": [
{
"period": 3600,
"timeperiod_type": 0,
"start_date": 1792057740
}
],
"event_names": [
{
"operator": "2",
"value": "Printer: ink low"
}
]
},
"id": 1
}
レスポンス:
{
"jsonrpc": "2.0",
"result": {
"maintenanceids": [
"4"
]
},
"id": 1
}
関連項目
ソース
CMaintenance::create() in ui/include/classes/api/services/CMaintenance.php.