# from datetime import date
# from typing import Optional
from dataclasses import dataclass
+# from datetime import datetime
+# from o2ims.domain.resource_type import ResourceTypeEnum
+from o2ims.domain.stx_object import StxGenericModel
+from o2ims.domain.subscription_obj import Message2SMO, RegistrationMessage
+from o2common.domain.commands import Command
-class Command:
+@dataclass
+class UpdateStxObject(Command):
+ data: StxGenericModel
+
+
+@dataclass
+class PubMessage2SMO(Command):
+ data: Message2SMO
+
+
+@dataclass
+class Register2SMO(Command):
+ data: RegistrationMessage
+
+
+@dataclass
+class UpdateOCloud(UpdateStxObject):
pass
@dataclass
-class UpdateDms(Command):
- ref: str
+class UpdateDms(UpdateStxObject):
+ parentid: str
+
+
+@dataclass
+class UpdateResourcePool(UpdateStxObject):
+ parentid: str
+
+
+@dataclass
+class UpdateResourceType(UpdateStxObject):
+ parentid: str
+
+
+@dataclass
+class UpdateResource(UpdateStxObject):
+ parentid: str
+
+
+@dataclass
+class UpdatePserver(UpdateResource):
+ pass
+
+
+@dataclass
+class UpdatePserverCpu(UpdateResource):
+ pass
+
+
+@dataclass
+class UpdatePserverMem(UpdateResource):
+ pass
+
+
+@dataclass
+class UpdatePserverEth(UpdateResource):
+ pass
+
+
+@dataclass
+class UpdatePserverIf(UpdateResource):
+ pass
+
+
+@dataclass
+class UpdatePserverIfPort(UpdateResource):
+ pass