maintenance.create

Opis

object maintenance.create(object/array maintenances)

Ta metoda umożliwia tworzenie nowych konserwacji.

Ta metoda jest dostępna tylko dla typów użytkowników Admin i Super admin. Uprawnienia do wywołania metody można odebrać w ustawieniach roli użytkownika. Więcej informacji można znaleźć w sekcji Role użytkowników.

Parametry

(object/array) Okresy konserwacji do utworzenia.

Oprócz standardowych właściwości okresu konserwacji metoda przyjmuje następujące parametry.

Parameter Type Description
groups object/array Grupy hostów, które mają zostać objęte okresem konserwacji.

Grupy hostów mogą mieć zdefiniowaną wyłącznie właściwość groupid.

Zachowanie parametru:
- wymagany, jeśli nie ustawiono hosts
hosts object/array Hosty, które mają zostać objęte okresem konserwacji.

Hosty mogą mieć zdefiniowaną wyłącznie właściwość hostid.

Zachowanie parametru:
- wymagany, jeśli nie ustawiono groups
triggers object/array Wyzwalacze, które mają zostać objęte okresem konserwacji.

Wyzwalacze mogą mieć zdefiniowaną wyłącznie właściwość triggerid.

Zachowanie parametru:
- wymagany, jeśli nie ustawiono groups ani hosts
- obsługiwany, jeśli maintenance_type=0 (z gromadzeniem danych)
event_names object/array Nazwy zdarzeń definiujące problemy, które mają zostać objęte okresem konserwacji.

Zachowanie parametru:
- obsługiwany, jeśli maintenance_type=0 (z gromadzeniem danych)
tags object/array Znaczniki problemów definiujące problemy, które mają zostać objęte okresem konserwacji.

Zachowanie parametru:
- obsługiwany, jeśli właściwość maintenance_type obiektu Maintenance jest ustawiona na „z gromadzeniem danych”
timeperiods object/array Okresy konserwacji.

Zachowanie parametru:
- wymagany

Wartości zwracane

(object) Zwraca obiekt zawierający identyfikatory utworzonych konserwacji w ramach właściwości maintenanceids. Kolejność zwróconych identyfikatorów odpowiada kolejności przekazanych konserwacji.

Przykłady

Tworzenie okresu utrzymania

Utwórz okres utrzymania ze zbieraniem danych dla grupy hostów o identyfikatorze „20” oraz z tagami problemu service:mysqld i error.
Musi być aktywny od 17.03.2026 do 17.03.2027, rozpoczynać się w każdą niedzielę o 18:00 i trwać godzinę.

Żądanie:

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

Odpowiedź:

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

Tworzenie konserwacji ad hoc

Utwórz jednogodzinną konserwację ad hoc ze zbieraniem danych dla grupy hostów o identyfikatorze „4”, wyzwalacza o identyfikatorze „12345” oraz nazwy zdarzenia Printer: ink low.

Żądanie:

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

Odpowiedź:

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

Zobacz także

Źródło

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