-# Copyright (C) 2021 Wind River Systems, Inc.
+# Copyright (C) 2021-2024 Wind River Systems, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# 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
+
+
+@dataclass
+class OcloudChanged(Event):
+ id: str
+ notificationEventType: NotificationEventEnum
+ updatetime: datetime.now()
+
+
+@dataclass
+class ResourceTypeChanged(Event):
+ id: str
+ notificationEventType: NotificationEventEnum
+ updatetime: datetime.now()
+
+
+@dataclass
+class DmsChanged(Event):
+ id: str
+ notificationEventType: NotificationEventEnum
+ 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()
@dataclass
-class ResourceTypeUpdated(Event):
- oCloudId: str
+class AlarmEventPurged(Event):
+ id: str
+ notificationEventType: AlarmNotificationEventEnum
+ updatetime: datetime.now()