maintenance.create

Opis

object maintenance.create(object/array maintenances)

Ta metoda pozwala na tworzenie nowych konserwacji.

Ta metoda jest dostępna tylko dla użytkowników typu Admin i Super admin. Uprawnienia do wywołania metody można odwołać w ustawieniach roli użytkownika. Więcej informacji można znaleźć w User roles.

Parametry

(object/array) Okna konserwacyjne do utworzenia.

Oprócz standardowych właściwości okna konserwacyjnego, metoda akceptuje następujące parametry.

Parametr Typ Opis
groups object/array Grupy hostów, które zostaną objęte konserwacją.

Grupy hostów muszą mieć zdefiniowaną tylko właściwość groupid.

Zachowanie parametru:
- wymagany, jeśli hosts nie jest ustawione
hosts object/array Hosty, które zostaną objęte konserwacją.

Hosty muszą mieć zdefiniowaną tylko właściwość hostid.

Zachowanie parametru:
- wymagany, jeśli groups nie jest ustawione
timeperiods object/array Okresy czasu konserwacji.

Zachowanie parametru:
- wymagany
tags object/array Tagi problemów.

Określają, które problemy mają być tłumione.
Jeśli nie podano tagów, wszystkie problemy hostów z aktywnej konserwacji będą tłumione.

Zachowanie parametru:
- obsługiwany, jeśli maintenance_type obiektu Maintenance object jest ustawione na "with data collection"

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 konserwacji

Utwórz okres konserwacji ze zbieraniem danych dla grupy hostów o ID „2” oraz z tagami problemów service:mysqld i error. Musi on być aktywny od 17.03.2026 do 17.03.2027, wchodzić w życie w każdą niedzielę o 18:00 i trwać jedną godzinę.

Żądanie:

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

Odpowiedź:

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

Zobacz także

Źródło

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