# pylint: disable=too-few-public-methods
from dataclasses import dataclass
+from datetime import datetime
+from o2common.domain.events import Event
+from o2ims.domain.subscription_obj import NotificationEventEnum
+from o2ims.domain.alarm_obj import AlarmNotificationEventEnum
-class Event:
- pass
+
+@dataclass
+class OcloudChanged(Event):
+ id: str
+ notificationEventType: NotificationEventEnum
+ updatetime: datetime.now()
+
+
+@dataclass
+class ResourceTypeChanged(Event):
+ id: str
+ updatetime: datetime.now()
+
+
+@dataclass
+class ResourcePoolChanged(Event):
+ id: str
+ notificationEventType: NotificationEventEnum
+ updatetime: datetime.now()
+
+
+@dataclass
+class ResourceChanged(Event):
+ id: str
+ resourcePoolId: str
+ notificationEventType: NotificationEventEnum
+ updatetime: datetime.now()
@dataclass
-class OcloudUpdated(Event):
- oCloudId: str
+class AlarmEventChanged(Event):
+ id: str
+ notificationEventType: AlarmNotificationEventEnum
+ updatetime: datetime.now()