Merge "RAN Slice YANG Model and Associated Feature code"
[ccsdk/features.git] / sdnr / northbound / ranSlice / model / src / main / yang / ran-network@2020-08-06.yang
1 module ran-network {
2   yang-version 1.1;
3   namespace "org:onap:ccsdk:features:sdnr:northbound:ran-network";
4   prefix rn;
5
6   import ietf-inet-types {
7     prefix inet;
8   }
9   import ietf-yang-types {
10     prefix yang;
11   }
12
13   organization
14     "Open Network Automation Platform - ONAP
15      <https://www.onap.org>";
16   contact
17     "Editors:
18        Sandeep Shah
19        <mailto:sandeep.shah@ibm.com>
20
21        Swaminathan Seetharaman
22        <mailto:swaminathan.seetharaman@wipro.com>";
23   description
24     "This module contains a collection of YANG definitions for managing
25      radio access network (RAN) managed network functions.
26      This YANG model is used solely for POC's in the ONAP and O-RAN communities
27
28      Copyright 2020 the O-RAN Alliance.
29
30      Licensed under the Apache License, Version 2.0 (the 'License');
31      you may not use this file except in compliance with the License.
32      You may obtain a copy of the License at
33
34      http://www.apache.org/licenses/LICENSE-2.0
35
36      Unless required by applicable law or agreed to in writing, software
37      distributed under the License is distributed on an 'AS IS' BASIS,
38      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
39      See the License for the specific language governing permissions and
40      limitations under the License.";
41
42   revision 2020-08-06 {
43     description
44       "RAN Network YANG Model for ONAP/O-RAN POC";
45     reference
46       "https://wiki.onap.org/display/DW/E2E+Network+Slicing+Use+Case+in+R7+Guilin";
47   }
48
49   typedef usageState {
50     type enumeration {
51       enum IDLE {
52         description
53           "TODO";
54       }
55       enum ACTIVE {
56         description
57           "TODO";
58       }
59       enum BUSY {
60         description
61           "TODO";
62       }
63     }
64     description
65       "It describes whether or not the resource is actively in
66        use at a specific instant, and if so, whether or not it has spare
67        capacity for additional users at that instant. The value is READ-ONLY.";
68     reference
69       "ITU T Recommendation X.731";
70   }
71
72   typedef Mcc {
73     type string;
74     description
75       "The mobile country code consists of three decimal digits,
76        The first digit of the mobile country code identifies the geographic
77        region (the digits 1 and 8 are not used):";
78     reference
79       "3GPP TS 23.003 subclause 2.2 and 12.1";
80   }
81
82   typedef Mnc {
83     type string;
84     description
85       "The mobile network code consists of two or three
86        decimal digits (for example: MNC of 001 is not the same as MNC of 01)";
87     reference
88       "3GPP TS 23.003 subclause 2.2 and 12.1";
89   }
90
91   typedef Nci {
92     type string;
93     description
94       "NR Cell Identity. The NCI shall be of fixed length of 36 bits
95        and shall be coded using full hexadecimal representation.
96        The exact coding of the NCI is the responsibility of each PLMN operator";
97     reference
98       "TS 23.003";
99   }
100
101   typedef OperationalState {
102     type enumeration {
103       enum DISABLED {
104         value 0;
105         description
106           "The resource is totally inoperable.";
107       }
108       enum ENABLED {
109         value 1;
110         description
111           "The resource is partially or fully operable.";
112       }
113     }
114     description
115       "TODO";
116     reference
117       "3GPP TS 28.625 and ITU-T X.731";
118   }
119
120   typedef AdministrativeState {
121     type enumeration {
122       enum LOCKED {
123         value 0;
124         description
125           "The resource is administratively prohibited from performing
126            services for its users.";
127       }
128       enum UNLOCKED {
129         value 1;
130         description
131           "The resource is administratively permitted to perform
132            services for its users. This is independent of its inherent
133            operability.";
134       }
135       enum SHUTTINGDOWN {
136         value 2;
137         description
138           "Use of the resource is administratively permitted to
139            existing instances of use only. While the system remains in
140            the shutting down state the manager or the managed element
141            may at any time cause the resource to transition to the
142            locked state.";
143       }
144     }
145     description
146       "TODO";
147     reference
148       "3GPP TS 28.625 and ITU-T X.731";
149   }
150
151   typedef AvailabilityStatus {
152     type enumeration {
153       enum IN_TEST {
154         description
155           "TODO";
156       }
157       enum FAILED {
158         description
159           "TODO";
160       }
161       enum POWER_OFF {
162         description
163           "TODO";
164       }
165       enum OFF_LINE {
166         description
167           "TODO";
168       }
169       enum OFF_DUTY {
170         description
171           "TODO";
172       }
173       enum DEPENDENCY {
174         description
175           "TODO";
176       }
177       enum DEGRADED {
178         description
179           "TODO";
180       }
181       enum NOT_INSTALLED {
182         description
183           "TODO";
184       }
185       enum LOG_FULL {
186         description
187           "TODO";
188       }
189     }
190     description
191       "TODO";
192     reference
193       "TODO";
194   }
195
196   typedef CellState {
197     type enumeration {
198       enum IDLE {
199         description
200           "TODO";
201       }
202       enum INACTIVE {
203         description
204           "TODO";
205       }
206       enum ACTIVE {
207         description
208           "TODO";
209       }
210     }
211     description
212       "TODO";
213     reference
214       "TODO";
215   }
216
217   typedef SNssai {
218     type uint32;
219     description
220       "Single Network Slice Selection Assistance Information.";
221     reference
222       "TS 23.501 clause 5.15.2";
223   }
224
225   typedef Sst {
226     type uint8;
227     description
228       "TODO";
229     reference
230       "TODO";
231   }
232
233   typedef Nrpci {
234     type uint32;
235     description
236       "Physical Cell Identity (PCI) of the NR cell.";
237     reference
238       "TS 36.211 subclause 6.11";
239   }
240
241   typedef Tac {
242     type int32 {
243       range "0..16777215";
244     }
245     description
246       "Tracking Area Code";
247     reference
248       "TS 23.003 clause 19.4.2.3";
249   }
250
251   typedef AmfRegionId {
252     type string;
253     description
254       "";
255     reference
256       "clause 2.10.1 of 3GPP TS 23.003";
257   }
258
259   typedef AmfSetId {
260     type string;
261     description
262       "";
263     reference
264       "clause 2.10.1 of 3GPP TS 23.003";
265   }
266
267   typedef AmfPointer {
268     type string;
269     description
270       "";
271     reference
272       "clause 2.10.1 of 3GPP TS 23.003";
273   }
274
275   // type definitions especially for core NFs
276
277   typedef NfType {
278     type enumeration {
279       enum NRF {
280         description
281           "TODO";
282       }
283       enum UDM {
284         description
285           "TODO";
286       }
287       enum AMF {
288         description
289           "TODO";
290       }
291       enum SMF {
292         description
293           "TODO";
294       }
295       enum AUSF {
296         description
297           "TODO";
298       }
299       enum NEF {
300         description
301           "TODO";
302       }
303       enum PCF {
304         description
305           "TODO";
306       }
307       enum SMSF {
308         description
309           "TODO";
310       }
311       enum NSSF {
312         description
313           "TODO";
314       }
315       enum UDR {
316         description
317           "TODO";
318       }
319       enum LMF {
320         description
321           "TODO";
322       }
323       enum GMLC {
324         description
325           "TODO";
326       }
327       enum 5G_EIR {
328         description
329           "TODO";
330       }
331       enum SEPP {
332         description
333           "TODO";
334       }
335       enum UPF {
336         description
337           "TODO";
338       }
339       enum N3IWF {
340         description
341           "TODO";
342       }
343       enum AF {
344         description
345           "TODO";
346       }
347       enum UDSF {
348         description
349           "TODO";
350       }
351       enum BSF {
352         description
353           "TODO";
354       }
355       enum CHF {
356         description
357           "TODO";
358       }
359     }
360     description
361       "TODO";
362   }
363
364   typedef NotificationType {
365     type enumeration {
366       enum N1_MESSAGES {
367         description
368           "TODO";
369       }
370       enum N2_INFORMATION {
371         description
372           "TODO";
373       }
374       enum LOCATION_NOTIFICATION {
375         description
376           "TODO";
377       }
378     }
379     description
380       "TODO";
381   }
382
383   typedef Load {
384     type uint8 {
385       range "0..100";
386     }
387     description
388       "Latest known load information of the NF, percentage ";
389   }
390
391   typedef N1MessageClass {
392     type enumeration {
393       enum 5GMM {
394         description
395           "TODO";
396       }
397       enum SM {
398         description
399           "TODO";
400       }
401       enum LPP {
402         description
403           "TODO";
404       }
405       enum SMS {
406         description
407           "TODO";
408       }
409     }
410     description
411       "TODO";
412   }
413
414   typedef N2InformationClass {
415     type enumeration {
416       enum SM {
417         description
418           "TODO";
419       }
420       enum NRPPA {
421         description
422           "TODO";
423       }
424       enum PWS {
425         description
426           "TODO";
427       }
428       enum PWS_BCAL {
429         description
430           "TODO";
431       }
432       enum PWS_RF {
433         description
434           "TODO";
435       }
436     }
437     description
438       "TODO";
439     reference
440       "TODO";
441   }
442
443   typedef NsiId {
444     type string;
445     description
446       "TODO";
447   }
448
449   typedef UeMobilityLevel {
450     type enumeration {
451       enum STATIONARY {
452         description
453           "TODO";
454       }
455       enum NOMADIC {
456         description
457           "TODO";
458       }
459       enum RESTRICTED_MOBILITY {
460         description
461           "TODO";
462       }
463       enum FULLY_MOBILITY {
464         description
465           "TODO";
466       }
467     }
468     description
469       "TODO";
470     reference
471       "TODO";
472   }
473
474   typedef ResourceSharingLevel {
475     type enumeration {
476       enum SHARED {
477         description
478           "TODO";
479       }
480       enum NOT_SHARED {
481         description
482           "TODO";
483       }
484     }
485     description
486       "TODO";
487     reference
488       "TODO";
489   }
490
491   typedef TxDirection {
492     type enumeration {
493       enum DL {
494         description
495           "TODO";
496       }
497       enum UL {
498         description
499           "TODO";
500       }
501       enum DL_AND_UL {
502         description
503           "TODO";
504       }
505     }
506     description
507       "TODO";
508     reference
509       "TODO";
510   }
511
512   typedef DistinguishedName { // TODO is this equivalent to TS 32.300 ?
513     type string;
514     description
515       "Represents the international standard for the representation
516        of Distinguished Name (RFC 4512).
517        The format of the DistinguishedName REGEX is:
518        {AttributeType = AttributeValue}
519
520        AttributeType consists of alphanumeric and hyphen (OIDs not allowed).
521        All other characters are restricted.
522        The Attribute value cannot contain control characters or the
523        following characters : \\ > < ; \" + , (Comma) and White space
524        The Attribute value can contain the following characters if they
525        are excaped : \\ > < ; \" + , (Comma) and White space
526        The Attribute value can contain control characters if its an escaped
527        double digit hex number.
528        Examples could be
529        UID=nobody@example.com,DC=example,DC=com
530        CN=John Smith,OU=Sales,O=ACME Limited,L=Moab,ST=Utah,C=US";
531     reference
532       "RFC 4512 Lightweight Directory Access Protocol (LDAP):
533              Directory Information Models";
534   } // recheck regexp it doesn't handle posix [:cntrl:]
535
536   typedef QOffsetRange {
537     type int8;
538     units "dB";
539     description
540       "TODO";
541     reference
542       "TODO";
543   }
544
545   typedef QuotaType {
546     type enumeration {
547       enum STRICT {
548         description
549           "TODO";
550       }
551       enum FLOAT {
552         description
553           "TODO";
554       }
555     }
556     description
557       "TODO";
558   }
559
560   typedef CyclicPrefix {
561     type enumeration {
562       enum NORMAL {
563         description
564           "TODO";
565       }
566       enum EXTENDED {
567         description
568           "TODO";
569       }
570     }
571     description
572       "TODO";
573   }
574
575   grouping PLMNInfo {
576     description
577       "The PLMNInfo data type define a S-NSSAI member in a specific PLMNId, and it have
578        two attributes PLMNId and S-NSSAI (PLMNId, S-NSSAI). The PLMNId represents a data type that
579        is comprised of mcc (mobile country code) and mnc (mobile network code), (See TS 23.003
580        subclause 2.2 and 12.1) and S-NSSAI represents an data type, that is comprised of an SST
581        (Slice/Service type) and an optional SD (Slice Differentiator) field, (See TS 23.003 [13]).";
582     uses PLMNId;
583     leaf sNssai {
584       type SNssai;
585       description
586         "TODO";
587     }
588   }
589
590   grouping ManagedNFProfile {
591     description
592       "Defines profile for managed NF";
593     reference
594       "3GPP TS 23.501";
595     leaf idx {
596       type uint32;
597       description
598         "TODO";
599       reference
600         "3GPP TS 23.501";
601     }
602     leaf nfInstanceID {
603       type yang:uuid;
604       config false;
605       mandatory true;
606       description
607         "This parameter defines profile for managed NF.
608          The format of the NF Instance ID shall be a
609          Universally Unique Identifier (UUID) version 4,
610          as described in IETF RFC 4122 ";
611     }
612     leaf-list nfType {
613       type NfType;
614       config false;
615       min-elements 1;
616       description
617         "Type of the Network Function";
618     }
619     leaf hostAddr {
620       type inet:host;
621       mandatory true;
622       description
623         "Host address of a NF";
624     }
625     leaf authzInfo {
626       type string;
627       description
628         "This parameter defines NF Specific Service authorization
629          information. It shall include the NF type (s) and NF realms/origins
630          allowed to consume NF Service(s) of NF Service Producer.";
631       reference
632         "See TS 23.501";
633     }
634     leaf location {
635       type string;
636       description
637         "Information about the location of the NF instance
638          (e.g. geographic location, data center) defined by operator";
639       reference
640         "TS 29.510";
641     }
642     leaf capacity {
643       type uint16;
644       mandatory true;
645       description
646         "This parameter defines static capacity information
647          in the range of 0-65535, expressed as a weight relative to other
648          NF instances of the same type; if capacity is also present in the
649          nfServiceList parameters, those will have precedence over this value.";
650       reference
651         "TS 29.510";
652     }
653     leaf nFSrvGroupId {
654       type string;
655       description
656         "This parameter defines identity of the group that is
657          served by the NF instance.
658          May be config false or true depending on the ManagedFunction.
659          Config=true for Udrinfo. Config=false for UdmInfo and AusfInfo.
660          Shall be present if ../nfType = UDM or AUSF or UDR. ";
661       reference
662         "TS 29.510";
663     }
664     leaf-list supportedDataSetIds {
665       type enumeration {
666         enum SUBSCRIPTION {
667           description
668             "TODO";
669         }
670         enum POLICY {
671           description
672             "TODO";
673         }
674         enum EXPOSURE {
675           description
676             "TODO";
677         }
678         enum APPLICATION {
679           description
680             "TODO";
681         }
682       }
683       description
684         "List of supported data sets in the UDR instance.
685          May be present if ../nfType = UDR";
686       reference
687         "TS 29.510";
688     }
689     leaf-list smfServingAreas {
690       type string;
691       description
692         "Defines the SMF service area(s) the UPF can serve.
693          Shall be present if ../nfType = UPF";
694       reference
695         "TS 29.510";
696     }
697     leaf priority {
698       type uint16;
699       description
700         "This parameter defines Priority (relative to other NFs
701          of the same type) in the range of 0-65535, to be used for NF selection;
702          lower values indicate a higher priority. If priority is also present
703          in the nfServiceList parameters, those will have precedence over
704          this value. Shall be present if ../nfType = AMF ";
705       reference
706         "TS 29.510";
707     }
708   }
709
710   grouping SAP {
711     description
712       "Service access point.";
713     reference
714       "TS 28.622";
715     leaf host {
716       type inet:host;
717       mandatory true;
718       description
719         "TODO";
720     }
721     leaf port {
722       type inet:port-number;
723       mandatory true;
724       description
725         "TODO";
726     }
727   }
728
729   grouping PLMNId {
730     description
731       "TODO";
732     reference
733       "TS 23.658";
734     leaf mcc {
735       type Mcc;
736       mandatory true;
737       description
738         "TODO";
739     }
740     leaf mnc {
741       type Mnc;
742       mandatory true;
743       description
744         "TODO";
745     }
746   }
747
748   grouping AmfIdentifier {
749     description
750       "The AMFI is constructed from an AMF Region ID,
751        an AMF Set ID and an AMF Pointer.
752        The AMF Region ID identifies the region,
753        the AMF Set ID uniquely identifies the AMF Set within the AMF Region, and
754        the AMF Pointer uniquely identifies the AMF within the AMF Set. ";
755     leaf amfRegionId {
756       type AmfRegionId;
757       description
758         "TODO";
759     }
760     leaf amfSetId {
761       type AmfSetId;
762       description
763         "TODO";
764     }
765     leaf amfPointer {
766       type AmfPointer;
767       description
768         "TODO";
769     }
770   }
771
772   grouping DefaultNotificationSubscription {
773     description
774       "TODO";
775     leaf notificationType {
776       type NotificationType;
777       description
778         "TODO";
779     }
780     leaf callbackUri {
781       type inet:uri;
782       description
783         "TODO";
784     }
785     leaf n1MessageClass {
786       type N1MessageClass;
787       description
788         "TODO";
789     }
790     leaf n2InformationClass {
791       type N2InformationClass;
792       description
793         "TODO";
794     }
795   }
796
797   grouping Ipv4AddressRange {
798     description
799       "TODO";
800     leaf start {
801       type inet:ipv4-address;
802       description
803         "TODO";
804     }
805     leaf end {
806       type inet:ipv4-address;
807       description
808         "TODO";
809     }
810   }
811
812   grouping Ipv6PrefixRange {
813     description
814       "TODO";
815     leaf start {
816       type inet:ipv6-prefix;
817       description
818         "TODO";
819     }
820     leaf end {
821       type inet:ipv6-prefix;
822       description
823         "TODO";
824     }
825   }
826
827   grouping AddressWithVlan {
828     description
829       "TODO";
830     leaf ipAddress {
831       type inet:ip-address;
832       description
833         "TODO";
834     }
835     leaf vlanId {
836       type uint16;
837       description
838         "TODO";
839     }
840   }
841
842   grouping ManagedElementGroup {
843     description
844       "Abstract class representing telecommunications resources.";
845     leaf dnPrefix {
846       type DistinguishedName;
847       description
848         "Provides naming context and splits the DN into a DN Prefix and Local DN";
849     }
850     leaf userLabel {
851       type string;
852       description
853         "A user-friendly name of this object.";
854     }
855     leaf locationName {
856       type string;
857       config false;
858       description
859         "The physical location (e.g. an address) of an entity";
860     }
861     leaf-list managedBy {
862       type DistinguishedName;
863       config false;
864       description
865         "Relates to the role played by ManagementSystem";
866     }
867     leaf-list managedElementTypeList {
868       type string;
869       config false;
870       min-elements 1;
871       description
872         "The type of functionality provided by the ManagedElement.
873          It may represent one ME functionality or a combination of
874          Two examples of allowed values are:
875          -  NodeB;
876          -  HLR, VLR.";
877     }
878   } // Managed Element grouping
879
880   grouping NearRTRICGroup {
881     description
882       "Abstract class representing Near RT RIC.";
883     leaf near-rt-ric-url {
884       type inet:uri;
885       description
886         "URL for the near RT RIC. String representing IP addr:port";
887     }
888     leaf dnPrefix {
889       type DistinguishedName;
890       description
891         "Provides naming context and splits the DN into a DN Prefix and Local DN";
892     }
893     leaf userLabel {
894       type string;
895       description
896         "A user-friendly name of this object.";
897     }
898     leaf locationName {
899       type string;
900       config false;
901       description
902         "The physical location (e.g. an address) of an entity";
903     }
904     leaf-list managedBy {
905       type DistinguishedName;
906       config false;
907       description
908         "Relates to the role played by ManagementSystem";
909     }
910   } // Near RT RIC grouping
911
912   grouping GNBDUFunctionGroup {
913     description
914       "Represents the GNBDUFunction IOC.";
915     reference
916       "3GPP TS 28.541";
917     leaf gNBId {
918       type int64 {
919         range "0..4294967295";
920       }
921       config false;
922       mandatory true;
923       description
924         "Identifies a gNB within a PLMN. The gNB Identifier (gNB ID)
925          is part of the NR Cell Identifier (NCI) of the gNB cells.";
926       reference
927         "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413";
928     }
929     leaf gNBIdLength {
930       type int32 {
931         range "22..32";
932       }
933       mandatory true;
934       description
935         "Indicates the number of bits for encoding the gNB ID.";
936       reference
937         "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413";
938     }
939     leaf gNBDUId {
940       type int64 {
941         range "0..68719476735";
942       }
943       mandatory true;
944       description
945         "Uniquely identifies the DU at least within a gNB.";
946       reference
947         "3GPP TS 38.473";
948     }
949     leaf gNBDUName {
950       type string {
951         length "1..150";
952       }
953       description
954         "Identifies the Distributed Unit of an NR node";
955       reference
956         "3GPP TS 38.473";
957     }
958     leaf aggressorSetID {
959       type uint32 {
960         range "0..4194304";
961       }
962       config false;
963       description
964         "Indicates the associated aggressor gNB Set ID of the cell
965          Valid when Remote Interference Management function is supported.";
966       reference
967         "3GPP TS 38.211 subclause 7.4.1.6";
968     }
969     leaf victimSetID {
970       type uint32 {
971         range "0..4194304";
972       }
973       config false;
974       description
975         "Indicates the associated victim gNB Set ID of the cell
976          Valid when Remote Interference Management function is supported.";
977       reference
978         "3GPP TS 38.211 subclause 7.4.1.6";
979     }
980   }
981
982   grouping NRCellDUGroup {
983     description
984       "Represents the NRCellDU IOC.";
985     reference
986       "3GPP TS 28.541";
987     uses RRMPolicy_Group;
988     leaf cellLocalId {
989       type int32 {
990         range "0..16383";
991       }
992       mandatory true;
993       description
994         "Identifies an NR cell of a gNB. Together with the
995          corresponding gNB identifier in forms the NR Cell Identity (NCI).";
996       reference
997         "NCI in 3GPP TS 38.300";
998     }
999     leaf operationalState {
1000       type OperationalState;
1001       config false;
1002       description
1003         "Operational state of the NRCellDU instance. Indicates
1004          whether the resource is installed and partially or fully operable
1005          (ENABLED) or the resource is not installed or not operable
1006          (DISABLED).";
1007     }
1008     leaf administrativeState {
1009       type AdministrativeState;
1010       default "LOCKED";
1011       description
1012         "Administrative state of the NRCellDU. Indicates the
1013          permission to use or prohibition against using the cell, imposed
1014          through the OAM services.";
1015     }
1016     leaf cellState {
1017       type CellState;
1018       config false;
1019       description
1020         "Cell state of the NRCellDU instance. Indicates whether the
1021          cell is not currently in use (IDLE), or currently in use but not
1022          configured to carry traffic (INACTIVE), or currently in use and is
1023          configured to carry traffic (ACTIVE).";
1024     }
1025     list pLMNInfoList {
1026       key "mcc mnc";
1027       min-elements 1;
1028       description
1029         "The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs that
1030          can be served by the NR cell, and which S-NSSAIs that can be supported by the NR cell for
1031          corresponding PLMN in case of network slicing feature is supported. The plMNId of the first
1032          entry of the list is the PLMNId used to construct the nCGI for the NR cell.";
1033       uses PLMNInfo;
1034     }
1035     leaf nRPCI {
1036       type int32 {
1037         range "0..1007";
1038       }
1039       mandatory true;
1040       description
1041         "The Physical Cell Identity (PCI) of the NR cell.";
1042       reference
1043         "3GPP TS 36.211";
1044     }
1045     leaf nRTAC {
1046       type Tac;
1047       description
1048         "The common 5GS Tracking Area Code for the PLMNs.";
1049       reference
1050         "3GPP TS 23.003, 3GPP TS 38.473";
1051     }
1052     leaf arfcnDL {
1053       type int32;
1054       mandatory true;
1055       description
1056         "NR Absolute Radio Frequency Channel Number (NR-ARFCN) for
1057          downlink.";
1058       reference
1059         "3GPP TS 38.104";
1060     }
1061     leaf arfcnUL {
1062       type int32;
1063       description
1064         "NR Absolute Radio Frequency Channel Number (NR-ARFCN) for
1065          uplink.";
1066       reference
1067         "3GPP TS 38.104";
1068     }
1069     leaf arfcnSUL {
1070       type int32;
1071       description
1072         "NR Absolute Radio Frequency Channel Number (NR-ARFCN) for
1073          supplementary uplink.";
1074       reference
1075         "3GPP TS 38.104";
1076     }
1077     leaf bSChannelBwDL {
1078       type int32;
1079       units "MHz";
1080       description
1081         "Base station channel bandwidth for downlink.";
1082       reference
1083         "3GPP TS 38.104";
1084     }
1085     leaf bSChannelBwUL {
1086       type int32;
1087       units "MHz";
1088       description
1089         "Base station channel bandwidth for uplink.";
1090       reference
1091         "3GPP TS 38.104";
1092     }
1093     leaf bSChannelBwSUL {
1094       type int32;
1095       units "MHz";
1096       description
1097         "Base station channel bandwidth for supplementary uplink.";
1098       reference
1099         "3GPP TS 38.104";
1100     }
1101     leaf ssbFrequency {
1102       type int32 {
1103         range "0..3279165";
1104       }
1105       mandatory true;
1106       description
1107         "Indicates cell defining SSB frequency domain position.
1108          Frequency (in terms of NR-ARFCN) of the cell defining SSB transmission.
1109          The frequency identifies the position of resource element RE=#0
1110          (subcarrier #0) of resource block RB#10 of the SS block. The frequency
1111          must be positioned on the NR global frequency raster, as defined in
1112          3GPP TS 38.101, and within bSChannelBwDL.";
1113     }
1114     leaf ssbPeriodicity {
1115       type int32 {
1116         range "5 | 10 | 20 | 40 | 80 | 160";
1117       }
1118       units "subframes (ms)";
1119       mandatory true;
1120       description
1121         "Indicates cell defined SSB periodicity. The SSB periodicity
1122          is used for the rate matching purpose.";
1123     }
1124     leaf ssbSubCarrierSpacing {
1125       type int32 {
1126         range "15 | 30 | 120 | 240";
1127       }
1128       units "kHz";
1129       mandatory true;
1130       description
1131         "Subcarrier spacing of SSB. Only the values 15 kHz or 30 kHz
1132          (< 6 GHz), 120 kHz or 240 kHz (> 6 GHz) are applicable.";
1133       reference
1134         "3GPP TS 38.211";
1135     }
1136     leaf ssbOffset {
1137       type int32 {
1138         range "0..159";
1139       }
1140       units "subframes (ms)";
1141       mandatory true;
1142       description
1143         "Indicates cell defining SSB time domain position. Defined
1144          as the offset of the measurement window, in which to receive SS/PBCH
1145          blocks, where allowed values depend on the ssbPeriodicity
1146          (ssbOffset < ssbPeriodicity).";
1147     }
1148     leaf ssbDuration {
1149       type int32 {
1150         range "1..5";
1151       }
1152       units "subframes (ms)";
1153       mandatory true;
1154       description
1155         "Duration of the measurement window in which to receive
1156          SS/PBCH blocks.";
1157       reference
1158         "3GPP TS 38.213";
1159     }
1160     leaf-list nRSectorCarrierRef {
1161       type DistinguishedName;
1162       min-elements 1;
1163       description
1164         "Reference to corresponding NRSectorCarrier instance.";
1165     }
1166     leaf-list bWPRef {
1167       type DistinguishedName;
1168       // min-elements 0;
1169       description
1170         "Reference to corresponding BWP instance.";
1171     }
1172     leaf-list nRFrequencyRef {
1173       type DistinguishedName;
1174       // min-elements 0;
1175       description
1176         "Reference to corresponding NRFrequency instance.";
1177     }
1178   } // grouping
1179
1180   grouping rRMPolicyMemberGroup {
1181     description
1182       "TODO";
1183     uses PLMNId;
1184     leaf sNSSAI {
1185       type SNssai;
1186       description
1187         "This data type represents an RRM Policy member that will be part of a
1188          rRMPolicyMemberList. A RRMPolicyMember is defined by its pLMNId and sNSSAI (S-NSSAI).
1189          The members in a rRMPolicyMemberList are assigned a specific amount of RRM resources
1190          based on settings in RRMPolicy.";
1191     }
1192   }
1193
1194   grouping RRMPolicy_Group {
1195     description
1196       "This IOC represents the properties of an abstract RRMPolicy. The RRMPolicy_ IOC
1197        needs to be subclassed to be instantiated. It defines two attributes apart from those
1198        inherited from Top IOC, the resourceType attribute defines type of resource (PRB, RRC
1199        connected users, DRB usage etc.) and the rRMPolicyMemberList attribute defines the
1200        RRMPolicyMember(s)that are subject to this policy. An RRM resource (defined in resourceType
1201        attribute) is located in NRCellDU, NRCellCU, GNBDUFunction, GNBCUCPFunction or in
1202        GNBCUUPFunction. The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
1203        inheritance in TS 28.541 Figure 4.2.1.2-1. This RRM framework allows adding new policies,
1204        both standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
1205        abstract RRMPolicy_ IOC.";
1206     leaf resourceType {
1207       type string;
1208       mandatory true;
1209       description
1210         "The resourceType attribute defines type of resource (PRB, RRC connected users,
1211          DRB usage etc.) that is subject to policy. Valid values are 'PRB', 'RRC' or 'DRB'";
1212     }
1213     list rRMPolicyMemberList {
1214       key "idx";
1215       min-elements 1;
1216       description
1217         "It represents the list of RRMPolicyMember (s) that the managed object
1218          is supporting. A RRMPolicyMember <<dataType>> include the PLMNId <<dataType>>
1219          and S-NSSAI <<dataType>>.";
1220       leaf idx {
1221         type uint32;
1222         description
1223           "TODO";
1224       }
1225       uses rRMPolicyMemberGroup;
1226     }
1227   } // grouping
1228
1229   grouping GNBCUUPFunctionGroup {
1230     description
1231       "Represents the GNBCUUPFunction IOC.";
1232     reference
1233       "3GPP TS 28.541";
1234     uses RRMPolicy_Group;
1235     leaf gNBCUUPId {
1236       type uint64 {
1237         range "0..68719476735";
1238       }
1239       config false;
1240       mandatory true;
1241       description
1242         "Identifies the gNB-CU-UP at least within a gNB-CU-CP";
1243       reference
1244         "'gNB-CU-UP ID' in subclause 9.3.1.15 of 3GPP TS 38.463";
1245     }
1246     leaf gNBId {
1247       type int32 {
1248         range "22..32";
1249       }
1250       mandatory true;
1251       description
1252         "Indicates the number of bits for encoding the gNB Id.";
1253       reference
1254         "gNB Id in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413";
1255     }
1256     list pLMNInfoList {
1257       key "mcc mnc";
1258       description
1259         "The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs that
1260          can be served by the GNBCUUPFunction and which S-NSSAIs can be supported by the
1261          GNBCUUPFunction for corresponding PLMN in case of network slicing feature is supported";
1262       uses PLMNInfo;
1263     }
1264   } // grouping
1265
1266   grouping GNBCUCPFunctionGroup {
1267     description
1268       "Represents the GNBCUCPFunction IOC.";
1269     reference
1270       "3GPP TS 28.541";
1271     uses RRMPolicy_Group;
1272     leaf gNBId {
1273       type int64 {
1274         range "0..4294967295";
1275       }
1276       mandatory true;
1277       description
1278         "Identifies a gNB within a PLMN. The gNB Identifier (gNB ID)
1279          is part of the NR Cell Identifier (NCI) of the gNB cells.";
1280       reference
1281         "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413";
1282     }
1283     leaf gNBIdLength {
1284       type int32 {
1285         range "22..32";
1286       }
1287       mandatory true;
1288       description
1289         "Indicates the number of bits for encoding the gNB ID.";
1290       reference
1291         "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413";
1292     }
1293     leaf gNBCUName {
1294       type string {
1295         length "1..150";
1296       }
1297       mandatory true;
1298       description
1299         "Identifies the Central Unit of an gNB.";
1300       reference
1301         "3GPP TS 38.473";
1302     }
1303     list pLMNId {
1304       key "mcc mnc";
1305       min-elements 1;
1306       max-elements 1;
1307       description
1308         "The PLMN identifier to be used as part of the global RAN
1309          node identity.";
1310       uses PLMNId;
1311     }
1312     leaf-list x2BlackList {
1313       type DistinguishedName;
1314       description
1315         "List of nodes to which X2 connections are prohibited.";
1316     }
1317     leaf-list x2WhiteList {
1318       type DistinguishedName;
1319       description
1320         "List of nodes to which X2 connections are enforced.";
1321     }
1322     leaf-list xnBlackList {
1323       type DistinguishedName;
1324       description
1325         "List of nodes to which Xn connections are prohibited.";
1326     }
1327     leaf-list xnWhiteList {
1328       type DistinguishedName;
1329       description
1330         "List of nodes to which X2 connections are enforced.";
1331     }
1332     leaf-list x2XnHOBlackList {
1333       type DistinguishedName;
1334       description
1335         "List of nodes to which handovers over X2 or Xn are prohibited.";
1336     }
1337   } // grouping
1338
1339   grouping NRCellCUGroup {
1340     description
1341       "Represents the NRCellCU IOC.";
1342     reference
1343       "3GPP TS 28.541";
1344     leaf cellLocalId {
1345       type int32 {
1346         range "0..16383";
1347       }
1348       mandatory true;
1349       description
1350         "Identifies an NR cell of a gNB. Together with corresponding
1351          gNB ID it forms the NR Cell Identifier (NCI).";
1352     }
1353     list pLMNInfoList {
1354       key "mcc mnc";
1355       min-elements 1;
1356       description
1357         "The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs
1358          that can be served by the NR cell, and which S-NSSAIs that can be supported by the
1359          NR cell for corresponding PLMN in case of network slicing feature is supported.";
1360       uses PLMNInfo;
1361       // Note: Whether the attribute pLMNId in the pLMNInfo can be writable depends on the implementation.
1362     }
1363     leaf nRFrequencyRef {
1364       type DistinguishedName;
1365       config false;
1366       description
1367         "Reference to corresponding NRFrequency instance.";
1368     }
1369   } // grouping
1370
1371   grouping NRCellRelationGroup {
1372     description
1373       "Represents the NRCellRelation IOC.";
1374     reference
1375       "3GPP TS 28.541";
1376     leaf nRTCI {
1377       type uint64;
1378       description
1379         "Target NR Cell Identifier. It consists of NR Cell
1380          Identifier (NCI) and Physical Cell Identifier of the target NR cell
1381          (nRPCI).";
1382     }
1383     container cellIndividualOffset {
1384       description
1385         "A set of offset values for the neighbour cell. Used when
1386          UE is in connected mode. Defined for rsrpOffsetSSB, rsrqOffsetSSB,
1387          sinrOffsetSSB, rsrpOffsetCSI-RS, rsrqOffsetCSI-RS and
1388          sinrOffsetCSI-RS.";
1389       reference
1390         "cellIndividualOffset in MeasObjectNR in 3GPP TS 38.331";
1391       leaf rsrpOffsetSsb {
1392         type QOffsetRange;
1393         default "0";
1394         description
1395           "Offset value of rsrpOffsetSSB.";
1396       }
1397       leaf rsrqOffsetSsb {
1398         type QOffsetRange;
1399         default "0";
1400         description
1401           "Offset value of rsrqOffsetSSB.";
1402       }
1403       leaf sinrOffsetSsb {
1404         type QOffsetRange;
1405         default "0";
1406         description
1407           "Offset value of sinrOffsetSSB.";
1408       }
1409       leaf rsrpOffsetCsiRs {
1410         type QOffsetRange;
1411         default "0";
1412         description
1413           "Offset value of rsrpOffsetCSI-RS.";
1414       }
1415       leaf rsrqOffsetCsiRs {
1416         type QOffsetRange;
1417         default "0";
1418         description
1419           "Offset value of rsrqOffsetCSI-RS.";
1420       }
1421       leaf sinrOffsetCsiRs {
1422         type QOffsetRange;
1423         default "0";
1424         description
1425           "Offset value of sinrOffsetCSI-RS.";
1426       }
1427     }
1428     leaf nRFreqRelationRef {
1429       type DistinguishedName;
1430       mandatory true;
1431       description
1432         "Reference to a corresponding NRFreqRelation instance.";
1433     }
1434     leaf adjacentNRCellRef {
1435       type DistinguishedName;
1436       mandatory true;
1437       description
1438         "Reference to an adjacent NR cell (NRCellCU or
1439          ExternalNRCellCU).";
1440     }
1441     leaf isRemoveAllowed {
1442       type boolean;
1443       default "true";
1444       description
1445         "True if the ANR function in the node is allowed to remove this relation.";
1446     }
1447     leaf isHOAllowed {
1448       type boolean;
1449       default "true";
1450       description
1451         "True if handovers are allowed over this relation.";
1452     }
1453   } // grouping
1454
1455   grouping NRFreqRelationGroup {
1456     description
1457       "Represents the NRFreqRelation IOC.";
1458     reference
1459       "3GPP TS 28.541";
1460     container offsetMO {
1461       description
1462         "A set of offset values applicable to all measured cells
1463          with reference signal(s) indicated in corresponding MeasObjectNR. It
1464          is used to indicate a cell, beam or measurement object specific offset
1465          to be applied when evaluating candidates for cell re-selection or when
1466          evaluating triggering conditions for measurement reporting. It is
1467          defined for rsrpOffsetSSB, rsrqOffsetSSB, sinrOffsetSSB,
1468          rsrpOffsetCSI-RS, rsrqOffsetCSI-RS and sinrOffsetCSI-RS.";
1469       reference
1470         "offsetMO in MeasObjectNR in 3GPP TS 38.331";
1471       leaf rsrpOffsetSsb {
1472         type QOffsetRange;
1473         default "0";
1474         description
1475           "Offset value of rsrpOffsetSSB.";
1476       }
1477       leaf rsrqOffsetSsb {
1478         type QOffsetRange;
1479         default "0";
1480         description
1481           "Offset value of rsrqOffsetSSB.";
1482       }
1483       leaf sinrOffsetSsb {
1484         type QOffsetRange;
1485         default "0";
1486         description
1487           "Offset value of sinrOffsetSSB.";
1488       }
1489       leaf rsrpOffsetCsiRs {
1490         type QOffsetRange;
1491         default "0";
1492         description
1493           "Offset value of rsrpOffsetCSI-RS.";
1494       }
1495       leaf rsrqOffsetCsiRs {
1496         type QOffsetRange;
1497         default "0";
1498         description
1499           "Offset value of rsrqOffsetCSI-RS.";
1500       }
1501       leaf sinrOffsetCsiRs {
1502         type QOffsetRange;
1503         default "0";
1504         description
1505           "Offset value of sinrOffsetCSI-RS.";
1506       }
1507     }
1508     leaf-list blackListEntry {
1509       type uint16 {
1510         range "0..1007";
1511       }
1512       // min-elements 0;
1513       description
1514         "A list of Physical Cell Identities (PCIs) that are
1515          blacklisted in NR measurements.";
1516       reference
1517         "3GPP TS 38.331";
1518     }
1519     leaf-list blackListEntryIdleMode {
1520       type uint16 {
1521         range "0..1007";
1522       }
1523       // min-elements 0;
1524       description
1525         "A list of Physical Cell Identities (PCIs) that are
1526          blacklisted in SIB4 and SIB5.";
1527     }
1528     leaf cellReselectionPriority {
1529       type uint32;
1530       default "0";
1531       description
1532         "The absolute priority of the carrier frequency used by the
1533          cell reselection procedure. Value 0 means lowest priority. The value
1534          must not already used by other RAT, i.e. equal priorities between RATs
1535          are not supported. The UE behaviour when no value is entered is
1536          specified in subclause 5.2.4.1 of 3GPP TS 38.304.";
1537       reference
1538         "CellReselectionPriority in 3GPP TS 38.331, priority in
1539          3GPP TS 38.304";
1540     }
1541     leaf cellReselectionSubPriority {
1542       type uint8 {
1543         range "2 | 4 | 6 | 8";
1544       }
1545       units "0.1";
1546       description
1547         "Indicates a fractional value to be added to the value of
1548          cellReselectionPriority to obtain the absolute priority of the
1549          concerned carrier frequency for E-UTRA and NR.";
1550       reference
1551         "3GPP TS 38.331";
1552     }
1553     leaf pMax {
1554       type int32 {
1555         range "-30..33";
1556       }
1557       units "dBm";
1558       // mandatory false;
1559       description
1560         "Used for calculation of the parameter Pcompensation
1561          (defined in 3GPP TS 38.304), at cell reselection to a cell.";
1562       reference
1563         "PEMAX in 3GPP TS 38.101";
1564     }
1565     leaf qOffsetFreq {
1566       type QOffsetRange;
1567       default "0";
1568       // mandatory false;
1569       description
1570         "The frequency specific offset applied when evaluating
1571          candidates for cell reselection.";
1572     }
1573     leaf qQualMin {
1574       type int32 {
1575         range "-34..-3 | 0";
1576       }
1577       units "dB";
1578       default "0";
1579       description
1580         "Indicates the minimum required quality level in the cell.
1581          Value 0 means that it is not sent and UE applies in such case the
1582          (default) value of negative infinity for Qqualmin. Sent in SIB3 or
1583          SIB5.";
1584       reference
1585         "3GPP TS 38.304";
1586     }
1587     leaf qRxLevMin {
1588       type int32 {
1589         range "-140..-44";
1590       }
1591       units "dBm";
1592       mandatory true;
1593       description
1594         "Indicates the required minimum received Reference Symbol
1595          Received Power (RSRP) level in the NR frequency for cell reselection.
1596          Broadcast in SIB3 or SIB5, depending on whether the related frequency
1597          is intra- or inter-frequency. Resolution is 2.";
1598       reference
1599         "3GPP TS 38.304";
1600     }
1601     leaf threshXHighP {
1602       type int32 {
1603         range "0..62";
1604       }
1605       units "dB";
1606       mandatory true;
1607       description
1608         "Specifies the Srxlev threshold used by the UE when
1609          reselecting towards a higher priority RAT/frequency than the current
1610          serving frequency. Each frequency of NR and E-UTRAN might have a
1611          specific threshold. Resolution is 2.";
1612       reference
1613         "ThreshX, HighP in 3GPP TS 38.304";
1614     }
1615     leaf threshXHighQ {
1616       type int32 {
1617         range "0..31";
1618       }
1619       units "dB";
1620       mandatory true;
1621       description
1622         "Specifies the Squal threshold used by the UE when
1623          reselecting towards a higher priority RAT/frequency than the current
1624          serving frequency. Each frequency of NR and E-UTRAN might have a
1625          specific threshold.";
1626       reference
1627         "ThreshX, HighQ in 3GPP TS 38.304";
1628     }
1629     leaf threshXLowP {
1630       type int32 {
1631         range "0..62";
1632       }
1633       units "dB";
1634       mandatory true;
1635       description
1636         "Specifies the Srxlev threshold used by the UE when
1637          reselecting towards a lower priority RAT/frequency than the current
1638          serving frequency. Each frequency of NR and E-UTRAN might have a
1639          specific threshold. Resolution is 2.";
1640       reference
1641         "ThreshX, LowP in 3GPP TS 38.304";
1642     }
1643     leaf threshXLowQ {
1644       type int32 {
1645         range "0..31";
1646       }
1647       units "dB";
1648       mandatory true;
1649       description
1650         "Specifies the Squal threshold used by the UE when
1651          reselecting towards a lower priority RAT/frequency than the current
1652          serving frequency. Each frequency of NR and E-UTRAN might have a
1653          specific threshold.";
1654       reference
1655         "ThreshX, LowQ in 3GPP TS 38.304";
1656     }
1657     leaf tReselectionNR {
1658       type int32 {
1659         range "0..7";
1660       }
1661       units "s";
1662       mandatory true;
1663       description
1664         "Cell reselection timer for NR.";
1665       reference
1666         "TreselectionRAT for NR in 3GPP TS 38.331";
1667     }
1668     leaf tReselectionNRSfHigh {
1669       type uint8 {
1670         range "25 | 50 | 75 | 100";
1671       }
1672       units "%";
1673       mandatory true;
1674       description
1675         "The attribute tReselectionNr (parameter TreselectionNR in
1676          3GPP TS 38.304) is multiplied with this scaling factor if the UE is
1677          in high mobility state.";
1678       reference
1679         "Speed dependent ScalingFactor for TreselectionNR for high
1680          mobility state in 3GPP TS 38.304";
1681     }
1682     leaf tReselectionNRSfMedium {
1683       type uint8 {
1684         range "25 | 50 | 75 | 100";
1685       }
1686       units "%";
1687       mandatory true;
1688       description
1689         "The attribute tReselectionNr (parameter TreselectionNR in
1690          3GPP TS 38.304) multiplied with this scaling factor if the UE is in
1691          medium mobility state.";
1692       reference
1693         "Speed dependent ScalingFactor for TreselectionNR for medium
1694          mobility state in 3GPP TS 38.304";
1695     }
1696     leaf nRFrequencyRef {
1697       type DistinguishedName;
1698       mandatory true;
1699       description
1700         "Reference to a corresponding NRFrequency instance.";
1701     }
1702   } // grouping
1703
1704   grouping ManagedNFServiceGroup {
1705     description
1706       "A ManagedNFService representing a Network Function (NF) service.";
1707     reference
1708       "Clause 7 of 3GPP TS 23.501.";
1709     leaf userLabel {
1710       type string;
1711       description
1712         "A user-friendly (and user assignable) name of this object.";
1713     }
1714     list sAP {
1715       key "host port";
1716       min-elements 1;
1717       max-elements 1;
1718       description
1719         "The service access point of the managed NF service instance";
1720       uses SAP;
1721     }
1722   } // grouping
1723
1724   // container for RAN Network
1725
1726   container ran-network {
1727     description
1728       "Represents telecommunications equipment or
1729        TMN entities within the telecommunications network providing support
1730        and/or service to the subscriber.";
1731     list NearRTRIC {
1732       key "idNearRTRIC"; // list GNBCUCPFunction
1733       description
1734         "A list of expected near-real-time RIC O-RAN managed functions.";
1735       leaf idNearRTRIC {
1736         type string;
1737         description
1738           "Key leaf (namingAttribute) for a class/list.
1739            Should be used as a key leaf for lists representing
1740            stage 2 classes.";
1741         reference
1742           "3GPP TS 32.300 Name convention for managed objects";
1743       }
1744       container attributes {
1745         description
1746           "TODO";
1747         uses NearRTRICGroup;
1748       }
1749       list GNBDUFunction {
1750         key "idGNBDUFunction";
1751         description
1752           "Represents the logical function DU of gNB or en-gNB.";
1753         reference
1754           "3GPP TS 28.541";
1755         leaf idGNBDUFunction {
1756           type string;
1757           description
1758             "TODO";
1759         }
1760         container attributes {
1761           description
1762             "TODO";
1763           uses GNBDUFunctionGroup;
1764           uses ManagedNFServiceGroup;
1765         }
1766         list NRCellDU {
1767           key "idNRCellDU";
1768           description
1769             "Represents the information of a cell known by DU.";
1770           reference
1771             "3GPP TS 28.541";
1772           leaf idNRCellDU {
1773             type string;
1774             description
1775               "TODO";
1776           }
1777           container attributes {
1778             description
1779               "TODO";
1780             uses NRCellDUGroup;
1781             uses ManagedNFServiceGroup;
1782           }
1783         } // list NRCellDU
1784       } // list GNBDUFunction
1785       list GNBCUUPFunction {
1786         key "idGNBCUUPFunction";
1787         description
1788           "TODO";
1789         leaf idGNBCUUPFunction {
1790           type string;
1791           description
1792             "TODO";
1793         }
1794         container attributes {
1795           description
1796             "TODO";
1797           uses GNBCUUPFunctionGroup;
1798           uses ManagedNFServiceGroup;
1799         }
1800       } // list GNBCUUPFunction
1801       list GNBCUCPFunction {
1802         key "idGNBCUCPFunction"; // list NRCellCU
1803         description
1804           "Represents the logical function CU-CP of gNB and en-gNB.";
1805         reference
1806           "3GPP TS 28.541";
1807         leaf idGNBCUCPFunction {
1808           type string;
1809           description
1810             "TODO";
1811         }
1812         container attributes {
1813           description
1814             "TODO";
1815           uses GNBCUCPFunctionGroup;
1816           uses ManagedNFServiceGroup;
1817         }
1818         list NRCellCU {
1819           key "idNRCellCU";
1820           description
1821             "Represents the information required by CU that is
1822              responsible for the management of inter-cell mobility and neighbour
1823              relations via ANR.";
1824           reference
1825             "3GPP TS 28.541";
1826           leaf idNRCellCU {
1827             type string;
1828             description
1829               "TODO";
1830           }
1831           container attributes {
1832             description
1833               "TODO";
1834             uses NRCellCUGroup;
1835             uses ManagedNFServiceGroup;
1836           }
1837           list NRCellRelation {
1838             key "idNRCellRelation";
1839             description
1840               "Represents a neighbour cell relation from a source cell
1841                to a target cell, where the target cell is an NRCellCU or
1842                ExternalNRCellCU instance.";
1843             reference
1844               "3GPP TS 28.541";
1845             leaf idNRCellRelation {
1846               type string;
1847               description
1848                 "TODO";
1849             }
1850             container attributes {
1851               description
1852                 "TODO";
1853               uses NRCellRelationGroup;
1854               uses ManagedNFServiceGroup;
1855             }
1856           } // list NRCellRelation
1857           list NRFreqRelation {
1858             key "idNRFreqRelation";
1859             description
1860               "Together with the target NRFrequency, it represents the
1861                frequency properties applicable to the referencing NRFreqRelation.";
1862             reference
1863               "3GPP TS 28.541";
1864             leaf idNRFreqRelation {
1865               type string;
1866               description
1867                 "TODO";
1868             }
1869             container attributes {
1870               description
1871                 "TODO";
1872               uses NRFreqRelationGroup;
1873               uses ManagedNFServiceGroup;
1874             }
1875           } // list NRFreqRelation
1876         }
1877       }
1878     } // list ManagedElement
1879   }
1880 }