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 os 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 do usuário. Veja Funções de usuário para 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 que passarão por 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 que passarão por manutenção.

Os hosts devem ter apenas a propriedade hostid definida.

Comportamento do parâmetro:
- obrigatório se groups não estiver definido
timeperiods object/array Períodos de tempo de manutenção.

Comportamento do parâmetro:
- obrigatório
tags object/array Tags de problema.

Define quais problemas devem ser suprimidos.
Se nenhuma tag for fornecida, todos os problemas ativos de manutenção do host serão suprimidos.

Comportamento do parâmetro:
- suportado se maintenance_type do objeto Maintenance estiver definido como "com coleta de dados"

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 "2" e com tags de problema service:mysqld e error. Ela deve estar ativa de 22.01.2013 até 22.01.2014, entrar em vigor todo domingo às 18:00 e durar por uma hora.

Requisição:

{
    "jsonrpc": "2.0",
    "method": "maintenance.create",
    "params": {
        "name": "Sunday maintenance",
        "active_since": 1358844540,
        "active_till": 1390466940,
        "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
}

Resposta:

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

Veja também

Origem

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