Refactor folder structure.
[sim/o1-interface.git] / ntsimulator / yang / o-ran-sc / o-ran-ru / o-ran-sc-interfaces-v1.yang
1 module o-ran-sc-interfaces-v1 {
2   yang-version 1.1;
3   namespace "urn:o-ran:sc:interfaces:1.0";
4   prefix oif;
5
6   import o-ran-sc-root-v1 {
7     prefix root;
8   }
9   import ietf-interfaces {
10     prefix if;
11     reference
12       "RFC 8343: A YANG Data Model for Interface Management";
13   }
14
15   organization
16     "O-RAN Software Community";
17   contact
18     "www.o-ran-sc.org";
19   description
20     "This module augements the o-ran-sc-controlled-function object by adding
21      ietf-interfaces.
22
23      Copyright 2020 the O-RAN Alliance.
24
25      Licensed under the Apache License, Version 2.0 (the 'License');
26      you may not use this file except in compliance with the License.
27      You may obtain a copy of the License at
28
29      http://www.apache.org/licenses/LICENSE-2.0
30
31      Unless required by applicable law or agreed to in writing, software
32      distributed under the License is distributed on an 'AS IS' BASIS,
33      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
34      See the License for the specific language governing permissions and
35      limitations under the License.";
36
37   revision 2020-03-09 {
38     description
39       "initial revision";
40     reference
41       "O-RAN-OAM-Interface-Specification (O1)";
42   }
43
44   identity a1-interface {
45     base if:interface-type;
46     description
47       "Represents an O-RAN A1 interface towards SMO.";
48     reference
49       "O-RAN OAM interface specification.";
50   }
51
52   identity e1-interface {
53     base if:interface-type;
54     description
55       "Represents an O-RAN E1 interface.";
56     reference
57       "O-RAN OAM interface specification.";
58   }
59
60   identity e2-interface {
61     base if:interface-type;
62     description
63       "Represents an O-RAN E2 interface towards Near Real Time RIC.";
64     reference
65       "O-RAN OAM interface specification.";
66   }
67
68   identity f1-interface {
69     base if:interface-type;
70     description
71       "Represents an O-RAN F1 interface.";
72     reference
73       "O-RAN OAM interface specification.";
74   }
75
76   identity o1-interface {
77     base if:interface-type;
78     description
79       "Represents an O-RAN OAM interface towards SMO.";
80     reference
81       "O-RAN OAM interface specification.";
82   }
83
84   identity open-fronthaul-interface {
85     base if:interface-type;
86     description
87       "Represents an O-RAN Open Fronthaul interface towards an O-DU.";
88     reference
89       "O-RAN OAM interface specification.";
90   }
91
92   grouping interfaces-grp {
93     leaf-list interface-reference  {
94       type if:interface-ref;
95       config false;
96       description 
97         "A list of ietf-interfaces references using the interface name as key.";
98     }
99     description 
100       "A group adding ietf-interface references.";
101   }
102   augment "/root:controlled-element/root:controlled-function" {
103     uses interfaces-grp;
104     description
105       "An augmentation, which adds ietf-interfaces 
106        to root:controlled-function.";
107   }
108 }