summaryrefslogtreecommitdiffstats
path: root/cps-service/src/test/resources/e2e/basic/cps-ran-inventory@2021-01-28.yang
blob: 2401409443fe1d695e337ebc841f3acadb07039c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
module cps-ran-inventory {
  yang-version 1.1;
  namespace "org:onap:ccsdk:features:sdnr:northbound:cps-ran-inventory";
  prefix ran-info;

    organization
    "Open Network Automation Platform - ONAP
     <https://www.onap.org>";
  contact
    "Editors:
       Àhila Pandaram
       <mailto:ahila.pandaram@wipro.com>

       Swaminathan Seetharaman
       <mailto:swaminathan.seetharaman@wipro.com>";
  description
    "This module contains YANG definitions of RAN inventory that contains the NSSI and slice profile details.

    Copyright (C) 2020-2021 Wipro Limited.

    Licensed under the Apache License, Version 2.0 (the 'License')
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an 'AS IS' BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.";

  revision 2021-01-28 {
    description
      "RAN Network YANG Model for ONAP/O-RAN POC";
    reference
      "https://lf-onap.atlassian.net/wiki/spaces/DW/pages/16414819/E2E+Network+Slicing+Use+Case+in+R7+Guilin";
    }

    typedef Mcc {
    type string;
    description
      "The mobile country code consists of three decimal digits,
       The first digit of the mobile country code identifies the geographic
       region (the digits 1 and 8 are not used):";
    reference
      "3GPP TS 23.003 subclause 2.2 and 12.1";
  }

  typedef Mnc {
    type string;
    description
      "The mobile network code consists of two or three
       decimal digits (for example: MNC of 001 is not the same as MNC of 01)";
    reference
      "3GPP TS 23.003 subclause 2.2 and 12.1";
  }

    grouping SliceProfile{
                leaf sliceProfileId{
                        type string;
                        mandatory true;
                        description "slice profile id";
                }
                leaf sNSSAI{
                        type string;
                        mandatory false;
                        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)";
                }
                leaf maxNumberofUEs{
                        type int64 { range "0..68719476735"; }
                        mandatory false;
                        description "maximum number of UEs";
                }
                leaf latency{
                        type int64 { range "0..68719476735"; }
                        mandatory false;
                        description "latency of the slice requested by the operator";
                }
                leaf uLThptPerSlice{
                        type int64 { range "0..68719476735"; }
                        mandatory false;
                        description "uplink throughput of the slice requested by the operator";
                }
                leaf dLThptPerSlice{
                        type int64 { range "0..68719476735"; }
                        mandatory false;
                        description "downlink throughput  of the slice requested by the operator";
                }
                leaf maxNumberofConns{
                        type int64 { range "0..68719476735"; }
                        mandatory false;
                        description "maximum number of connections to be served by the slice";
                }
                leaf uEMobilityLevel{
                        type string;
                        mandatory false;
                        description "Mobility level of the UE";
                }
    leaf resourceSharingLevel{
      type string;
      description "Resource sharing level";
    }

    leaf-list coverageAreaList{
                type string;
                config true;
                description "Identifies the list of coverage areas to be served by the slice";
        }

          list pLMNIdList {
      description "List of at most six entries of PLMN Identifiers, but at least
        one (the primary PLMN Id).
        The PLMN Identifier is composed of a Mobile Country Code (MCC) and a
        Mobile Network Code (MNC).";
      key "mcc mnc";
      uses PLMNId;
    }

        }

    grouping PLMNId {
    description
      "It specifies the PLMN identifier to be used as part of the global RAN node identity";
    reference
      "TS 23.658";
    leaf mcc {
      type Mcc;
      mandatory true;
      description
        "The mobile country code consists of three decimal digits,
       The first digit of the mobile country code identifies the geographic
       region (the digits 1 and 8 are not used)";
    }
    leaf mnc {
      type Mnc;
      mandatory true;
      description
        "The mobile network code consists of two or three
       decimal digits (for example: MNC of 001 is not the same as MNC of 01)";
    }
  }

    grouping ran-slices{
      leaf rannfnssiid{
      description "NSSI of a RAN network function";
      type string;
    }

    list sliceProfilesList{
                uses SliceProfile;
                key "sliceProfileId";
                description "List of slice profiles supported by the ran slice";
        }

    leaf subnetStatus{
      description "status of  RAN NF NSSI";
      type string;
    }

    leaf nsstid{
      description "template Id of a RAN NF NSST";
      type string;
    }

    leaf slicetype{
      description "Type of RAN Slice";
      type string;
    }

    leaf isshareable{
      description "Shareability of RAN Slice";
      type string;
    }
    }
    container ran-inventory{
    list ran-slices{
        uses ran-slices;
        key "rannfnssiid";
        description "List of RAN Slices";
        }
    }
    }