maintenance.create

Description

object maintenance.create(object/array maintenances)

Cette méthode vous permet de créer de nouvelles maintenances.

Cette méthode est disponible uniquement pour les types d'utilisateur Admin et Super admin. Les autorisations d'appel de la méthode peuvent être révoquées dans les paramètres du rôle utilisateur. Voir Rôles d'utilisateur pour plus d'informations.

Paramètres

(object/array) Maintenances à créer.

En plus des propriétés standard des maintenances, la méthode accepte les paramètres suivants.

Parameter Type Description
groups object/array Groupes d’hôtes à placer en maintenance.

Les groupes d’hôtes doivent avoir uniquement la propriété groupid définie.

Comportement du paramètre :
- obligatoire si hosts n’est pas défini
hosts object/array Hôtes à placer en maintenance.

Les hôtes doivent avoir uniquement la propriété hostid définie.

Comportement du paramètre :
- obligatoire si groups n’est pas défini
triggers object/array Déclencheurs à placer en maintenance.

Les déclencheurs doivent avoir uniquement la propriété triggerid définie.

Comportement du paramètre :
- obligatoire si groups et hosts ne sont pas définis
- pris en charge si maintenance_type=0 (avec collecte de données)
event_names object/array Noms d’événements permettant de définir les problèmes à placer en maintenance.

Comportement du paramètre :
- pris en charge si maintenance_type=0 (avec collecte de données)
tags object/array Étiquettes de problèmes permettant de définir les problèmes à placer en maintenance.

Comportement du paramètre :
- pris en charge si maintenance_type de l’objet Maintenance est défini sur « avec collecte de données »
timeperiods object/array Périodes de maintenance.

Comportement du paramètre :
- obligatoire

Valeurs retournées

(object) Retourne un objet contenant les identifiants des maintenance créées sous la propriété maintenanceids. L'ordre des ID retournés correspond à l'ordre des maintenances transmises.

Exemples

Création d'une maintenance

Créez une maintenance avec collecte des données pour le groupe de hôtes ayant l'ID « 20 », et avec les tags de problème service:mysqld et error.
Elle doit être active du 17.03.2026 au 17.03.2027, prendre effet chaque dimanche à 18:00 et durer une heure.

Requête :

{
    "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
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": {
        "maintenanceids": [
            "3"
        ]
    },
    "id": 1
}

Création d'une maintenance ad hoc

Créez une maintenance ad hoc d'une heure avec collecte des données pour le groupe d'hôtes dont l'ID est « 4 », le déclencheur dont l'ID est « 12345 » et le nom d'événement Printer: ink low.

Requête :

{
    "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
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": {
        "maintenanceids": [
            "4"
        ]
    },
    "id": 1
}

Voir aussi

Source

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