X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2dms%2Fdomain%2Fdms.py;h=3555e1ce712d7218ed7b894a5c03c55490778f35;hb=ac3d5fc0fba9caed9a65c3200362e68826e3e272;hp=ceef458de539ff17f4cf29a5a700ab6899a05769;hpb=84867b76a65efc4e9add52c86eae7e451c4a038d;p=pti%2Fo2.git diff --git a/o2dms/domain/dms.py b/o2dms/domain/dms.py index ceef458..3555e1c 100644 --- a/o2dms/domain/dms.py +++ b/o2dms/domain/dms.py @@ -13,19 +13,68 @@ # limitations under the License. from __future__ import annotations +from o2dms.domain import events +from o2dms.domain.states import NfDeploymentState -from o2common.domain.base import AgRoot +from o2common.domain.base import AgRoot, Serializer -class NfDeploymentDesc(AgRoot): +class NfDeploymentDesc(AgRoot, Serializer): def __init__(self, id: str, name: str, dmsId: str, description: str = '', - inputParams: str = '', outputParams: str = '',) -> None: + inputParams: str = '', outputParams: str = '', + artifactRepoUrl: str = '', artifactName: str = '') -> None: super().__init__() self.id = id self.version_number = 0 - self.dmsId = dmsId + self.deploymentManagerId = dmsId self.name = name self.description = description self.inputParams = inputParams self.outputParams = outputParams - self.extensions = [] + self.artifactRepoUrl = artifactRepoUrl + self.artifactName = artifactName + self.status = 0 + # self.extensions = [] + + +class NfDeployment(AgRoot, Serializer): + def __init__(self, id: str, name: str, dmsId: str, description: str = '', + descriptorId: str = '', parentId: str = '',) -> None: + super().__init__() + self.id = id + self.version_number = 0 + self.deploymentManagerId = dmsId + self.name = name + self.description = description + self.descriptorId = descriptorId + self.parentDeploymentId = parentId + self.status = NfDeploymentState.Initial + + def transit_state(self, state: NfDeploymentState): + if (self.status != state): + self._append_event(self.status, state) + self.status = state + + def _append_event(self, fromState, toState): + if not hasattr(self, "events"): + self.events = [] + self.events.append( + events.NfDeploymentStateChanged( + NfDeploymentId=self.id, FromState=fromState, ToState=toState)) + + +class NfOCloudVResource(AgRoot, Serializer): + def __init__(self, id: str, name: str, dmsId: str, description: str = '', + descriptorId: str = '', nfDeploymentId: str = '', + vresourceType: int = 0,) -> None: + super().__init__() + self.id = id + self.version_number = 0 + self.deploymentManagerId = dmsId + self.name = name + self.description = description + self.descriptorId = descriptorId + self.nfDeploymentId = nfDeploymentId + self.vresourceType = vresourceType + self.status = 0 + self.metadata = []