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/GetAll

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/GetAll

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