maintenance.create

Descrição

object maintenance.create(object/array maintenances)

Este método permite criar novas manutenções.

Este método está disponível apenas para tipos de usuário Admin e Super admin. As permissões para chamar o método podem ser revogadas nas configurações de função de usuário. Consulte Funções de usuário para obter mais informações.

Parâmetros

(object/array) Manutenções a serem criadas.

Além das propriedades padrão de manutenção, o método aceita os seguintes parâmetros.

Parâmetro Tipo Descrição
groups object/array Grupos de hosts a serem colocados em manutenção.

Os grupos de hosts devem ter apenas a propriedade groupid definida.

Comportamento do parâmetro:
- obrigatório se hosts não estiver definido
hosts object/array Hosts a serem colocados em manutenção.

Os hosts devem ter apenas a propriedade hostid definida.

Comportamento do parâmetro:
- obrigatório se groups não estiver definido
triggers object/array Triggers a serem colocados em manutenção.

Os triggers devem ter apenas a propriedade triggerid definida.

Comportamento do parâmetro:
- obrigatório se groups e hosts não estiverem definidos
- suportado se maintenance_type=0 (com coleta de dados)
event_names object/array Nomes de eventos para definir os problemas a serem incluídos na manutenção.

Comportamento do parâmetro:
- suportado se maintenance_type=0 (com coleta de dados)
tags object/array Tags de problemas para definir os problemas a serem incluídos na manutenção.

Comportamento do parâmetro:
- suportado se maintenance_type do objeto Maintenance estiver definido como "com coleta de dados"
timeperiods object/array Períodos de tempo da manutenção.

Comportamento do parâmetro:
- obrigatório

Valores de retorno

(object) Retorna um objeto contendo os IDs das manutenções criadas na propriedade maintenanceids. A ordem dos IDs retornados corresponde à ordem das manutenções passadas.

Exemplos

Criando uma manutenção

Crie uma manutenção com coleta de dados para o grupo de hosts com ID "20" e com as tags de problema service:mysqld e error.
Ela deve estar ativa de 17.03.2026 a 17.03.2027, entrar em vigor todos os domingos às 18:00 e durar uma hora.

Requisição:

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

Resposta:

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

Criando uma manutenção ad hoc

Crie uma manutenção ad hoc de uma hora com coleta de dados para o grupo de hosts com ID "4", o trigger com ID "12345" e o nome do evento Printer: ink low.

Solicitação:

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

Resposta:

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

Veja também

Origem

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