##
import logging
+import uuid
-from peewee import CharField, TextField, FloatField, Model
+from peewee import CharField, TextField, FloatField, Model, AutoField
from playhouse.db_url import connect
from osm_mon.core.settings import Config
class BaseModel(Model):
+ id = AutoField(primary_key=True)
class Meta:
database = db
class Alarm(BaseModel):
+ uuid = CharField(unique=True)
name = CharField()
severity = CharField()
threshold = FloatField()
def save_alarm(self, name, threshold, operation, severity, statistic, metric_name, vdur_name,
vnf_member_index, nsr_id) -> Alarm:
"""Saves alarm."""
+ # TODO: Add uuid optional param and check if exists to handle updates (see self.save_credentials)
alarm = Alarm()
+ alarm.uuid = str(uuid.uuid4())
alarm.name = name
alarm.threshold = threshold
alarm.operation = operation
alarm.save()
return alarm
- def delete_alarm(self, alarm_id) -> None:
+ def delete_alarm(self, alarm_uuid) -> None:
alarm = (Alarm.select()
- .where(Alarm.alarm_id == alarm_id)
+ .where(Alarm.uuid == alarm_uuid)
.get())
- alarm.delete()
+ alarm.delete_instance()
def get_vim_type(self, vim_account_id) -> str:
"""Get the vim type that is required by the message."""