1 module o-ran-sc-topology-additional-information {
3 namespace "urn:o-ran-sc:yang:o-ran-sc-topology-additional-information:1.0";
6 import ietf-yang-types {
9 "RFC 6991: Common YANG Data Types.";
13 "O-RAN Software Community";
17 "This module contains YANG definitions for the O-RAN Topology and its
18 additional information exposed northbound of the Service Management and
19 Orchestration framework (SMO).
20 By intention this yang model has no strict dependencies to other yang
21 modules defining data structures. The dependencies are only to type
23 In order to extend existing data tree the identifier of the data are
24 used. For example values of uuids or values of yang:instance-identifier are
25 used as references to the extended data tree.
27 Copyright 2022 the O-RAN Software Community.
29 Licensed under the Apache License, Version 2.0 (the 'License');
30 you may not use this file except in compliance with the License.
31 You may obtain a copy of the License at
33 http://www.apache.org/licenses/LICENSE-2.0
35 Unless required by applicable law or agreed to in writing, software
36 distributed under the License is distributed on an 'AS IS' BASIS,
37 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
38 See the License for the specific language governing permissions and
39 limitations under the License.";
45 "O-RAN-SC: https://jira.o-ran-sc.org/browse/OAM-248";
48 /* Type Definitions */
52 type instance-identifier {
53 require-instance false;
59 "This is an identification of the referenced resource, such as an
60 interface or a network function. It should be as fine-grained as
61 possible to both guide the operator and guarantee uniqueness of the
62 additional information.
64 If the extended resource is modeled in YANG, this type should
65 be an instance-identifier.
67 If the extended object is identified by a Universally Unique
68 Identifier (UUID), use the uuid type.
70 If the resource is anything else, for example, a distinguished
71 name or a Common Information Model (CIM) path, this type will
74 If the server supports several models, the precedence should
75 be in the order as given in the union definition.";
77 "This type definition is inspired by
78 RFC 8632: A YANG Data Model for Alarm Management
79 type definition 'resource'";
82 /* Type definitions */
89 "A human readable string.";
92 typedef slice-differentiator {
94 pattern '([0-9a-fA-F]{2}){3}';
98 "The slice-differentiator type represents an 3GPP TS 23.003 slice
99 differentiator. The canonical representation uses lowercase
102 "3GPP TS 28.003 V17.5.0 clause 28.4.2";
105 typedef tracking-area-code {
107 pattern '([0-9a-fA-F]{2}){3}';
110 "The tracking-area-code type represents an 3GPP TS 38.413 tracking
111 area code. The canonical representation uses lowercase characters.";
113 "3GPP TS 38.413 V17.0.0 clause 9.3.3.10";
116 /* Groupings (object classes) */
118 grouping area-label {
119 leaf tracking-area-code {
120 type tracking-area-code;
122 "An 3-octet string identifying a tracking area.";
128 "A human readable label of the tracking area.";
131 "A mapping table for tracking-area-codes to human readable labels.";
134 grouping slice-label {
135 leaf slice-differentiator {
136 type slice-differentiator;
138 "An 3-octet string identifying a slice.";
144 "A human readable label of the slice.";
147 "A mapping table for slice-differentiator to human readable labels.";
154 "A reference to an object instance. ";
159 "An human readable identifier of the resource.";
161 leaf tracking-area-code {
162 type tracking-area-code;
164 "An 3-octet string identifying a tracking area.";
166 leaf slice-differentiator {
167 type slice-differentiator;
169 "An 3-octet string identifying a network slice.";
174 "A list of short group identifiers for grouping of resources on runtime,
175 even the group identifiers are unknown during compile time.";
178 "An abstract object class with additional information of a resource.
179 The extended resource object instance is referenced by the 'resource'
185 container additional-information {
190 "A list for additional information where each row is identified by a
191 reference to the extended object instance.";
194 key "tracking-area-code";
197 "A list for additional information where each row is identified by a
198 tracking area code.";
201 key "slice-differentiator";
204 "A list for additional information where each row is identified by a
205 slice differentiator.";
208 "The root container of this module.";