object maintenance.create(object/array maintenances)
Ta metoda pozwala na tworzenie nowych okresów utrzymania.
Ta metoda jest dostępna tylko dla użytkowników typu Admin i Super admin. Uprawnienia do wywołania metody można odebrać w ustawieniach ról użytkownika. Zobacz Role użytkownika aby uzyskać więcej informacji.
(object/array)
Okresy utrzymania do utworzenia.
Dodatkowo do standardowych właściwości okresu utrzymania metoda akceptuje następujące parametry.
Parametr | Typ | Opis |
---|---|---|
groups | object/array | Grupy hostów, które będą objęte utrzymaniem. Grupy hostów muszą mieć zdefiniowaną właściwość groupid .Przynajmniej jeden obiekt groups lub hosts musi być określony. |
hosts | object/array | Hosty, które będą objęte utrzymaniem. Hosty muszą mieć zdefiniowaną właściwość hostid .Przynajmniej jeden obiekt groups lub hosts musi być określony. |
timeperiods (wymagane) |
object/array | Okresy czasu utrzymania. |
tags | object/array | Znaczniki problemów. Definiuje, które problemy mają być wstrzymane. Jeśli nie podano tagów, wszystkie aktywne problemy hostów objętych utrzymaniem będą wstrzymane. |
groupids (przestarzałe) |
array | Ten parametr jest przestarzały, należy używać zamiast niego groups .IDs grup hostów, które będą objęte utrzymaniem. |
hostids (przestarzałe) |
array | Ten parametr jest przestarzały, należy używać zamiast niego hosts .IDs hostów, które będą objęte utrzymaniem. |
(object)
Zwraca obiekt zawierający identyfikatory utworzonych okresów utrzymania w właściwości maintenanceids
. Kolejność zwróconych identyfikatorów odpowiada kolejności przekazanych okresów utrzymania.
Utwórz okres utrzymania z trybem ze zbieraniem danych dla grupy hostów o identyfikatorze "2" oraz z znacznikami problemów service:mysqld i error. Ma być aktywny od 22.01.2013 do 22.01.2014, wchodzić w życie każdej niedzieli o godzinie 18:00 i trwać przez godzinę.
Zapytanie:
{
"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": ""
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Odpowiedź:
CMaintenance::create() w ui/include/classes/api/services/CMaintenance.php.