- alarm = Alarm()
- alarm.name = name
- alarm.threshold = threshold
- alarm.operation = operation
- alarm.severity = severity
- alarm.statistic = statistic
- alarm.monitoring_param = metric_name
- alarm.vdur_name = vdur_name
- alarm.vnf_member_index = vnf_member_index
- alarm.nsr_id = nsr_id
- alarm.save()
- return alarm
-
- def delete_alarm(self, alarm_id) -> None:
- alarm = (Alarm.select()
- .where(Alarm.alarm_id == alarm_id)
- .get())
- alarm.delete()
+ # TODO: Add uuid optional param and check if exists to handle updates (see self.save_credentials)
+ db.connect()
+ try:
+ with db.atomic():
+ alarm = Alarm()
+ alarm.uuid = str(uuid.uuid4())
+ alarm.name = name
+ alarm.threshold = threshold
+ alarm.operation = operation
+ alarm.severity = severity
+ alarm.statistic = statistic
+ alarm.monitoring_param = metric_name
+ alarm.vdur_name = vdur_name
+ alarm.vnf_member_index = vnf_member_index
+ alarm.nsr_id = nsr_id
+ alarm.save()
+ return alarm
+ finally:
+ db.close()
+
+ def delete_alarm(self, alarm_uuid) -> None:
+ db.connect()
+ with db.atomic():
+ alarm = (Alarm.select()
+ .where(Alarm.uuid == alarm_uuid)
+ .get())
+ alarm.delete_instance()
+ db.close()