Add LayerProtocolQualifier
[scp/oam/modeling.git] / data-model / yang / working / o-ran-sc / o-ran-sc-topology / o-ran-sc-topology-common.yang
1 module o-ran-sc-topology-common {
2   yang-version 1.1;
3   namespace "urn:o-ran-sc:yang:o-ran-sc-topology-common:1.0";
4   prefix osctc;
5
6   import ietf-interfaces {
7     prefix if;
8   }
9
10   import tapi-common {
11     prefix tapi-common;
12   }
13
14   organization
15     "O-RAN Software Community";
16   contact
17     "www.o-ran.org";
18   description
19     "This module contains YANG definitions for the O-RAN Topology augmentation
20      of TAPI Topology used as network model.
21
22      Copyright 2022 the O-RAN Software Community.
23
24      Licensed under the Apache License, Version 2.0 (the 'License');
25      you may not use this file except in compliance with the License.
26      You may obtain a copy of the License at
27
28      http://www.apache.org/licenses/LICENSE-2.0
29
30      Unless required by applicable law or agreed to in writing, software
31      distributed under the License is distributed on an 'AS IS' BASIS,
32      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
33      See the License for the specific language governing permissions and
34      limitations under the License.";
35
36   revision 2022-02-05 {
37     description
38       "Initial revision";
39     reference
40       "O-RAN-SC: https://jira.o-ran-sc.org/browse/OAM-248
41        O-RAN.WG1.O-RAN-Architecture-Description
42        Chapter: 1.3.1\tDefinitions";
43   }
44
45   // O-RAN functional identity types
46
47   identity function-type {
48     description
49       "Base identity as abstract function type for by O-RAN Alliance and others
50        entities.
51        An unique identification of a (network) function.
52
53        This identity is abstract and MUST NOT be used for alarms.";
54     reference
55       "O-RAN.WG1.O-RAN-Architecture-Description
56        Chapter: 1.3.1\tDefinitions
57        https://jira.o-ran-sc.org/browse/OAM-248";
58   }
59
60   identity smo {
61     base function-type;
62     description
63       "An identity corresponding to an
64        O-RAN Service Management and Orchestration Function (SMO).";
65   }
66
67   identity o-cloud {
68     base function-type;
69     description
70       "An identity corresponding to an O-RAN Cloud component (O-Cloud).";
71   }
72
73   identity non-rt-ric {
74     base function-type;
75     description
76       "An identity corresponding to an
77        O-RAN Service Management and Orchestration SMO component corresponding to
78        a Non-real-time RAN Intelligent Controller Function (Near-RT-RIC).";
79   }
80
81   identity oam-controller {
82     base function-type;
83     description
84       "An identity corresponding to an
85        O-RAN Service Management and Orchestration SMO component corresponding to
86        an Operation and Maintenance Controller Controller Function
87        (OAM Controller).";
88   }
89
90   identity ves-collector {
91     base function-type;
92     description
93       "An identity corresponding to an
94        O-RAN Service Management and Orchestration SMO component corresponding to
95        an (Virtual) Event Streaming Collector Function
96        (VES Collector).";
97   }
98
99   identity message-router {
100     base function-type;
101     description
102       "An identity corresponding to an
103        O-RAN Service Management and Orchestration SMO component corresponding to
104        Message Router Function (MR).";
105   }
106
107   identity transport-node {
108     base function-type;
109     description
110       "An identity corresponding to a Transport Node Function
111        (such as  Transponders, Muxponders, ROADM, Wavelength Selected Switch,
112        Optical Amplifier, Optical Terminal, Optical Repeater, Optical Filter,
113        Optical Multiplexer, Microwave Terminal, Carrier Ethernet Routers, ... .";
114   }
115
116   identity fronthaul-gateway {
117     base function-type;
118     description
119       "An identity corresponding to an O-RAN Fronthaul Gateway Function.";
120   }
121
122   identity fronthaul-multiplexer {
123     base function-type;
124     description
125       "An identity corresponding to an O-RAN Fronthaul Multiplexer Function.";
126   }
127
128   identity near-rt-ric {
129     base function-type;
130     description
131       "An identity corresponding to an O-RAN Near real-time RAN intelligent
132        controller Function (NEar-RT-RIC).";
133   }
134
135   identity managed-application {
136     base function-type;
137     description
138       "An identity corresponding to an O-RAN Managed Application Function (MA),
139        also called 'xApp'.";
140   }
141
142   identity o-cu {
143     base function-type;
144     description
145       "An identity corresponding to an O-RAN Central Unit Functions.";
146   }
147
148   identity o-cu-up {
149     base function-type;
150     description
151       "An identity corresponding to an O-RAN Central Unit User Plane Function.";
152   }
153
154   identity o-cu-cp {
155     base function-type;
156     description
157       "An identity corresponding to an O-RAN Central Unit Control Plane
158        Function.";
159   }
160
161   identity o-du {
162     base function-type;
163     description
164       "An identity corresponding to an O-RAN Distributed Unit Function.";
165   }
166
167   identity o-ru {
168     base function-type;
169     description
170       "An identity corresponding to an O-RAN Radio Unit Function.";
171   }
172
173   identity o-enb {
174     base function-type;
175     description
176       "An identity corresponding to an O-RAN E-UTRAN Node B Function.
177        E-UTRAN: evolved UMTS Terrestrial Radio Access";
178   }
179
180   identity user-equipment {
181     base function-type;
182     description
183       "An identity corresponding to an User Equipment Function.";
184   }
185
186   identity o-cloud-ims {
187     base function-type;
188     description
189       "An identity corresponding to an Infrastructure Management Service
190        Function (IMS).";
191   }
192
193   identity o-cloud-dms {
194     base function-type;
195     description
196       "An identity corresponding to a
197        Deployment Management Service Function (DMS).";
198   }
199
200   // O-RAN interface types
201
202   identity interface-type {
203     base if:interface-type;
204     description
205       "Base identity for interface types used in RAN, Transport and Core.
206        A unique identification of the management interface.
207        This identity is abstract and MUST NOT be used as a value.";
208   }
209
210   identity a1 {
211     base interface-type;
212     description
213       "An identity for the a1 interface between Non-RT-RIC and Near-RT-RIC.";
214   }
215
216   identity e1 {
217     base interface-type;
218     description
219       "An identity for the e1 interface defined by 3GPP.";
220   }
221
222   identity e2 {
223     base interface-type;
224     description
225       "An identity for the e2 interface as defined by O-RAN Alliance.";
226   }
227
228   identity o1 {
229     base interface-type;
230     description
231       "An identity for the operation and maintenance management interface
232        for network functions as defined by the O-RAN-Alliance as extension
233        to 3GPP NG NRM.";
234   }
235
236   identity o2 {
237     base interface-type;
238     description
239       "An identity for the operation and maintenance management interface
240        for a cloud infrastructure service and a could deployment service
241        (O-Cloud).";
242   }
243
244   identity open-fronthaul-management-plane {
245     base interface-type;
246     description
247       "An identity for the operation and maintenance management interface for
248        O-RU functions.";
249   }
250
251   identity transport-management-interface {
252     base interface-type;
253     description
254       "An identity for a yang based management interface for transport nodes.";
255   }
256
257   // O-RAN-SC LAYER_PROTOCOL_QUALIFIER
258   identity LAYER_PROTOCOL_QUALIFIER {
259     base tapi-common:LAYER_PROTOCOL_QUALIFIER;
260     description
261       "Base identity for layer protocol qualifiers used in RAN, Transport and Core.
262        A unique identification of layer protocol qualifiers. 
263        Typically the layer protocol qualifier is used to identify the interface 
264        protocol, like VES or NETCONF. 
265        This identity is abstract and MUST NOT be used as a value.";
266   }
267
268   identity unknown {
269     base LAYER_PROTOCOL_QUALIFIER;
270     description
271       "An identity for an unknown qualifier.";
272   }
273   
274   identity file {
275     base LAYER_PROTOCOL_QUALIFIER;
276     description
277       "An identity for a FILE transfer protocol qualifier.";
278   }
279
280   identity grpc {
281     base LAYER_PROTOCOL_QUALIFIER;
282     description
283       "An identity for an generic remote procedure call (gRPC) protocol qualifier.";
284   }
285
286   identity netconf {
287     base LAYER_PROTOCOL_QUALIFIER;
288     description
289       "An identity for a NETCONF protocol qualifier.";
290   }
291
292   identity rest {
293     base LAYER_PROTOCOL_QUALIFIER;
294     description
295       "An identity for a REST protocol qualifier.";
296   }
297
298   identity restconf {
299     base LAYER_PROTOCOL_QUALIFIER;
300     description
301       "An identity for a RESTCONF protocol qualifier.";
302   }
303
304   identity ves {
305     base LAYER_PROTOCOL_QUALIFIER;
306     description
307       "An identity for an REST based event stream (VES) protocol qualifier.";
308   }
309
310   identity ofh {
311     base LAYER_PROTOCOL_QUALIFIER;
312     description
313       "An identity for an O-RAN Fronthaul based protocol qualifier.";
314   }
315
316 }