[INTEGRATION] Support additions in committers automation tool
[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 #  ================================================================================
4 #  Licensed under the Apache License, Version 2.0 (the "License");
5 #  you may not use this file except in compliance with the License.
6 #  You may obtain a copy of the License at
7 #
8 #       http://www.apache.org/licenses/LICENSE-2.0
9 #
10 #  Unless required by applicable law or agreed to in writing, software
11 #  distributed under the License is distributed on an "AS IS" BASIS,
12 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 #  See the License for the specific language governing permissions and
14 #  limitations under the License.
15 #  ============LICENSE_END=========================================================
16
17 from schematics.types import BaseType, StringType, IntType, LongType
18 from schematics.types.compound import ModelType, ListType, DictType
19 from schematics.models import Model
20
21
22 class PerfReqEmbb(Model):
23     """Reference 3GPP TS 28.541 V16.5.0, Section 6.4.1."""
24     expDataRateDL = IntType()
25     expDataRateUL = IntType()
26     areaTrafficCapDL = IntType()
27     areaTrafficCapUL = IntType()
28     overallUserDensity = IntType()
29     activityFactor = IntType()
30
31
32 class PerfReqUrllc(Model):
33     """TODO"""
34     pass
35
36
37 class PerfReq(Model):
38     """Reference 3GPP TS 28.541 V16.5.0."""
39     perfReqEmbbList = ListType(ModelType(PerfReqEmbb))
40     # perfReqUrllcList = ListType(ModelType(PerfReqUrllc))
41     perfReqUrllcList = ListType(DictType(BaseType))
42
43
44 class SliceProfile(Model):
45     """Reference 3GPP TS 28.541 V16.5.0, Section 6.3.4."""
46     sliceProfileId = StringType(required=True)
47     sNSSAIList = ListType(StringType(required=True))
48     pLMNIdList = ListType(StringType(required=True))
49     perfReq = ModelType(PerfReq, required=True)
50     maxNumberofUEs = LongType()
51     coverageAreaTAList = ListType(IntType())
52     latency = IntType()
53     uEMobilityLevel = StringType()
54     resourceSharingLevel = StringType()
55
56
57 class AllocateNssi(Model):
58     """Reference 3GPP TS 28.531 V16.6.0."""
59     attributeListIn = ModelType(SliceProfile)
60
61
62 class DeAllocateNssi(Model):
63     """Reference 3GPP TS 28.531 V16.6.0."""
64     nSSId = StringType(required=True)