maintenance.create

説明

object maintenance.create(object/array maintenances)

このメソッドでは、新しいメンテナンスを作成できます。

このメソッドは、Admin および Super admin ユーザータイプでのみ利用できます。
このメソッドを呼び出す権限は、ユーザーロール設定で取り消すことができます。詳細は ユーザーロール を参照してください。

パラメータ

(object/array) 作成するメンテナンス。

標準のメンテナンスプロパティに加えて、このメソッドは以下の パラメータを受け付けます。

パラメータ 説明
groups object/array メンテナンス対象となるホストグループ

ホストグループでは、groupid プロパティのみを定義する必要があります。

パラメータの動作:
- hosts が設定されていない場合は 必須
hosts object/array メンテナンス対象となるホスト

ホストでは、hostid プロパティのみを定義する必要があります。

パラメータの動作:
- groups が設定されていない場合は 必須
timeperiods object/array メンテナンスの期間

パラメータの動作:
- 必須
tags object/array 障害タグ

どの障害を抑制するかを定義します。
タグが指定されていない場合、アクティブなメンテナンス中のホストのすべての障害が抑制されます。

パラメータの動作:
- メンテナンスオブジェクトmaintenance_type が "with data collection" に設定されている場合に サポート
groupids
(deprecated)
array このパラメータは非推奨です。代わりに groups を使用してください。
メンテナンス対象となるホストグループのID。
hostids
(deprecated)
array このパラメータは非推奨です。代わりに hosts を使用してください。
メンテナンス対象となるホストのID。

戻り値

(object) maintenanceidsプロパティの下で作成されたメンテナンスのIDを含むオブジェクトを返します。 返されるIDの順序は、渡されたメンテナンスの順序と一致します。

メンテナンスの作成

ID「2」のホストグループに対して、データ収集ありのメンテナンスを作成します。対象の障害タグは service:mysqld および error です。
このメンテナンスは 17.03.2026 から 17.03.2027 まで有効で、毎週日曜日の 18:00 に開始し、1 時間継続します。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "maintenance.create",
    "params": {
        "name": "Sunday maintenance",
        "active_since": 1773720240,
        "active_till": 1805256240,
        "tags_evaltype": 0,
        "groups": [
            {"groupid": "2"}
        ],
        "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
}

関連項目

ソース

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