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.