maintenance.create

Descripción

object maintenance.create(object/array maintenances)

Este método le permite crear nuevos mantenimientos.

Este método solo está disponible para los tipos de usuario Admin y Super admin. Los permisos para llamar al método se pueden revocar en la configuración de roles de usuario. Consulte User roles para obtener más información.

Parámetros

(object/array) Mantenimientos que se crearán.

Además de las propiedades estándar de mantenimiento, el método acepta los siguientes parámetros.

Parámetro Tipo Descripción
groups object/array Grupos de hosts que se incluirán en el mantenimiento.

Los grupos de hosts deben tener definida únicamente la propiedad groupid.

Comportamiento del parámetro:
- obligatorio si no se establece hosts
hosts object/array Hosts que se incluirán en el mantenimiento.

Los hosts deben tener definida únicamente la propiedad hostid.

Comportamiento del parámetro:
- obligatorio si no se establece groups
triggers object/array Triggers que se incluirán en el mantenimiento.

Los triggers deben tener definida únicamente la propiedad triggerid.

Comportamiento del parámetro:
- obligatorio si no se establecen groups ni hosts
- compatible si maintenance_type=0 (con recopilación de datos)
event_names object/array Nombres de eventos para definir los problemas que se incluirán en el mantenimiento.

Comportamiento del parámetro:
- compatible si maintenance_type=0 (con recopilación de datos)
tags object/array Etiquetas de problemas para definir los problemas que se incluirán en el mantenimiento.

Comportamiento del parámetro:
- compatible si maintenance_type del objeto Maintenance está establecido en "con recopilación de datos"
timeperiods object/array Períodos de tiempo del mantenimiento.

Comportamiento del parámetro:
- obligatorio

Valores de retorno

(object) Devuelve un objeto que contiene los IDs de los mantenimientos creados bajo la propiedad maintenanceids. El orden de los IDs devueltos coincide con el orden de los mantenimientos enviados.

Ejemplos

Creación de un mantenimiento

Cree un mantenimiento con recopilación de datos para el grupo de hosts con ID "20" y con las etiquetas de problema service:mysqld y error.
Debe estar activo desde el 17.03.2026 hasta el 17.03.2027, aplicarse cada domingo a las 18:00 y durar una hora.

Solicitud:

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

Respuesta:

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

Creación de un mantenimiento ad hoc

Cree un mantenimiento ad hoc de una hora con recopilación de datos para el grupo de hosts con ID "4", el trigger con ID "12345" y el nombre del evento Printer: ink low.

Solicitud:

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

Respuesta:

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

Véase también

Fuente

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