Add the support of activate/deactivate events to RAN NSSMF simulator
[integration.git] / test / mocks / ran-nssmf-simulator / RanNssmfSimulator / SliceDataType.py
1 #  ============LICENSE_START=======================================================
2 #  Copyright (C) 2020 Huawei Technologies Co., Ltd. All rights reserved.
3 #  Contribution (C) 2022 Aarna Networks, Inc. All rights reserved.
4 #  ================================================================================
5 #  Licensed under the Apache License, Version 2.0 (the "License");
6 #  you may not use this file except in compliance with the License.
7 #  You may obtain a copy of the License at
8 #
9 #       http://www.apache.org/licenses/LICENSE-2.0
10 #
11 #  Unless required by applicable law or agreed to in writing, software
12 #  distributed under the License is distributed on an "AS IS" BASIS,
13 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 #  See the License for the specific language governing permissions and
15 #  limitations under the License.
16 #  ============LICENSE_END=========================================================
17
18 from schematics.types import BaseType, StringType, IntType, LongType
19 from schematics.types.compound import ModelType, ListType, DictType
20 from schematics.models import Model
21
22
23 class PerfReqEmbb(Model):
24     """Reference 3GPP TS 28.541 V16.5.0, Section 6.4.1."""
25     expDataRateDL = IntType()
26     expDataRateUL = IntType()
27     areaTrafficCapDL = IntType()
28     areaTrafficCapUL = IntType()
29     overallUserDensity = IntType()
30     activityFactor = IntType()
31
32
33 class PerfReqUrllc(Model):
34     """TODO"""
35     pass
36
37
38 class PerfReq(Model):
39     """Reference 3GPP TS 28.541 V16.5.0."""
40     perfReqEmbbList = ListType(ModelType(PerfReqEmbb))
41     # perfReqUrllcList = ListType(ModelType(PerfReqUrllc))
42     perfReqUrllcList = ListType(DictType(BaseType))
43
44
45 class SliceProfile(Model):
46     """Reference 3GPP TS 28.541 V16.5.0, Section 6.3.4."""
47     sliceProfileId = StringType(required=True)
48     sNSSAIList = ListType(StringType(required=True))
49     pLMNIdList = ListType(StringType(required=True))
50     perfReq = ModelType(PerfReq, required=True)
51     maxNumberofUEs = LongType()
52     coverageAreaTAList = ListType(IntType())
53     latency = IntType()
54     uEMobilityLevel = StringType()
55     resourceSharingLevel = StringType()
56
57
58 class AllocateNssi(Model):
59     """Reference 3GPP TS 28.531 V16.6.0."""
60     attributeListIn = ModelType(SliceProfile)
61
62
63 class DeAllocateNssi(Model):
64     """Reference 3GPP TS 28.531 V16.6.0."""
65     nSSId = StringType(required=True)
66
67 class ActivateNssi(Model):
68     """Reference 3GPP TS 28.531 V16.6.0."""
69     nsiId = StringType(required=True)
70     nssiId = StringType(required=True)
71
72 class DeActivateNssi(Model):
73     """Reference 3GPP TS 28.531 V16.6.0."""
74     nsiId = StringType(required=True)
75     nssiId = StringType(required=True)