1 update yang_resource set
2 name = 'cps-ran-schema-model@2021-01-28.yang',
3 checksum = 'a825c571c4a1d585a7f09a3716dedbfab1146abc4725b75a16f9ac89440bf46b',
4 content = 'module cps-ran-schema-model {
6 namespace "org:onap:ccsdk:features:sdnr:northbound:cps-ran-schema-model";
9 import ietf-inet-types {
12 import ietf-yang-types {
17 "Open Network Automation Platform - ONAP
18 <https://www.onap.org>";
22 <mailto:sandeep.shah@ibm.com>
24 Swaminathan Seetharaman
25 <mailto:swaminathan.seetharaman@wipro.com>";
27 "This module contains a collection of YANG definitions for capturing
28 relationships among managed elements of the radio access Network
29 to be stored in ONAP CPS platform.
31 Copyright 2020-2021 IBM.
33 Licensed under the Apache License, Version 2.0 (the ''License'');
34 you may not use this file except in compliance with the License.
35 You may obtain a copy of the License at
37 http://www.apache.org/licenses/LICENSE-2.0
39 Unless required by applicable law or agreed to in writing, software
40 distributed under the License is distributed on an ''AS IS'' BASIS,
41 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
42 See the License for the specific language governing permissions and
43 limitations under the License.";
47 "CPS RAN Network YANG Model for ONAP/O-RAN POC";
49 "https://wiki.onap.org/display/DW/E2E+Network+Slicing+Use+Case+in+R7+Guilin";
68 "It describes whether or not the resource is actively in
69 use at a specific instant, and if so, whether or not it has spare
70 capacity for additional users at that instant. The value is READ-ONLY.";
72 "ITU T Recommendation X.731";
78 "The mobile country code consists of three decimal digits,
79 The first digit of the mobile country code identifies the geographic
80 region (the digits 1 and 8 are not used):";
82 "3GPP TS 23.003 subclause 2.2 and 12.1";
88 "The mobile network code consists of two or three
89 decimal digits (for example: MNC of 001 is not the same as MNC of 01)";
91 "3GPP TS 23.003 subclause 2.2 and 12.1";
97 "NR Cell Identity. The NCI shall be of fixed length of 36 bits
98 and shall be coded using full hexadecimal representation.
99 The exact coding of the NCI is the responsibility of each PLMN operator";
104 typedef OperationalState {
109 "The resource is totally inoperable.";
114 "The resource is partially or fully operable.";
120 "3GPP TS 28.625 and ITU-T X.731";
123 typedef AvailabilityStatus {
192 "Single Network Slice Selection Assistance Information.";
194 "TS 23.501 clause 5.15.2";
208 "Physical Cell Identity (PCI) of the NR cell.";
210 "TS 36.211 subclause 6.11";
218 "Tracking Area Code";
220 "TS 23.003 clause 19.4.2.3";
223 typedef AmfRegionId {
228 "clause 2.10.1 of 3GPP TS 23.003";
236 "clause 2.10.1 of 3GPP TS 23.003";
244 "clause 2.10.1 of 3GPP TS 23.003";
247 // type definitions especially for core NFs
336 typedef NotificationType {
342 enum N2_INFORMATION {
346 enum LOCATION_NOTIFICATION {
360 "Latest known load information of the NF, percentage ";
363 typedef N1MessageClass {
386 typedef N2InformationClass {
421 typedef UeMobilityLevel {
431 enum RESTRICTED_MOBILITY {
435 enum FULLY_MOBILITY {
446 typedef ResourceSharingLevel {
463 typedef TxDirection {
484 typedef DistinguishedName { // TODO is this equivalent to TS 32.300 ?
487 "Represents the international standard for the representation
488 of Distinguished Name (RFC 4512).
489 The format of the DistinguishedName REGEX is:
490 {AttributeType = AttributeValue}
492 AttributeType consists of alphanumeric and hyphen (OIDs not allowed).
493 All other characters are restricted.
494 The Attribute value cannot contain control characters or the
495 following characters : > < ; \" + , (Comma) and White space
496 The Attribute value can contain the following characters if they
497 are excaped : > < ; \" + , (Comma) and White space
498 The Attribute value can contain control characters if its an escaped
499 double digit hex number.
501 UID=nobody@example.com,DC=example,DC=com
502 CN=John Smith,OU=Sales,O=ACME Limited,L=Moab,ST=Utah,C=US";
504 "RFC 4512 Lightweight Directory Access Protocol (LDAP):
505 Directory Information Models";
506 } // recheck regexp it doesn''t handle posix [:cntrl:]
508 typedef QOffsetRange {
532 typedef CyclicPrefix {
549 "The PLMNInfo data type define a S-NSSAI member in a specific PLMNId, and it have
550 two attributes PLMNId and S-NSSAI (PLMNId, S-NSSAI). The PLMNId represents a data type that
551 is comprised of mcc (mobile country code) and mnc (mobile network code), (See TS 23.003
552 subclause 2.2 and 12.1) and S-NSSAI represents an data type, that is comprised of an SST
553 (Slice/Service type) and an optional SD (Slice Differentiator) field, (See TS 23.003 [13]).";
558 description "List of sNSSAIs";
562 grouping ManagedNFProfile {
564 "Defines profile for managed NF";
579 "This parameter defines profile for managed NF.
580 The format of the NF Instance ID shall be a
581 Universally Unique Identifier (UUID) version 4,
582 as described in IETF RFC 4122 ";
589 "Type of the Network Function";
595 "Host address of a NF";
600 "This parameter defines NF Specific Service authorization
601 information. It shall include the NF type (s) and NF realms/origins
602 allowed to consume NF Service(s) of NF Service Producer.";
609 "Information about the location of the NF instance
610 (e.g. geographic location, data center) defined by operator";
618 "This parameter defines static capacity information
619 in the range of 0-65535, expressed as a weight relative to other
620 NF instances of the same type; if capacity is also present in the
621 nfServiceList parameters, those will have precedence over this value.";
628 "This parameter defines identity of the group that is
629 served by the NF instance.
630 May be config false or true depending on the ManagedFunction.
631 Config=true for Udrinfo. Config=false for UdmInfo and AusfInfo.
632 Shall be present if ../nfType = UDM or AUSF or UDR. ";
636 leaf-list supportedDataSetIds {
656 "List of supported data sets in the UDR instance.
657 May be present if ../nfType = UDR";
661 leaf-list smfServingAreas {
664 "Defines the SMF service area(s) the UPF can serve.
665 Shall be present if ../nfType = UPF";
672 "This parameter defines Priority (relative to other NFs
673 of the same type) in the range of 0-65535, to be used for NF selection;
674 lower values indicate a higher priority. If priority is also present
675 in the nfServiceList parameters, those will have precedence over
676 this value. Shall be present if ../nfType = AMF ";
702 grouping AmfIdentifier {
704 "The AMFI is constructed from an AMF Region ID,
705 an AMF Set ID and an AMF Pointer.
706 The AMF Region ID identifies the region,
707 the AMF Set ID uniquely identifies the AMF Set within the AMF Region, and
708 the AMF Pointer uniquely identifies the AMF within the AMF Set. ";
726 grouping DefaultNotificationSubscription {
729 leaf notificationType {
730 type NotificationType;
739 leaf n1MessageClass {
744 leaf n2InformationClass {
745 type N2InformationClass;
751 grouping Ipv4AddressRange {
755 type inet:ipv4-address;
760 type inet:ipv4-address;
766 grouping Ipv6PrefixRange {
770 type inet:ipv6-prefix;
775 type inet:ipv6-prefix;
781 grouping AddressWithVlan {
785 type inet:ip-address;
796 grouping ManagedElementGroup {
798 "Abstract class representing telecommunications resources.";
800 type DistinguishedName;
802 "Provides naming context and splits the DN into a DN Prefix and Local DN";
807 "A user-friendly name of this object.";
813 "The physical location (e.g. an address) of an entity";
815 leaf-list managedBy {
816 type DistinguishedName;
819 "Relates to the role played by ManagementSystem";
821 leaf-list managedElementTypeList {
826 "The type of functionality provided by the ManagedElement.
827 It may represent one ME functionality or a combination of
828 Two examples of allowed values are:
832 } // Managed Element grouping
834 grouping NearRTRICGroup {
836 "Abstract class representing Near RT RIC.";
838 type DistinguishedName;
840 "Provides naming context and splits the DN into a DN Prefix and Local DN";
845 "A user-friendly name of this object.";
851 "The physical location (e.g. an address) of an entity";
854 type int64 { range "0..4294967295"; }
856 description "Identifies a gNB within a PLMN. The gNB Identifier (gNB ID)
857 is part of the NR Cell Identifier (NCI) of the gNB cells.";
858 reference "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413";
864 description "The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs that can be served by the nearRTRIC.";
866 list RRMPolicyRatio {
873 container attributes {
874 uses RRMPolicyRatioGroup;
876 description " The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
877 inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both
878 standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
879 abstract RRMPolicy_ IOC. For details see subclause 4.3.36.";
882 } // Near RT RIC grouping
886 grouping Configuration{
887 leaf configParameter{
889 description "Type of the configuration parameter";
893 description "Identifies the configuration to be done for the network elements under the NearRTRIC";
899 grouping GNBDUFunctionGroup {
901 "Represents the GNBDUFunction IOC.";
907 range "0..4294967295";
912 "Identifies a gNB within a PLMN. The gNB Identifier (gNB ID)
913 is part of the NR Cell Identifier (NCI) of the gNB cells.";
915 "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413";
923 "Indicates the number of bits for encoding the gNB ID.";
925 "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413";
929 range "0..68719476735";
933 "Uniquely identifies the DU at least within a gNB.";
942 "Identifies the Distributed Unit of an NR node";
946 list RRMPolicyRatio {
953 container attributes {
954 uses RRMPolicyRatioGroup;
956 description " The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
957 inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both
958 standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
959 abstract RRMPolicy_ IOC. For details see subclause 4.3.36.";
963 grouping NRCellDUGroup {
965 "Represents the NRCellDU IOC.";
968 list RRMPolicyRatio {
975 container attributes {
976 uses RRMPolicyRatioGroup;
978 description " The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
979 inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both
980 standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
981 abstract RRMPolicy_ IOC. For details see subclause 4.3.36.";
989 "Identifies an NR cell of a gNB. Together with the
990 corresponding gNB identifier in forms the NR Cell Identity (NCI).";
992 "NCI in 3GPP TS 38.300";
998 "The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs that
999 can be served by the NR cell, and which S-NSSAIs that can be supported by the NR cell for
1000 corresponding PLMN in case of network slicing feature is supported. The plMNId of the first
1001 entry of the list is the PLMNId used to construct the nCGI for the NR cell.";
1010 "The Physical Cell Identity (PCI) of the NR cell.";
1017 "The common 5GS Tracking Area Code for the PLMNs.";
1019 "3GPP TS 23.003, 3GPP TS 38.473";
1023 grouping rRMPolicyMemberGroup {
1030 "This data type represents an RRM Policy member that will be part of a
1031 rRMPolicyMemberList. A RRMPolicyMember is defined by its pLMNId and sNSSAI (S-NSSAI).
1032 The members in a rRMPolicyMemberList are assigned a specific amount of RRM resources
1033 based on settings in RRMPolicy.";
1037 grouping RRMPolicyRatioGroup {
1039 uses RRMPolicy_Group; // Inherits RRMPolicy_
1044 description "The type of the quota which allows to allocate resources as
1045 strictly usable for defined slice(s) (strict quota) or allows that
1046 resources to be used by other slice(s) when defined slice(s) do not
1047 need them (float quota).";
1050 leaf rRMPolicyMaxRatio {
1054 description "The RRM policy setting the maximum percentage of radio
1055 resources to be allocated to the corresponding S-NSSAI list. This
1056 quota can be strict or float quota. Strict quota means resources are
1057 not allowed for other sNSSAIs even when they are not used by the
1058 defined sNSSAIList. Float quota resources can be used by other sNSSAIs
1059 when the defined sNSSAIList do not need them. Value 0 indicates that
1060 there is no maximum limit.";
1063 leaf rRMPolicyMinRatio {
1067 description "The RRM policy setting the minimum percentage of radio
1068 resources to be allocated to the corresponding S-NSSAI list. This
1069 quota can be strict or float quota. Strict quota means resources are
1070 not allowed for other sNSSAIs even when they are not used by the
1071 defined sNSSAIList. Float quota resources can be used by other sNSSAIs
1072 when the defined sNSSAIList do not need them. Value 0 indicates that
1073 there is no minimum limit.";
1075 leaf rRMPolicyDedicatedRatio {
1078 description "Dedicated Ration.";
1080 description "Represents the RRMPolicyRatio concrete IOC.";
1084 grouping sNSSAIConfig{
1087 description "s-NSSAI of a network slice.";
1088 reference "3GPP TS 23.003";
1092 description "status of s-NSSAI";
1096 key "configParameter";
1097 description "List of configurations to be done at the network elements";
1101 grouping RRMPolicy_Group {
1103 "This IOC represents the properties of an abstract RRMPolicy. The RRMPolicy_ IOC
1104 needs to be subclassed to be instantiated. It defines two attributes apart from those
1105 inherited from Top IOC, the resourceType attribute defines type of resource (PRB, RRC
1106 connected users, DRB usage etc.) and the rRMPolicyMemberList attribute defines the
1107 RRMPolicyMember(s)that are subject to this policy. An RRM resource (defined in resourceType
1108 attribute) is located in NRCellDU, NRCellCU, GNBDUFunction, GNBCUCPFunction or in
1109 GNBCUUPFunction. The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
1110 inheritance in TS 28.541 Figure 4.2.1.2-1. This RRM framework allows adding new policies,
1111 both standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
1112 abstract RRMPolicy_ IOC.";
1117 "The resourceType attribute defines type of resource (PRB, RRC connected users,
1118 DRB usage etc.) that is subject to policy. Valid values are ''PRB'', ''RRC'' or ''DRB''";
1120 list rRMPolicyMemberList {
1128 "It represents the list of RRMPolicyMember (s) that the managed object
1129 is supporting. A RRMPolicyMember <<dataType>> include the PLMNId <<dataType>>
1130 and S-NSSAI <<dataType>>.";
1131 uses rRMPolicyMemberGroup;
1135 grouping GNBCUUPFunctionGroup {
1137 "Represents the GNBCUUPFunction IOC.";
1141 list RRMPolicyRatio {
1148 container attributes {
1149 uses RRMPolicyRatioGroup;
1151 description " The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
1152 inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both
1153 standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
1154 abstract RRMPolicy_ IOC. For details see subclause 4.3.36.";
1158 range "0..68719476735";
1163 "Identifies the gNB-CU-UP at least within a gNB-CU-CP";
1165 "''gNB-CU-UP ID'' in subclause 9.3.1.15 of 3GPP TS 38.463";
1169 range "0..4294967295";
1173 "Indicates the number of bits for encoding the gNB Id.";
1175 "gNB Id in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413";
1180 "The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs that
1181 can be served by the GNBCUUPFunction and which S-NSSAIs can be supported by the
1182 GNBCUUPFunction for corresponding PLMN in case of network slicing feature is supported";
1187 grouping GNBCUCPFunctionGroup {
1189 "Represents the GNBCUCPFunction IOC.";
1192 list RRMPolicyRatio {
1199 container attributes {
1200 uses RRMPolicyRatioGroup;
1202 description " The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
1203 inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both
1204 standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
1205 abstract RRMPolicy_ IOC. For details see subclause 4.3.36.";
1209 range "0..4294967295";
1213 "Identifies a gNB within a PLMN. The gNB Identifier (gNB ID)
1214 is part of the NR Cell Identifier (NCI) of the gNB cells.";
1216 "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413";
1224 "Indicates the number of bits for encoding the gNB ID.";
1226 "gNB ID in 3GPP TS 38.300, Global gNB ID in 3GPP TS 38.413";
1234 "Identifies the Central Unit of an gNB.";
1243 "The PLMN identifier to be used as part of the global RAN
1249 grouping NRCellCUGroup {
1251 "Represents the NRCellCU IOC.";
1260 "Identifies an NR cell of a gNB. Together with corresponding
1261 gNB ID it forms the NR Cell Identifier (NCI).";
1267 "The PLMNInfoList is a list of PLMNInfo data type. It defines which PLMNs
1268 that can be served by the NR cell, and which S-NSSAIs that can be supported by the
1269 NR cell for corresponding PLMN in case of network slicing feature is supported.";
1271 // Note: Whether the attribute pLMNId in the pLMNInfo can be writable depends on the implementation.
1273 list RRMPolicyRatio {
1280 container attributes {
1281 uses RRMPolicyRatioGroup;
1283 description " The RRMPolicyRatio IOC is one realization of a RRMPolicy_ IOC, see the
1284 inheritance in Figure 4.2.1.2-1. This RRM framework allows adding new policies, both
1285 standardized (like RRMPolicyRatio) or as vendor specific, by inheriting from the
1286 abstract RRMPolicy_ IOC. For details see subclause 4.3.36.";
1288 } // grouping NRCellCUGroup
1290 grouping NRCellRelationGroup {
1292 "Represents the NRCellRelation IOC.";
1298 "Target NR Cell Identifier. It consists of NR Cell
1299 Identifier (NCI) and Physical Cell Identifier of the target NR cell
1305 where name = 'cps-ran-schema-model2021-01-28.yang'
1306 and checksum = '436fef591eba7f38d1a0c5e3cbd3c122f01ab41dfab37cc5a9cbca1ed53b29fb';