blob: 224e884aa559d06a802ec35582386ff9436ec6ac [file] [log] [blame]
Ruslan Kashapov3b0221c2021-02-18 12:31:24 +02001module cps-ran-schema-model {
2 yang-version 1.1;
3 namespace "org:onap:ccsdk:features:sdnr:northbound:cps-ran-schema-model";
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 capturing
25 relationships among managed elements of the radio access Network
26 to be stored in ONAP CPS platform.
27
28 Copyright 2020-2021 IBM.
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 2021-01-28 {
43 description
44 "CPS 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 AvailabilityStatus {
121 type enumeration {
122 enum IN_TEST {
123 description
124 "TODO";
125 }
126 enum FAILED {
127 description
128 "TODO";
129 }
130 enum POWER_OFF {
131 description
132 "TODO";
133 }
134 enum OFF_LINE {
135 description
136 "TODO";
137 }
138 enum OFF_DUTY {
139 description
140 "TODO";
141 }
142 enum DEPENDENCY {
143 description
144 "TODO";
145 }
146 enum DEGRADED {
147 description
148 "TODO";
149 }
150 enum NOT_INSTALLED {
151 description
152 "TODO";
153 }
154 enum LOG_FULL {
155 description
156 "TODO";
157 }
158 }
159 description
160 "TODO";
161 reference
162 "TODO";
163 }
164
165 typedef CellState {
166 type enumeration {
167 enum IDLE {
168 description
169 "TODO";
170 }
171 enum INACTIVE {
172 description
173 "TODO";
174 }
175 enum ACTIVE {
176 description
177 "TODO";
178 }
179 }
180 description
181 "TODO";
182 reference
183 "TODO";
184 }
185
186 typedef SNssai {
187 type string;
188 description
189 "Single Network Slice Selection Assistance Information.";
190 reference
191 "TS 23.501 clause 5.15.2";
192 }
193
194 typedef Sst {
195 type uint8;
196 description
197 "TODO";
198 reference
199 "TODO";
200 }
201
202 typedef Nrpci {
203 type uint32;
204 description
205 "Physical Cell Identity (PCI) of the NR cell.";
206 reference
207 "TS 36.211 subclause 6.11";
208 }
209
210 typedef Tac {
211 type int32 {
212 range "0..16777215";
213 }
214 description
215 "Tracking Area Code";
216 reference
217 "TS 23.003 clause 19.4.2.3";
218 }
219
220 typedef AmfRegionId {
221 type string;
222 description
223 "";
224 reference
225 "clause 2.10.1 of 3GPP TS 23.003";
226 }
227
228 typedef AmfSetId {
229 type string;
230 description
231 "";
232 reference
233 "clause 2.10.1 of 3GPP TS 23.003";
234 }
235
236 typedef AmfPointer {
237 type string;
238 description
239 "";
240 reference
241 "clause 2.10.1 of 3GPP TS 23.003";
242 }
243
244 // type definitions especially for core NFs
245
246 typedef NfType {
247 type enumeration {
248 enum NRF {
249 description
250 "TODO";
251 }
252 enum UDM {
253 description
254 "TODO";
255 }
256 enum AMF {
257 description
258 "TODO";
259 }
260 enum SMF {
261 description
262 "TODO";
263 }
264 enum AUSF {
265 description
266 "TODO";
267 }
268 enum NEF {
269 description
270 "TODO";
271 }
272 enum PCF {
273 description
274 "TODO";
275 }
276 enum SMSF {
277 description
278 "TODO";
279 }
280 enum NSSF {
281 description
282 "TODO";
283 }
284 enum UDR {
285 description
286 "TODO";
287 }
288 enum LMF {
289 description
290 "TODO";
291 }
292 enum GMLC {
293 description
294 "TODO";
295 }
296 enum 5G_EIR {
297 description
298 "TODO";
299 }
300 enum SEPP {
301 description
302 "TODO";
303 }
304 enum UPF {
305 description
306 "TODO";
307 }
308 enum N3IWF {
309 description
310 "TODO";
311 }
312 enum AF {
313 description
314 "TODO";
315 }
316 enum UDSF {
317 description
318 "TODO";
319 }
320 enum BSF {
321 description
322 "TODO";
323 }
324 enum CHF {
325 description
326 "TODO";
327 }
328 }
329 description
330 "TODO";
331 }
332
333 typedef NotificationType {
334 type enumeration {
335 enum N1_MESSAGES {
336 description
337 "TODO";
338 }
339 enum N2_INFORMATION {
340 description
341 "TODO";
342 }
343 enum LOCATION_NOTIFICATION {
344 description
345 "TODO";
346 }
347 }
348 description
349 "TODO";
350 }
351
352 typedef Load {
353 type uint8 {
354 range "0..100";
355 }
356 description
357 "Latest known load information of the NF, percentage ";
358 }
359
360 typedef N1MessageClass {
361 type enumeration {
362 enum 5GMM {
363 description
364 "TODO";
365 }
366 enum SM {
367 description
368 "TODO";
369 }
370 enum LPP {
371 description
372 "TODO";
373 }
374 enum SMS {
375 description
376 "TODO";
377 }
378 }
379 description
380 "TODO";
381 }
382
383 typedef N2InformationClass {
384 type enumeration {
385 enum SM {
386 description
387 "TODO";
388 }
389 enum NRPPA {
390 description
391 "TODO";
392 }
393 enum PWS {
394 description
395 "TODO";
396 }
397 enum PWS_BCAL {
398 description
399 "TODO";
400 }
401 enum PWS_RF {
402 description
403 "TODO";
404 }
405 }
406 description
407 "TODO";
408 reference
409 "TODO";
410 }
411
412 typedef NsiId {
413 type string;
414 description
415 "TODO";
416 }
417
418 typedef UeMobilityLevel {
419 type enumeration {
420 enum STATIONARY {
421 description
422 "TODO";
423 }
424 enum NOMADIC {
425 description
426 "TODO";
427 }
428 enum RESTRICTED_MOBILITY {
429 description
430 "TODO";
431 }
432 enum FULLY_MOBILITY {
433 description
434 "TODO";
435 }
436 }
437 description
438 "TODO";
439 reference
440 "TODO";
441 }
442
443 typedef ResourceSharingLevel {
444 type enumeration {
445 enum SHARED {
446 description
447 "TODO";
448 }
449 enum NOT_SHARED {
450 description
451 "TODO";
452 }
453 }
454 description
455 "TODO";
456 reference
457 "TODO";
458 }
459
460 typedef TxDirection {
461 type enumeration {
462 enum DL {
463 description
464 "TODO";
465 }
466 enum UL {
467 description
468 "TODO";
469 }
470 enum DL_AND_UL {
471 description
472 "TODO";
473 }
474 }
475 description
476 "TODO";
477 reference
478 "TODO";
479 }
480
481 typedef DistinguishedName { // TODO is this equivalent to TS 32.300 ?
482 type string;
483 description
484 "Represents the international standard for the representation
485 of Distinguished Name (RFC 4512).
486 The format of the DistinguishedName REGEX is:
487 {AttributeType = AttributeValue}
488
489 AttributeType consists of alphanumeric and hyphen (OIDs not allowed).
490 All other characters are restricted.
491 The Attribute value cannot contain control characters or the
492 following characters : \\ > < ; \" + , (Comma) and White space
493 The Attribute value can contain the following characters if they
494 are excaped : \\ > < ; \" + , (Comma) and White space
495 The Attribute value can contain control characters if its an escaped
496 double digit hex number.
497 Examples could be
498 UID=nobody@example.com,DC=example,DC=com
499 CN=John Smith,OU=Sales,O=ACME Limited,L=Moab,ST=Utah,C=US";
500 reference
501 "RFC 4512 Lightweight Directory Access Protocol (LDAP):
502 Directory Information Models";
503 } // recheck regexp it doesn't handle posix [:cntrl:]
504
505 typedef QOffsetRange {
506 type int8;
507 units "dB";
508 description
509 "TODO";
510 reference
511 "TODO";
512 }
513
514 typedef QuotaType {
515 type enumeration {
516 enum STRICT {
517 description
518 "TODO";
519 }
520 enum FLOAT {
521 description
522 "TODO";
523 }
524 }
525 description
526 "TODO";
527 }
528
529 typedef CyclicPrefix {
530 type enumeration {
531 enum NORMAL {
532 description
533 "TODO";
534 }
535 enum EXTENDED {
536 description
537 "TODO";
538 }
539 }
540 description
541 "TODO";
542 }
543
544 grouping PLMNInfo {
545 description
546 "The PLMNInfo data type define a S-NSSAI member in a specific PLMNId, and it have
547 two attributes PLMNId and S-NSSAI (PLMNId, S-NSSAI). The PLMNId represents a data type that
548 is comprised of mcc (mobile country code) and mnc (mobile network code), (See TS 23.003
549 subclause 2.2 and 12.1) and S-NSSAI represents an data type, that is comprised of an SST
550 (Slice/Service type) and an optional SD (Slice Differentiator) field, (See TS 23.003 [13]).";
551 uses PLMNId;
552 list sNSSAIList {
553 key "sNssai";
554 uses sNSSAIConfig;
555 description "List of sNSSAIs";
556 }
557 }
558
559 grouping ManagedNFProfile {
560 description
561 "Defines profile for managed NF";
562 reference
563 "3GPP TS 23.501";
564 leaf idx {
565 type uint32;
566 description
567 "TODO";
568 reference
569 "3GPP TS 23.501";
570 }
571 leaf nfInstanceID {
572 type yang:uuid;
573 config false;
574 mandatory false;
575 description
576 "This parameter defines profile for managed NF.
577 The format of the NF Instance ID shall be a
578 Universally Unique Identifier (UUID) version 4,
579 as described in IETF RFC 4122 ";
580 }
581 leaf-list nfType {
582 type NfType;
583 config false;
584 min-elements 1;
585 description
586 "Type of the Network Function";
587 }
588 leaf hostAddr {
589 type inet:host;
590 mandatory false;
591 description
592 "Host address of a NF";
593 }
594 leaf authzInfo {
595 type string;
596 description
597 "This parameter defines NF Specific Service authorization
598 information. It shall include the NF type (s) and NF realms/origins
599 allowed to consume NF Service(s) of NF Service Producer.";
600 reference
601 "See TS 23.501";
602 }
603 leaf location {
604 type string;
605 description
606 "Information about the location of the NF instance
607 (e.g. geographic location, data center) defined by operator";
608 reference
609 "TS 29.510";
610 }
611 leaf capacity {
612 type uint16;
613 mandatory false;
614 description
615 "This parameter defines static capacity information
616 in the range of 0-65535, expressed as a weight relative to other
617 NF instances of the same type; if capacity is also present in the
618 nfServiceList parameters, those will have precedence over this value.";
619 reference
620 "TS 29.510";
621 }
622 leaf nFSrvGroupId {
623 type string;
624 description
625 "This parameter defines identity of the group that is
626 served by the NF instance.
627 May be config false or true depending on the ManagedFunction.
628 Config=true for Udrinfo. Config=false for UdmInfo and AusfInfo.
629 Shall be present if ../nfType = UDM or AUSF or UDR. ";
630 reference
631 "TS 29.510";
632 }
633 leaf-list supportedDataSetIds {
634 type enumeration {
635 enum SUBSCRIPTION {
636 description
637 "TODO";
638 }
639 enum POLICY {
640 description
641 "TODO";
642 }
643 enum EXPOSURE {
644 description
645 "TODO";
646 }
647 enum APPLICATION {
648 description
649 "TODO";
650 }
651 }
652 description
653 "List of supported data sets in the UDR instance.
654 May be present if ../nfType = UDR";
655 reference
656 "TS 29.510";
657 }
658 leaf-list smfServingAreas {
659 type string;
660 description
661 "Defines the SMF service area(s) the UPF can serve.
662 Shall be present if ../nfType = UPF";
663 reference
664 "TS 29.510";
665 }
666 leaf priority {
667 type uint16;
668 description
669 "This parameter defines Priority (relative to other NFs
670 of the same type) in the range of 0-65535, to be used for NF selection;
671 lower values indicate a higher priority. If priority is also present
672 in the nfServiceList parameters, those will have precedence over
673 this value. Shall be present if ../nfType = AMF ";
674 reference
675 "TS 29.510";
676 }
677 }
678
679
680 grouping PLMNId {
681 description
682 "TODO";
683 reference
684 "TS 23.658";
685 leaf mcc {
686 type Mcc;
687 mandatory true;
688 description
689 "TODO";
690 }
691 leaf mnc {
692 type Mnc;
693 mandatory true;
694 description
695 "TODO";
696 }
697 }
698
699 grouping AmfIdentifier {
700 description
701 "The AMFI is constructed from an AMF Region ID,
702 an AMF Set ID and an AMF Pointer.
703 The AMF Region ID identifies the region,
704 the AMF Set ID uniquely identifies the AMF Set within the AMF Region, and
705 the AMF Pointer uniquely identifies the AMF within the AMF Set. ";
706 leaf amfRegionId {
707 type AmfRegionId;
708 description
709 "TODO";
710 }
711 leaf amfSetId {
712 type AmfSetId;
713 description
714 "TODO";
715 }
716 leaf amfPointer {
717 type AmfPointer;
718 description
719 "TODO";
720 }
721 }
722
723 grouping DefaultNotificationSubscription {
724 description
725 "TODO";
726 leaf notificationType {
727 type NotificationType;
728 description
729 "TODO";
730 }
731 leaf callbackUri {
732 type inet:uri;
733 description
734 "TODO";
735 }
736 leaf n1MessageClass {
737 type N1MessageClass;
738 description
739 "TODO";
740 }
741 leaf n2InformationClass {
742 type N2InformationClass;
743 description
744 "TODO";
745 }
746 }
747
748 grouping Ipv4AddressRange {
749 description
750 "TODO";
751 leaf start {
752 type inet:ipv4-address;
753 description
754 "TODO";
755 }
756 leaf end {
757 type inet:ipv4-address;
758 description
759 "TODO";
760 }
761 }
762
763 grouping Ipv6PrefixRange {
764 description
765 "TODO";
766 leaf start {
767 type inet:ipv6-prefix;
768 description
769 "TODO";
770 }
771 leaf end {
772 type inet:ipv6-prefix;
773 description
774 "TODO";
775 }
776 }
777
778 grouping AddressWithVlan {
779 description
780 "TODO";
781 leaf ipAddress {
782 type inet:ip-address;
783 description
784 "TODO";
785 }
786 leaf vlanId {
787 type uint16;
788 description
789 "TODO";
790 }
791 }
792
793 grouping ManagedElementGroup {
794 description
795 "Abstract class representing telecommunications resources.";
796 leaf dnPrefix {
797 type DistinguishedName;
798 description
799 "Provides naming context and splits the DN into a DN Prefix and Local DN";
800 }
801 leaf userLabel {
802 type string;
803 description
804 "A user-friendly name of this object.";
805 }
806 leaf locationName {
807 type string;
808 config false;
809 description
810 "The physical location (e.g. an address) of an entity";
811 }
812 leaf-list managedBy {
813 type DistinguishedName;
814 config false;
815 description
816 "Relates to the role played by ManagementSystem";
817 }
818 leaf-list managedElementTypeList {
819 type string;
820 config false;
821 min-elements 1;
822 description
823 "The type of functionality provided by the ManagedElement.
824 It may represent one ME functionality or a combination of
825 Two examples of allowed values are:
826 - NodeB;
827 - HLR, VLR.";
828 }
829 } // Managed Element grouping
830
831 grouping NearRTRICGroup {
832 description
833 "Abstract class representing Near RT RIC.";
834 leaf dnPrefix {
835 type DistinguishedName;
836 description
837 "Provides naming context and splits the DN into a DN Prefix and Local DN";
838 }
839 leaf userLabel {
840 type string;
841 description
842 "A user-friendly name of this object.";
843 }
844 leaf locationName {
845 type string;
846 config false;
847 description
848 "The physical location (e.g. an address) of an entity";
849 }
850 leaf gNBId {
851 type int64 { range "0..4294967295"; }
852 config false;
853 description "Identifies a gNB within a PLMN. The gNB Identifier (gNB ID)
854 is part of the NR Cell Identifier (NCI) of the gNB cells.";
855 reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413";
856 }
857
858 list pLMNInfoList {
859 uses PLMNInfo;
860 key "mcc mnc";
861 description "The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs that can be served by the nearRTRIC.";
862 }
863 list RRMPolicyRatio {
864 key id;
865 leaf id {
866 type string;
867 description
868 "Key leaf";
869 }
870 container attributes {
871 uses RRMPolicyRatioGroup;
872 }
873 description " The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
874 inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both
875 standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
876 abstract RRMPolicy_ IOC. For details see subclause 4.3.36.";
877 }
878 leaf-list ranNFNSSIIdList{
879 type string;
880 config true;
881 description "Contains the list of RANNFNSSIs configured in a NearRTRIC";
882 }
883
884
885 } // Near RT RIC grouping
886
887
888
889 grouping Configuration{
890 leaf configParameter{
891 type string;
892 description "Type of the configuration parameter";
893 }
894 leaf configValue{
895 type int64;
896 description "Identifies the configuration to be done for the network elements under the NearRTRIC";
897
898 }
899 }
900
901
902 grouping GNBDUFunctionGroup {
903 description
904 "Represents the GNBDUFunction IOC.";
905 reference
906 "3GPP TS 28.541";
907
908 leaf gNBId {
909 type int64 {
910 range "0..4294967295";
911 }
912 config false;
913 mandatory false;
914 description
915 "Identifies a gNB within a PLMN. The gNB Identifier (gNB ID)
916 is part of the NR Cell Identifier (NCI) of the gNB cells.";
917 reference
918 "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413";
919 }
920 leaf gNBIdLength {
921 type int32 {
922 range "22..32";
923 }
924 mandatory false;
925 description
926 "Indicates the number of bits for encoding the gNB ID.";
927 reference
928 "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413";
929 }
930 leaf gNBDUId {
931 type int64 {
932 range "0..68719476735";
933 }
934 mandatory false;
935 description
936 "Uniquely identifies the DU at least within a gNB.";
937 reference
938 "3GPP TS 38.473";
939 }
940 leaf gNBDUName {
941 type string {
942 length "1..150";
943 }
944 description
945 "Identifies the Distributed Unit of an NR node";
946 reference
947 "3GPP TS 38.473";
948 }
949 list RRMPolicyRatio {
950 key id;
951 leaf id {
952 type string;
953 description
954 "Key leaf";
955 }
956 container attributes {
957 uses RRMPolicyRatioGroup;
958 }
959 description " The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
960 inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both
961 standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
962 abstract RRMPolicy_ IOC. For details see subclause 4.3.36.";
963 }
964 }
965
966 grouping NRCellDUGroup {
967 description
968 "Represents the NRCellDU IOC.";
969 reference
970 "3GPP TS 28.541";
971 list RRMPolicyRatio {
972 key id;
973 leaf id {
974 type string;
975 description
976 "Key leaf";
977 }
978 container attributes {
979 uses RRMPolicyRatioGroup;
980 }
981 description " The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
982 inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both
983 standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
984 abstract RRMPolicy_ IOC. For details see subclause 4.3.36.";
985 }
986 leaf cellLocalId {
987 type int32 {
988 range "0..16383";
989 }
990 mandatory false;
991 description
992 "Identifies an NR cell of a gNB. Together with the
993 corresponding gNB identifier in forms the NR Cell Identity (NCI).";
994 reference
995 "NCI in 3GPP TS 38.300";
996 }
997 list pLMNInfoList {
998 key "mcc mnc";
999 min-elements 1;
1000 description
1001 "The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs that
1002 can be served by the NR cell, and which S-NSSAIs that can be supported by the NR cell for
1003 corresponding PLMN in case of network slicing feature is supported. The plMNId of the first
1004 entry of the list is the PLMNId used to construct the nCGI for the NR cell.";
1005 uses PLMNInfo;
1006 }
1007 leaf nRPCI {
1008 type int32 {
1009 range "0..1007";
1010 }
1011 mandatory false;
1012 description
1013 "The Physical Cell Identity (PCI) of the NR cell.";
1014 reference
1015 "3GPP TS 36.211";
1016 }
1017 leaf nRTAC {
1018 type Tac;
1019 description
1020 "The common 5GS Tracking Area Code for the PLMNs.";
1021 reference
1022 "3GPP TS 23.003, 3GPP TS 38.473";
1023 }
1024 } // grouping
1025
1026 grouping rRMPolicyMemberGroup {
1027 description
1028 "TODO";
1029 uses PLMNId;
1030 leaf sNSSAI {
1031 type SNssai;
1032 description
1033 "This data type represents an RRM Policy member that will be part of a
1034 rRMPolicyMemberList. A RRMPolicyMember is defined by its pLMNId and sNSSAI (S-NSSAI).
1035 The members in a rRMPolicyMemberList are assigned a specific amount of RRM resources
1036 based on settings in RRMPolicy.";
1037 }
1038 }
1039
1040 grouping RRMPolicyRatioGroup {
1041
1042 uses RRMPolicy_Group; // Inherits RRMPolicy_
1043
1044 leaf quotaType {
1045 type QuotaType;
1046 mandatory false;
1047 description "The type of the quota which allows to allocate resources as
1048 strictly usable for defined slice(s) (strict quota) or allows that
1049 resources to be used by other slice(s) when defined slice(s) do not
1050 need them (float quota).";
1051 }
1052
1053 leaf rRMPolicyMaxRatio {
1054 type uint8;
1055 mandatory false;
1056 units percent;
1057 description "The RRM policy setting the maximum percentage of radio
1058 resources to be allocated to the corresponding S-NSSAI list. This
1059 quota can be strict or float quota. Strict quota means resources are
1060 not allowed for other sNSSAIs even when they are not used by the
1061 defined sNSSAIList. Float quota resources can be used by other sNSSAIs
1062 when the defined sNSSAIList do not need them. Value 0 indicates that
1063 there is no maximum limit.";
1064 }
1065
1066 leaf rRMPolicyMinRatio {
1067 type uint8;
1068 mandatory false;
1069 units percent;
1070 description "The RRM policy setting the minimum percentage of radio
1071 resources to be allocated to the corresponding S-NSSAI list. This
1072 quota can be strict or float quota. Strict quota means resources are
1073 not allowed for other sNSSAIs even when they are not used by the
1074 defined sNSSAIList. Float quota resources can be used by other sNSSAIs
1075 when the defined sNSSAIList do not need them. Value 0 indicates that
1076 there is no minimum limit.";
1077 }
1078 leaf rRMPolicyDedicatedRatio {
1079 type uint8;
1080 units percent;
1081 description "Dedicated Ration.";
1082 }
1083 description "Represents the RRMPolicyRatio concrete IOC.";
1084 }
1085
1086
1087 grouping sNSSAIConfig{
1088 leaf sNssai {
1089 type string;
1090 description "s-NSSAI of a network slice.";
1091 reference "3GPP TS 23.003";
1092 }
1093 leaf status {
1094 type string;
1095 description "status of s-NSSAI";
1096 }
1097 list configData{
1098 uses Configuration;
1099 key "configParameter";
1100 description "List of configurations to be done at the network elements";
1101 }
1102 }
1103
1104 grouping RRMPolicy_Group {
1105 description
1106 "This IOC represents the properties of an abstract RRMPolicy. The RRMPolicy_ IOC
1107 needs to be subclassed to be instantiated. It defines two attributes apart from those
1108 inherited from Top IOC, the resourceType attribute defines type of resource (PRB, RRC
1109 connected users, DRB usage etc.) and the rRMPolicyMemberList attribute defines the
1110 RRMPolicyMember(s)that are subject to this policy. An RRM resource (defined in resourceType
1111 attribute) is located in NRCellDU, NRCellCU, GNBDUFunction, GNBCUCPFunction or in
1112 GNBCUUPFunction. The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
1113 inheritance in TS 28.541 Figure 4.2.1.2-1. This RRM framework allows adding new policies,
1114 both standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
1115 abstract RRMPolicy_ IOC.";
1116 leaf resourceType {
1117 type string;
1118 mandatory false;
1119 description
1120 "The resourceType attribute defines type of resource (PRB, RRC connected users,
1121 DRB usage etc.) that is subject to policy. Valid values are 'PRB', 'RRC' or 'DRB'";
1122 }
1123 list rRMPolicyMemberList {
1124 key "idx";
1125 leaf idx {
1126 type uint32;
1127 description
1128 "TODO";
1129 }
1130 description
1131 "It represents the list of RRMPolicyMember (s) that the managed object
1132 is supporting. A RRMPolicyMember <<dataType>> include the PLMNId <<dataType>>
1133 and S-NSSAI <<dataType>>.";
1134 uses rRMPolicyMemberGroup;
1135 }
1136 } // grouping
1137
1138 grouping GNBCUUPFunctionGroup {
1139 description
1140 "Represents the GNBCUUPFunction IOC.";
1141 reference
1142 "3GPP TS 28.541";
1143
1144 list RRMPolicyRatio {
1145 key id;
1146 leaf id {
1147 type string;
1148 description
1149 "Key leaf";
1150 }
1151 container attributes {
1152 uses RRMPolicyRatioGroup;
1153 }
1154 description " The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
1155 inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both
1156 standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
1157 abstract RRMPolicy_ IOC. For details see subclause 4.3.36.";
1158 }
1159 leaf gNBCUUPId {
1160 type uint64 {
1161 range "0..68719476735";
1162 }
1163 config false;
1164 mandatory false;
1165 description
1166 "Identifies the gNB-CU-UP at least within a gNB-CU-CP";
1167 reference
1168 "'gNB-CU-UP ID' in subclause 9.3.1.15 of 3GPP TS 38.463";
1169 }
1170 leaf gNBId {
1171 type int64 {
1172 range "0..4294967295";
1173 }
1174 mandatory false;
1175 description
1176 "Indicates the number of bits for encoding the gNB Id.";
1177 reference
1178 "gNB Id in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413";
1179 }
1180 list pLMNInfoList {
1181 key "mcc mnc";
1182 description
1183 "The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs that
1184 can be served by the GNBCUUPFunction and which S-NSSAIs can be supported by the
1185 GNBCUUPFunction for corresponding PLMN in case of network slicing feature is supported";
1186 uses PLMNInfo;
1187 }
1188 } // grouping
1189
1190 grouping GNBCUCPFunctionGroup {
1191 description
1192 "Represents the GNBCUCPFunction IOC.";
1193 reference
1194 "3GPP TS 28.541";
1195 list RRMPolicyRatio {
1196 key id;
1197 leaf id {
1198 type string;
1199 description
1200 "Key leaf";
1201 }
1202 container attributes {
1203 uses RRMPolicyRatioGroup;
1204 }
1205 description " The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
1206 inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both
1207 standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
1208 abstract RRMPolicy_ IOC. For details see subclause 4.3.36.";
1209 }
1210 leaf gNBId {
1211 type int64 {
1212 range "0..4294967295";
1213 }
1214 mandatory false;
1215 description
1216 "Identifies a gNB within a PLMN. The gNB Identifier (gNB ID)
1217 is part of the NR Cell Identifier (NCI) of the gNB cells.";
1218 reference
1219 "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413";
1220 }
1221 leaf gNBIdLength {
1222 type int32 {
1223 range "22..32";
1224 }
1225 mandatory false;
1226 description
1227 "Indicates the number of bits for encoding the gNB ID.";
1228 reference
1229 "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413";
1230 }
1231 leaf gNBCUName {
1232 type string {
1233 length "1..150";
1234 }
1235 mandatory false;
1236 description
1237 "Identifies the Central Unit of an gNB.";
1238 reference
1239 "3GPP TS 38.473";
1240 }
1241 list pLMNId {
1242 key "mcc mnc";
1243 min-elements 1;
1244 max-elements 1;
1245 description
1246 "The PLMN identifier to be used as part of the global RAN
1247 node identity.";
1248 uses PLMNId;
1249 }
1250 } // grouping
1251
1252 grouping NRCellCUGroup {
1253 description
1254 "Represents the NRCellCU IOC.";
1255 reference
1256 "3GPP TS 28.541";
1257 leaf cellLocalId {
1258 type int32 {
1259 range "0..16383";
1260 }
1261 mandatory false;
1262 description
1263 "Identifies an NR cell of a gNB. Together with corresponding
1264 gNB ID it forms the NR Cell Identifier (NCI).";
1265 }
1266 list pLMNInfoList {
1267 key "mcc mnc";
1268 min-elements 1;
1269 description
1270 "The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs
1271 that can be served by the NR cell, and which S-NSSAIs that can be supported by the
1272 NR cell for corresponding PLMN in case of network slicing feature is supported.";
1273 uses PLMNInfo;
1274 // Note: Whether the attribute pLMNId in the pLMNInfo can be writable depends on the implementation.
1275 }
1276 list RRMPolicyRatio {
1277 key id;
1278 leaf id {
1279 type string;
1280 description
1281 "Key leaf";
1282 }
1283 container attributes {
1284 uses RRMPolicyRatioGroup;
1285 }
1286 description " The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
1287 inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both
1288 standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
1289 abstract RRMPolicy_ IOC. For details see subclause 4.3.36.";
1290 }
1291 } // grouping NRCellCUGroup
1292
1293 grouping NRCellRelationGroup {
1294 description
1295 "Represents the NRCellRelation IOC.";
1296 reference
1297 "3GPP TS 28.541";
1298 leaf nRTCI {
1299 type uint64;
1300 description
1301 "Target NR Cell Identifier. It consists of NR Cell
1302 Identifier (NCI) and Physical Cell Identifier of the target NR cell
1303 (nRPCI).";
1304 }
1305 } // grouping
1306
1307 // container for RAN Network
1308
1309 container cps-ran-schema {
1310 description
1311 "High-level hierarchical data structure to establish
1312 relationships among O-RAN managed elements for the
1313 purposes of storing in Configuration and Persistence
1314 ONAP system ";
1315 list NearRTRIC {
1316 key "idNearRTRIC"; // list GNBCUCPFunction
1317 description
1318 "A list of expected near-real-time RIC O-RAN managed functions.";
1319 leaf idNearRTRIC {
1320 type string;
1321 description
1322 "Key leaf (namingAttribute) for a class/list.
1323 Should be used as a key leaf for lists representing
1324 stage 2 classes.";
1325 reference
1326 "3GPP TS 32.300 Name convention for managed objects";
1327 }
1328 container attributes {
1329 description
1330 "TODO";
1331 uses NearRTRICGroup;
1332 }
1333 list GNBDUFunction {
1334 key "idGNBDUFunction";
1335 description
1336 "Represents the logical function DU of gNB or en-gNB.";
1337 reference
1338 "3GPP TS 28.541";
1339 leaf idGNBDUFunction {
1340 type string;
1341 description
1342 "TODO";
1343 }
1344 container attributes {
1345 description
1346 "TODO";
1347 uses GNBDUFunctionGroup;
1348 }
1349 list NRCellDU {
1350 key "idNRCellDU";
1351 description
1352 "Represents the information of a cell known by DU.";
1353 reference
1354 "3GPP TS 28.541";
1355 leaf idNRCellDU {
1356 type string;
1357 description
1358 "TODO";
1359 }
1360 container attributes {
1361 description
1362 "TODO";
1363 uses NRCellDUGroup;
1364 }
1365 } // list NRCellDU
1366 } // list GNBDUFunction
1367 list GNBCUUPFunction {
1368 key "idGNBCUUPFunction";
1369 description
1370 "TODO";
1371 leaf idGNBCUUPFunction {
1372 type string;
1373 description
1374 "TODO";
1375 }
1376 container attributes {
1377 description
1378 "TODO";
1379 uses GNBCUUPFunctionGroup;
1380 }
1381 } // list GNBCUUPFunction
1382 list GNBCUCPFunction {
1383 key "idGNBCUCPFunction"; // list NRCellCU
1384 description
1385 "Represents the logical function CU-CP of gNB and en-gNB.";
1386 reference
1387 "3GPP TS 28.541";
1388 leaf idGNBCUCPFunction {
1389 type string;
1390 description
1391 "TODO";
1392 }
1393 container attributes {
1394 description
1395 "TODO";
1396 uses GNBCUCPFunctionGroup;
1397 }
1398 list NRCellCU {
1399 key "idNRCellCU";
1400 description
1401 "Represents the information required by CU that is
1402 responsible for the management of inter-cell mobility and neighbour
1403 relations via ANR.";
1404 reference
1405 "3GPP TS 28.541";
1406 leaf idNRCellCU {
1407 type string;
1408 description
1409 "TODO";
1410 }
1411 container attributes {
1412 description
1413 "TODO";
1414 uses NRCellCUGroup;
1415 }
1416 list NRCellRelation {
1417 key "idNRCellRelation";
1418 description
1419 "Represents a neighbour cell relation from a source cell
1420 to a target cell, where the target cell is an NRCellCU or
1421 ExternalNRCellCU instance.";
1422 reference
1423 "3GPP TS 28.541";
1424 leaf idNRCellRelation {
1425 type string;
1426 description
1427 "TODO";
1428 }
1429 container attributes {
1430 description
1431 "TODO";
1432 uses NRCellRelationGroup;
1433 }
1434 } // list NRCellRelation
1435 list NRFreqRelation {
1436 key "idNRFreqRelation";
1437 description
1438 "Together with the target NRFrequency, it represents the
1439 frequency properties applicable to the referencing NRFreqRelation.";
1440 reference
1441 "3GPP TS 28.541";
1442 leaf idNRFreqRelation {
1443 type string;
1444 description
1445 "TODO";
1446 }
1447 } // list NRFreqRelation
1448 }
1449 }
1450 } // list ManagedElement
1451 }
1452}