Es gibt ein besonderes Set von API-Methoden, um Wartungszeiträume für ein Prüfobjekt oder für alle Prüfobjekte in einer Prüfobjektgruppe einzurichten.
Object-Beschreibung für Wartungszeiträume
Die folgenden MaintenancePeriod-Objekte werden in den nachfolgend beschriebenen API-Methoden verwendet:
Name | Beschreibung | Datentyp |
---|---|---|
Id | Die einzigartige Kennung des Wartungszeitraums | Integer |
ScheduleMode | OneTime, Daily, Weekly oder Monthly | Enum |
StartDateTime | Startdatum und -zeit (nur für einen einmal geplanten Zeitraum) | DateTime |
EndDateTime | Enddatum und -zeit eines einmal geplanten Wartungszeitraums | DateTime |
StartTime | Die Startzeit (“HH:mm”, eine 24-Stundennotation) eines sich wiederholenden (Daily, Weekly oder Monthly) Wartungszeitraums | String (“HH:mm”) |
EndTime | Die Endzeit (“HH:mm”, eine 24-Stundennotation) eines sich wiederholenden (Daily, Weekly oder Monthly) Wartungszeitraums | String (“HH:mm”) |
WeekDay | Der Tag der Woche für einen Wartungszeitraum (Sunday/Monday/[…]/Saturday) | Enum |
MonthDay | Die Zahl des Tages für einen monatlichen Wartungszeitraum | Int (1-31) |
MaintenanceType | DisableMonitoring (um das Prüfobjekt komplett zu deaktivieren) oder DisableNotifications (Monitoring wird weiterhin durchgeführt, aber Benachrichtigungen werden nicht gesendet) | Enum |
Wenn ein Wartungszeitraum durch die API zurückgegeben wird, sind alle Eigenschaften vorhanden, aber abhängig vom ScheduleMode werden einige Felder in Bezug auf Start- und Enddaten/-zeiten nicht verwendet.
Für einen einmaligen Wartungszeitraum müssen wir Start- und Enddatum und -zeit wissen, sodass die Angaben StartDateTime und EndDateTime verwendet werden. Für sich wiederholende Wartungszeiträume sind die Felder Start- und Endzeiten angebracht und, abhängig vom Zeitplantyp, die Eigenschaften WeekDay oder MonthDay.
Zum Beispiel würde ein täglicher Zeitplan folgendermaßen aussehen:
{
"Id": 123,
"ScheduleMode": "Daily",
"StartTime": "22:00",
"EndTime": "22:30",
"MaintenanceType": "DisableNotifications"
}
Die Eigenschaften, die nicht für diesen Zeitplantyp relevant sind (DateTime, WeekDay und MonthDay), werden ausgelassen.
Ein wöchentlicher Zeitplan würde folgendermaßen aussehen:
{
"Id": 123,
"ScheduleMode": "Weekly",
"WeekDay": "Thursday",
"StartTime": "22:00",
"EndTime": "22:30",
"MaintenanceType": "DisableNotifications"
}
Ein monatlicher Zeitplan würde folgendermaßen aussehen:
{
"Id": 125,
"ScheduleMode": "Monthly",
"MonthDay": 24,
"StartTime": "22:00",
"EndTime": "22:30",
"MaintenanceType": "DisableNotifications"
}
Ein einmaliger Zeitplan würde folgendermaßen aussehen:
{
"Id": 124,
"ScheduleMode": "OneTime",
"StartDateTime": "2018-09-24T22:00",
"EndDateTime": "2018-09-24T22:00",
"MaintenanceType": "DisableMonitoring"
}
Wartungszeitrum-Endpunkte
Es gibt die folgenden API-Endpunkte:
Anfragetyp | Endpunkt | Einsatz |
---|---|---|
GET | Monitor/{monitorGuid}/MaintenancePeriod | Findet alle Wartungszeiträume für ein Prüfobjekt. |
POST | Monitor/{monitorGuid}/MaintenancePeriod | Speichert den neuen angegebenen Wartungszeitraum für das spezifizierte Prüfobjekt |
PUT | Monitor/{monitorGuid}/MaintenancePeriod/ {maintenancePeriodId} | Aktualisiert den spezifizierten Wartungszeitraum für das spezifizierte Prüfobjekt |
DELETE | Monitor/{monitorGuid}/MaintenancePeriod/ {maintenancePeriodId} | Löscht den spezifizierten Wartungszeitraum für das spezifizierte Prüfobjekt |
POST | Monitor/{monitorGuid}/MaintenancePeriod/ Cleanup/{beforeDate} | Löscht alle einmaligen Wartungszeiträume für das spezifizierte Prüfobjekt, die älter als das spezifizierte Datum sind |
POST | MonitorGroup/{monitorGroupGuid}/ MaintenancePeriod | Fügt den angegebenen Wartungszeitraum zu allen Prüfobjekten in der spezifizierten Gruppe hinzu |
GET Monitor
GET Monitor/{monitorGuid}/MaintenancePeriod
Diese GET-Anfrage ergibt eine Sammlung mit allen Wartungszeiträumen, die für das Prüfobjekt mit angegebener GUID geplant sind.
Beispiel-Ausgabe:
[
{
"Id": 125,
"ScheduleMode": "Monthly",
"MonthDay": 24,
"StartTime": "22:00",
"EndTime": "22:30",
"MaintenanceType": "DisableNotifications"
},
{
"Id": 123,
"ScheduleMode": "Weekly",
"WeekDay": "Thursday",
"StartTime": "22:00",
"EndTime": "22:30",
"MaintenanceType": "DisableNotifications"
}
]
POST Monitor
POST Monitor/{monitorGuid}/MaintenancePeriod
Diese Methode erzeugt einen Wartungszeitraum, der im Abfragetext angegeben wurde und dem Prüfobjekt mit der angegebenen GUID zugewiesen wird.
Eine POST-Abfrage erwartet eine Objektstruktur wie in den Beispielen unter „Object-Beschreibung für Wartungszeiträume“ angegeben. Wie dort gezeigt ist die Struktur abhängig vom Wartungszeitraumtyp (OneTime, Daily, Weekly oder Monthly). Des Weiteren sollte das Feld „Id“ nicht angegeben sein. Ein neuer Id-Wert wird automatisch generiert.
PUT Monitor
PUT Monitor/{monitorGuid}/MaintenancePeriod/{maintenancePeriodId}
Diese Methode aktualisiert den Wartungszeitraum mit angegebener Wartungszeitraum-ID durch die im Abfragetext angegeben Werte.
Erwartete Eingabe (Beispiel für einen monatlichen Wartungszeitraum):
{
"Id": 125,
"ScheduleMode": "Monthly",
"MonthDay": 24,
"StartTime": "22:00",
"EndTime": "22:30",
"MaintenanceType": "DisableNotifications"
}
Bitte beachte, dass die Id des Wartungszeitraums in der Abfrage genauso wie im maintenancePeriodId-Parameter angegeben werden muss. Wenn die Id im Parameter nicht mit der Id des Wartungszeitraums im Abfragetext übereinstimmt, wird eine Ausnahme zurückgegeben.
DELETE Monitor
DELETE Monitor/{monitorGuid}/MaintenancePeriod/{maintenancePeriodId}
Diese Methode wird den Wartungszeitraum mit der in maintenancePeriodId spezifizierten Id aus dem Prüfobjekt mit der angegebenen monitorGuid löschen.
POST Monitor
POST Monitor/{monitorGuid}/MaintenancePeriod/Cleanup/{beforeDate}
Diese Methode wird alle einmaligen Zeitpläne mit einer vor dem in beforeDate angegebener StartDateTime aus dem Prüfobjekt mit der angegebenen monitorGuid entfernen.
POST MonitorGroup
POST MonitorGroup/{monitorGroupGuid}/MaintenancePeriod
Diese Methode wird den im Abfragetext angegebenen Wartungszeitraum zu allen Prüfobjekten der Prüfobjektgruppe mit der angegebenen Guid der Prüfobjektgruppe hinzufügen.
Erwartete Eingabe (Beispiel für einen wöchentlichen Wartungszeitraum):
{
"ScheduleMode": "Weekly",
"WeekDay": "Thursday",
"StartTime": "22:00",
"EndTime": "22:30",
"MaintenanceType": "DisableNotifications"
}