@@ -351,3 +351,72 @@ def monthly(day, hour, minute):
351351 :param int minute: Minute
352352 """
353353 return AntivirusUpdateSchedule (mode = 'monthly' , monthly = Object (day = day , hour = hour , minute = minute ))
354+
355+
356+ class AlertSettings (Object ): # pylint: disable=too-many-instance-attributes
357+ """
358+ Alert Settings
359+
360+ :ivar bool firmware_upgrade: Enables alerting when a firmware upgrade occurs.
361+ :ivar bool device_startup: Enables alerting on Edge Filer shutdowns and startups.
362+ :ivar bool backup_success: Enables alerting upon successful backup completion.
363+ :ivar bool storage_volume_usage: Enables alerting for high storage volume utilization.
364+ :ivar int storage_volume_usage_percent: Volume usage percentage threshold that triggers an alert.
365+ :ivar bool overdue_backup: Enables alerting when a Cloud Backup is overdue.
366+ :ivar int overdue_backup_days: Number of days since last Cloud Backup after which an alert is triggered.
367+ :ivar bool delayed_synchronization: Enables alerting when synchronization is delayed.
368+ :ivar int delayed_synchronization_hours: Number of hours of synchronization delay to trigger an alert.
369+ :ivar bool disconnected: Enables alerting when the Edge Filer disconnects from the CTERA Portal.
370+ :ivar int disconnected_hours: Number of hours of disconnection duration to trigger an alert.
371+ """
372+ # pylint: disable=too-many-arguments, too-many-locals
373+ def __init__ (self , firmware_upgrade , device_startup , backup_success ,
374+ storage_volume_usage , storage_volume_usage_percent ,
375+ overdue_backup , overdue_backup_days ,
376+ delayed_synchronization , delayed_synchronization_hours ,
377+ disconnected , disconnected_hours ):
378+ super ().__init__ ()
379+ self .firmware_upgrade = firmware_upgrade
380+ self .device_startup = device_startup
381+ self .backup_success = backup_success
382+ self .storage_volume_usage = storage_volume_usage
383+ self .storage_volume_usage_percent = storage_volume_usage_percent
384+ self .overdue_backup = overdue_backup
385+ self .overdue_backup_days = overdue_backup_days
386+ self .delayed_synchronization = delayed_synchronization
387+ self .delayed_synchronization_hours = delayed_synchronization_hours
388+ self .disconnected = disconnected
389+ self .disconnected_hours = disconnected_hours
390+
391+ def to_server_object (self ):
392+ param = Object ()
393+ param ._classname = 'SpecificAlerts' # pylint: disable=protected-access
394+ param .NotifyFirmwareUpgrade = self .firmware_upgrade
395+ param .NotifyDeviceStarted = self .device_startup
396+ param .NotifyBackupSuccess = self .backup_success
397+ param .VolumeFullAlert = self .storage_volume_usage
398+ param .VolumeFullPercent = self .storage_volume_usage_percent
399+ param .BackupFailAlert = self .overdue_backup
400+ param .BackupFailDays = self .overdue_backup_days
401+ param .CloudSyncFailAlert = self .delayed_synchronization
402+ param .CloudSyncFailHours = self .delayed_synchronization_hours
403+ param .CloudConnectFailAlert = self .disconnected
404+ param .CloudConnectFailHours = self .disconnected_hours
405+ return param
406+
407+ @staticmethod
408+ def from_server_object (server_object ):
409+ params = {
410+ 'firmware_upgrade' : server_object .NotifyFirmwareUpgrade ,
411+ 'device_startup' : server_object .NotifyDeviceStarted ,
412+ 'backup_success' : server_object .NotifyBackupSuccess ,
413+ 'storage_volume_usage' : server_object .VolumeFullAlert ,
414+ 'storage_volume_usage_percent' : server_object .VolumeFullPercent ,
415+ 'overdue_backup' : server_object .BackupFailAlert ,
416+ 'overdue_backup_days' : server_object .BackupFailDays ,
417+ 'delayed_synchronization' : server_object .CloudSyncFailAlert ,
418+ 'delayed_synchronization_hours' : server_object .CloudSyncFailHours ,
419+ 'disconnected' : server_object .CloudConnectFailAlert ,
420+ 'disconnected_hours' : server_object .CloudConnectFailHours ,
421+ }
422+ return AlertSettings (** params )
0 commit comments