Custom Model E2E Network Slicing - RAN Inventory
[cps.git] / cps-service / src / test / resources / e2e / basic / cps-ran-inventory.yang
1 module cps-ran-inventory {
2   yang-version 1.1;
3   namespace "org:onap:ccsdk:features:sdnr:northbound:cps-ran-inventory";
4   prefix ran-info;
5
6     organization
7     "Open Network Automation Platform - ONAP
8      <https://www.onap.org>";
9   contact
10     "Editors:
11        Ă€hila Pandaram
12        <mailto:ahila.pandaram@wipro.com>
13
14        Swaminathan Seetharaman
15        <mailto:swaminathan.seetharaman@wipro.com>";
16   description
17     "This module contains YANG definitions of RAN inventory that contains the NSSI and slice profile details.
18
19     Copyright (C) 2020-2021 Wipro Limited.
20
21     Licensed under the Apache License, Version 2.0 (the 'License')
22     you may not use this file except in compliance with the License.
23     You may obtain a copy of the License at
24
25     http://www.apache.org/licenses/LICENSE-2.0
26
27     Unless required by applicable law or agreed to in writing, software
28     distributed under the License is distributed on an 'AS IS' BASIS,
29     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
30     See the License for the specific language governing permissions and
31     limitations under the License.";
32
33   revision 2021-01-28 {
34     description
35       "RAN Network YANG Model for ONAP/O-RAN POC";
36     reference
37       "https://wiki.onap.org/display/DW/E2E+Network+Slicing+Use+Case+in+R7+Guilin";
38     }
39
40     typedef Mcc {
41     type string;
42     description
43       "The mobile country code consists of three decimal digits,
44        The first digit of the mobile country code identifies the geographic
45        region (the digits 1 and 8 are not used):";
46     reference
47       "3GPP TS 23.003 subclause 2.2 and 12.1";
48   }
49
50   typedef Mnc {
51     type string;
52     description
53       "The mobile network code consists of two or three
54        decimal digits (for example: MNC of 001 is not the same as MNC of 01)";
55     reference
56       "3GPP TS 23.003 subclause 2.2 and 12.1";
57   }
58
59     grouping SliceProfile{
60                 leaf sliceProfileId{
61                         type string;
62                         mandatory true;
63                         description "slice profile id";
64                 }
65                 leaf sNSSAI{
66                         type string;
67                         mandatory false;
68                         description "The S-NSSAI may include both the SST and SD fields (in which case the S-NSSAI length is 32 bits in total), or the S-NSSAI may just include the SST field (in which case the S-NSSAI length is 8 bits only)";
69                 }
70                 leaf maxNumberofUEs{
71                         type int64 { range "0..68719476735"; }
72                         mandatory false;
73                         description "maximum number of UEs";
74                 }
75                 leaf latency{
76                         type int64 { range "0..68719476735"; }
77                         mandatory false;
78                         description "latency of the slice requested by the operator";
79                 }
80                 leaf uLThptPerSlice{
81                         type int64 { range "0..68719476735"; }
82                         mandatory false;
83                         description "uplink throughput of the slice requested by the operator";
84                 }
85                 leaf dLThptPerSlice{
86                         type int64 { range "0..68719476735"; }
87                         mandatory false;
88                         description "downlink throughput  of the slice requested by the operator";
89                 }
90                 leaf maxNumberofConns{
91                         type int64 { range "0..68719476735"; }
92                         mandatory false;
93                         description "maximum number of connections to be served by the slice";
94                 }
95                 leaf uEMobilityLevel{
96                         type string;
97                         mandatory false;
98                         description "Mobility level of the UE";
99                 }
100     leaf resourceSharingLevel{
101       type string;
102       description "Resource sharing level";
103     }
104
105     leaf-list coverageAreaList{
106                 type string;
107                 config true;
108                 description "Identifies the list of coverage areas to be served by the slice";
109         }
110
111           list pLMNIdList {
112       description "List of at most six entries of PLMN Identifiers, but at least
113         one (the primary PLMN Id).
114         The PLMN Identifier is composed of a Mobile Country Code (MCC) and a
115         Mobile Network Code (MNC).";
116       key "mcc mnc";
117       uses PLMNId;
118     }
119
120         }
121
122     grouping PLMNId {
123     description
124       "It specifies the PLMN identifier to be used as part of the global RAN node identity";
125     reference
126       "TS 23.658";
127     leaf mcc {
128       type Mcc;
129       mandatory true;
130       description
131         "The mobile country code consists of three decimal digits,
132        The first digit of the mobile country code identifies the geographic
133        region (the digits 1 and 8 are not used)";
134     }
135     leaf mnc {
136       type Mnc;
137       mandatory true;
138       description
139         "The mobile network code consists of two or three
140        decimal digits (for example: MNC of 001 is not the same as MNC of 01)";
141     }
142   }
143
144     container ran-inventory{
145       leaf rannfnssiid{
146       description "NSSI of a RAN network function";
147       type string;
148     }
149
150     list sliceProfilesList{
151                 uses SliceProfile;
152                 key "sliceProfileId";
153                 description "List of slice profiles supported by the ran slice";
154         }
155
156     leaf subnetStatus{
157       description "status of  RAN NF NSSI";
158       type string;
159     }
160
161     leaf nsstid{
162       description "template Id of a RAN NF NSST";
163       type string;
164     }
165
166     leaf slicetype{
167       description "Type of RAN Slice";
168       type string;
169     }
170
171     leaf isshareable{
172       description "Shareability of RAN Slice";
173       type string;
174     }
175     }
176     }